diff --git a/order/.classpath b/order/.classpath new file mode 100644 index 0000000..8131be0 --- /dev/null +++ b/order/.classpath @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/order/.project b/order/.project new file mode 100644 index 0000000..4aacb4f --- /dev/null +++ b/order/.project @@ -0,0 +1,23 @@ + + + chapter3-order + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/order/.settings/org.eclipse.core.resources.prefs b/order/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..f022440 --- /dev/null +++ b/order/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +encoding//src/test/java=UTF-8 +encoding//src/test/resources=UTF-8 +encoding/=UTF-8 diff --git a/order/.settings/org.eclipse.jdt.core.prefs b/order/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..2f5cc74 --- /dev/null +++ b/order/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/order/.settings/org.eclipse.m2e.core.prefs b/order/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/order/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/order/README.md b/order/README.md new file mode 100644 index 0000000..9fcb712 --- /dev/null +++ b/order/README.md @@ -0,0 +1,36 @@ +Chapter 3 - order +---------------- + +This directory holds examples related to converting messages that contain domain objects (in this case PurchaseOrder). + +### 3.3.2 - Transforming from XML to a POJO using JAXB + +This example can be run using: + + mvn test -Dtest=PurchaseOrderJaxbTest + +### 3.4.2 - Using Camel’s CSV data format + +This example can be run using: + + mvn test -Dtest=PurchaseOrderCsvTest + mvn test -Dtest=PurchaseOrderCsvSpringTest + +### 3.4.3 - Using Camel’s Bindy data format + + This example can be run using: + + mvn test –Dtest=PurchaseOrderBindyTest + mvn test –Dtest=PurchaseOrderUnmarshalBindyTest + +### 3.4.4 - Using Camel’s JSON data format + + This example can be run using: + + mvn test –Dtest=PurchaseOrderJSONTest + +### 3.5.1 - Using Apache Velocity + + This example can be run using: + + mvn test -Dtest=PurchaseOrderVelocityTest diff --git a/order/pom.xml b/order/pom.xml new file mode 100644 index 0000000..f75b670 --- /dev/null +++ b/order/pom.xml @@ -0,0 +1,104 @@ + + + 4.0.0 + + + com.camelinaction + chapter3 + 2.0.0 + .. + + + chapter3-order + Camel in Action 2 :: Chapter 3 :: Order Transformation + + + + + + javax.xml.bind + jaxb-api + 2.3.1 + + + + + org.apache.camel + camel-core + + + + org.apache.camel + camel-spring + + + + + org.apache.camel + camel-jaxb + + + + + org.apache.camel + camel-csv + + + + + org.apache.camel + camel-bindy + + + + + org.apache.camel + camel-jackson + + + + + org.apache.camel + camel-jetty + + + + + org.apache.camel + camel-velocity + + + + org.apache.camel + camel-test-spring + test + + + + org.apache.camel + camel-http + test + + + + log4j + log4j + test + + + + org.slf4j + slf4j-log4j12 + test + + + + junit + junit + test + + + + + diff --git a/order/src/test/java/camelinaction/PurchaseOrder.java b/order/src/test/java/camelinaction/PurchaseOrder.java new file mode 100644 index 0000000..66a2a30 --- /dev/null +++ b/order/src/test/java/camelinaction/PurchaseOrder.java @@ -0,0 +1,42 @@ +package camelinaction; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) +public class PurchaseOrder { + @XmlAttribute + private String name; + @XmlAttribute + private double price; + @XmlAttribute + private double amount; + + public double getAmount() { + return amount; + } + + public void setAmount(double amount) { + this.amount = amount; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } + +} diff --git a/order/src/test/java/camelinaction/PurchaseOrderCsvSpringTest.java b/order/src/test/java/camelinaction/PurchaseOrderCsvSpringTest.java new file mode 100644 index 0000000..ffa9733 --- /dev/null +++ b/order/src/test/java/camelinaction/PurchaseOrderCsvSpringTest.java @@ -0,0 +1,36 @@ +package camelinaction; + +import java.util.List; + +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.test.spring.CamelSpringTestSupport; +import org.junit.Test; +import org.springframework.context.support.AbstractXmlApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +public class PurchaseOrderCsvSpringTest extends CamelSpringTestSupport { + + @SuppressWarnings("unchecked") + @Test + public void testCsv() throws Exception { + MockEndpoint mock = getMockEndpoint("mock:queue.csv"); + mock.expectedMessageCount(2); + + assertMockEndpointsSatisfied(); + + List line1 = mock.getReceivedExchanges().get(0).getIn().getBody(List.class); + assertEquals("Camel in Action", line1.get(0)); + assertEquals("6999", line1.get(1)); + assertEquals("1", line1.get(2)); + + List line2 = mock.getReceivedExchanges().get(1).getIn().getBody(List.class); + assertEquals("Activemq in Action", line2.get(0)); + assertEquals("4495", line2.get(1)); + assertEquals("2", line2.get(2)); + } + + @Override + protected AbstractXmlApplicationContext createApplicationContext() { + return new ClassPathXmlApplicationContext("camelinaction/order-csv.xml"); + } +} diff --git a/order/src/test/java/camelinaction/PurchaseOrderCsvTest.java b/order/src/test/java/camelinaction/PurchaseOrderCsvTest.java new file mode 100644 index 0000000..98b1856 --- /dev/null +++ b/order/src/test/java/camelinaction/PurchaseOrderCsvTest.java @@ -0,0 +1,45 @@ +package camelinaction; + +import java.util.List; + +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.test.junit4.CamelTestSupport; +import org.junit.Test; + +public class PurchaseOrderCsvTest extends CamelTestSupport { + + @SuppressWarnings("unchecked") + @Test + public void testCsv() throws Exception { + MockEndpoint mock = getMockEndpoint("mock:queue.csv"); + mock.expectedMessageCount(2); + + assertMockEndpointsSatisfied(); + + List line1 = mock.getReceivedExchanges().get(0).getIn().getBody(List.class); + assertEquals("Camel in Action", line1.get(0)); + assertEquals("6999", line1.get(1)); + assertEquals("1", line1.get(2)); + + List line2 = mock.getReceivedExchanges().get(1).getIn().getBody(List.class); + assertEquals("Activemq in Action", line2.get(0)); + assertEquals("4495", line2.get(1)); + assertEquals("2", line2.get(2)); + } + + @Override + protected RouteBuilder createRouteBuilder() throws Exception { + return new RouteBuilder() { + @Override + public void configure() throws Exception { + context.setTracing(true); + + from("file://src/test/resources?noop=true&fileName=order.csv") + .unmarshal().csv() + .split(body()) + .to("mock:queue.csv"); + } + }; + } +} diff --git a/order/src/test/java/camelinaction/PurchaseOrderJSONTest.java b/order/src/test/java/camelinaction/PurchaseOrderJSONTest.java new file mode 100644 index 0000000..921fc3f --- /dev/null +++ b/order/src/test/java/camelinaction/PurchaseOrderJSONTest.java @@ -0,0 +1,66 @@ +package camelinaction; + +import org.apache.camel.Header; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.impl.JndiRegistry; +import org.apache.camel.model.dataformat.JsonLibrary; +import org.apache.camel.test.junit4.CamelTestSupport; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Example how to use JSON data format with the camel-jackson component. + *

+ * We use camel-jetty to expose a HTTP service which returns the JSON response. + */ +public class PurchaseOrderJSONTest extends CamelTestSupport { + + private static Logger LOG = LoggerFactory.getLogger(PurchaseOrderJSONTest.class); + + @Override + protected JndiRegistry createRegistry() throws Exception { + // register our service bean in the Camel registry + JndiRegistry jndi = super.createRegistry(); + jndi.bind("orderService", new OrderServiceBean()); + return jndi; + } + + @Test + public void testJSON() throws Exception { + String out = template.requestBody("jetty:http://localhost:8080/order/service?id=123", null, String.class); + LOG.info("Response from order service: " + out); + + assertNotNull(out); + assertTrue(out.contains("Camel in Action")); + } + + @Override + protected RouteBuilder createRouteBuilder() throws Exception { + return new RouteBuilder() { + @Override + public void configure() throws Exception { + from("jetty://http://0.0.0.0:8080/order/service") + .bean("orderService", "lookup") + .marshal().json(JsonLibrary.Jackson); + } + }; + } + + public static class OrderServiceBean { + + public PurchaseOrder lookup(@Header("id") String id) { + LOG.info("Finding purchase order for id " + id); + // just return a fixed response + PurchaseOrder order = new PurchaseOrder(); + order.setPrice(69.99); + order.setAmount(1); + order.setName("Camel in Action"); + return order; + } + + } + +} + + diff --git a/order/src/test/java/camelinaction/PurchaseOrderJaxbTest.java b/order/src/test/java/camelinaction/PurchaseOrderJaxbTest.java new file mode 100644 index 0000000..b3357c7 --- /dev/null +++ b/order/src/test/java/camelinaction/PurchaseOrderJaxbTest.java @@ -0,0 +1,31 @@ +package camelinaction; + +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.test.spring.CamelSpringTestSupport; +import org.junit.Test; +import org.springframework.context.support.AbstractXmlApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +public class PurchaseOrderJaxbTest extends CamelSpringTestSupport { + + @Test + public void testJaxb() throws Exception { + MockEndpoint mock = getMockEndpoint("mock:order"); + mock.expectedMessageCount(1); + mock.message(0).body().isInstanceOf(PurchaseOrder.class); + + PurchaseOrder order = new PurchaseOrder(); + order.setName("Camel in Action"); + order.setPrice(6999); + order.setAmount(1); + + template.sendBody("direct:order", order); + + assertMockEndpointsSatisfied(); + } + + @Override + protected AbstractXmlApplicationContext createApplicationContext() { + return new ClassPathXmlApplicationContext("camelinaction/order-jaxb.xml"); + } +} diff --git a/order/src/test/java/camelinaction/PurchaseOrderVelocityTest.java b/order/src/test/java/camelinaction/PurchaseOrderVelocityTest.java new file mode 100644 index 0000000..2a612d4 --- /dev/null +++ b/order/src/test/java/camelinaction/PurchaseOrderVelocityTest.java @@ -0,0 +1,43 @@ +package camelinaction; + +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.test.junit4.CamelTestSupport; +import org.junit.Test; + +public class PurchaseOrderVelocityTest extends CamelTestSupport { + + @Test + public void testVelocity() throws Exception { + MockEndpoint mock = getMockEndpoint("mock:mail"); + mock.expectedMessageCount(1); + mock.message(0).header("Subject").isEqualTo("Thanks for ordering"); + mock.message(0).header("From").isEqualTo("donotreply@riders.com"); + mock.message(0).body().contains("Thank you for ordering 1.0 piece(s) of Camel in Action at a cost of 6999.0."); + + PurchaseOrder order = new PurchaseOrder(); + order.setName("Camel in Action"); + order.setPrice(6999); + order.setAmount(1); + + template.sendBody("direct:mail", order); + + assertMockEndpointsSatisfied(); + } + + @Override + protected RouteBuilder createRouteBuilder() throws Exception { + return new RouteBuilder() { + @Override + public void configure() throws Exception { + from("direct:mail") + .setHeader("Subject", constant("Thanks for ordering")) + .setHeader("From", constant("donotreply@riders.com")) + .to("velocity://camelinaction/mail.vm") + .to("log:mail") + .to("mock:mail"); + } + }; + } + +} diff --git a/order/src/test/java/camelinaction/bindy/PurchaseOrder.java b/order/src/test/java/camelinaction/bindy/PurchaseOrder.java new file mode 100644 index 0000000..563eaa7 --- /dev/null +++ b/order/src/test/java/camelinaction/bindy/PurchaseOrder.java @@ -0,0 +1,43 @@ +package camelinaction.bindy; + +import java.math.BigDecimal; + +import org.apache.camel.dataformat.bindy.annotation.CsvRecord; +import org.apache.camel.dataformat.bindy.annotation.DataField; + +@CsvRecord(separator = ",", crlf = "UNIX") +public class PurchaseOrder { + + @DataField(pos = 1) + private String name; + + @DataField(pos = 2, precision = 2) + private BigDecimal price; + + @DataField(pos = 3) + private int amount; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public BigDecimal getPrice() { + return price; + } + + public void setPrice(BigDecimal price) { + this.price = price; + } + + public int getAmount() { + return amount; + } + + public void setAmount(int amount) { + this.amount = amount; + } +} diff --git a/order/src/test/java/camelinaction/bindy/PurchaseOrderBindyTest.java b/order/src/test/java/camelinaction/bindy/PurchaseOrderBindyTest.java new file mode 100644 index 0000000..8d2b70f --- /dev/null +++ b/order/src/test/java/camelinaction/bindy/PurchaseOrderBindyTest.java @@ -0,0 +1,64 @@ +package camelinaction.bindy; + +import java.math.BigDecimal; +import java.util.Locale; + +import junit.framework.TestCase; +import org.apache.camel.CamelContext; +import org.apache.camel.ProducerTemplate; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.impl.DefaultCamelContext; +import org.apache.camel.model.dataformat.BindyType; +import org.junit.Test; + +public class PurchaseOrderBindyTest extends TestCase { + + private Locale locale; + + @Override + protected void setUp() throws Exception { + super.setUp(); + // use US locale for testing so we use dot as decimal in the price + locale = Locale.getDefault(); + Locale.setDefault(Locale.US); + } + + @Override + protected void tearDown() throws Exception { + super.tearDown(); + // restore back + Locale.setDefault(locale); + } + + @Test + public void testBindy() throws Exception { + CamelContext context = new DefaultCamelContext(); + context.addRoutes(createRoute()); + context.start(); + + MockEndpoint mock = context.getEndpoint("mock:result", MockEndpoint.class); + mock.expectedBodiesReceived("Camel in Action,69.99,1\n"); + + PurchaseOrder order = new PurchaseOrder(); + order.setAmount(1); + order.setPrice(new BigDecimal("69.99")); + order.setName("Camel in Action"); + + ProducerTemplate template = context.createProducerTemplate(); + template.sendBody("direct:toCsv", order); + + mock.assertIsSatisfied(); + } + + public RouteBuilder createRoute() { + return new RouteBuilder() { + public void configure() throws Exception { + from("direct:toCsv") + .marshal().bindy(BindyType.Csv, camelinaction.bindy.PurchaseOrder.class) + .to("mock:result"); + } + }; + } + +} diff --git a/order/src/test/java/camelinaction/bindy/PurchaseOrderUnmarshalBindyTest.java b/order/src/test/java/camelinaction/bindy/PurchaseOrderUnmarshalBindyTest.java new file mode 100644 index 0000000..0769159 --- /dev/null +++ b/order/src/test/java/camelinaction/bindy/PurchaseOrderUnmarshalBindyTest.java @@ -0,0 +1,84 @@ +package camelinaction.bindy; + +import java.util.List; +import java.util.Map; + +import junit.framework.TestCase; +import org.apache.camel.CamelContext; +import org.apache.camel.ProducerTemplate; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.impl.DefaultCamelContext; +import org.apache.camel.model.dataformat.BindyType; +import org.junit.Test; + +/** + * Test that demonstrates how to turn a CSV into a Object using bindy + */ +public class PurchaseOrderUnmarshalBindyTest extends TestCase { + + @Test + public void testUnmarshalBindyMultipleRows() throws Exception { + CamelContext context = new DefaultCamelContext(); + context.addRoutes(createRoute()); + context.start(); + + MockEndpoint mock = context.getEndpoint("mock:result", MockEndpoint.class); + mock.expectedMessageCount(1); + + ProducerTemplate template = context.createProducerTemplate(); + template.sendBody("direct:toObject", "Camel in Action,39.95,1\nActiveMQ in Action,39.95,1"); + + mock.assertIsSatisfied(); + + // bindy now turned that into a list of rows so we need to grab the order from the list + List rows = mock.getReceivedExchanges().get(0).getIn().getBody(List.class); + PurchaseOrder order = (PurchaseOrder) rows.get(0); + assertNotNull(order); + PurchaseOrder order2 = (PurchaseOrder) rows.get(1); + assertNotNull(order2); + + // assert the order contains the expected data + assertEquals("Camel in Action", order.getName()); + assertEquals("39.95", order.getPrice().toString()); + assertEquals(1, order.getAmount()); + assertEquals("ActiveMQ in Action", order2.getName()); + assertEquals("39.95", order2.getPrice().toString()); + assertEquals(1, order2.getAmount()); + } + + @Test + public void testUnmarshalBindy() throws Exception { + CamelContext context = new DefaultCamelContext(); + context.addRoutes(createRoute()); + context.start(); + + MockEndpoint mock = context.getEndpoint("mock:result", MockEndpoint.class); + mock.expectedMessageCount(1); + + ProducerTemplate template = context.createProducerTemplate(); + template.sendBody("direct:toObject", "Camel in Action,39.95,1"); + + mock.assertIsSatisfied(); + + // bindy returns the order directly (not in a list) if there is only one element + PurchaseOrder order = mock.getReceivedExchanges().get(0).getIn().getBody(PurchaseOrder.class); + assertNotNull(order); + + // assert the order contains the expected data + assertEquals("Camel in Action", order.getName()); + assertEquals("39.95", order.getPrice().toString()); + assertEquals(1, order.getAmount()); + } + + public RouteBuilder createRoute() { + return new RouteBuilder() { + public void configure() throws Exception { + from("direct:toObject") + .unmarshal().bindy(BindyType.Csv, camelinaction.bindy.PurchaseOrder.class) + .to("mock:result"); + } + }; + } + +} diff --git a/order/src/test/resources/camelinaction/jaxb.index b/order/src/test/resources/camelinaction/jaxb.index new file mode 100644 index 0000000..7349d1b --- /dev/null +++ b/order/src/test/resources/camelinaction/jaxb.index @@ -0,0 +1 @@ +PurchaseOrder \ No newline at end of file diff --git a/order/src/test/resources/camelinaction/mail.vm b/order/src/test/resources/camelinaction/mail.vm new file mode 100644 index 0000000..555718c --- /dev/null +++ b/order/src/test/resources/camelinaction/mail.vm @@ -0,0 +1,5 @@ +Dear customer + +Thank you for ordering ${body.amount} piece(s) of ${body.name} at a cost of ${body.price}. + +This is an automated email, please do not reply. \ No newline at end of file diff --git a/order/src/test/resources/camelinaction/order-csv.xml b/order/src/test/resources/camelinaction/order-csv.xml new file mode 100644 index 0000000..e058717 --- /dev/null +++ b/order/src/test/resources/camelinaction/order-csv.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + body + + + + + + + diff --git a/order/src/test/resources/camelinaction/order-jaxb.xml b/order/src/test/resources/camelinaction/order-jaxb.xml new file mode 100644 index 0000000..fbd80e4 --- /dev/null +++ b/order/src/test/resources/camelinaction/order-jaxb.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/order/src/test/resources/log4j.properties b/order/src/test/resources/log4j.properties new file mode 100644 index 0000000..b0c9b1f --- /dev/null +++ b/order/src/test/resources/log4j.properties @@ -0,0 +1,12 @@ +# +# The logging properties used during tests.. +# +log4j.rootLogger=INFO, out + +#log4j.logger.org.apache.camel=DEBUG + +# CONSOLE appender not used by default +log4j.appender.out=org.apache.log4j.ConsoleAppender +log4j.appender.out.layout=org.apache.log4j.PatternLayout +log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n + diff --git a/order/src/test/resources/order.csv b/order/src/test/resources/order.csv new file mode 100644 index 0000000..afb8ce2 --- /dev/null +++ b/order/src/test/resources/order.csv @@ -0,0 +1,2 @@ +Camel in Action,6999,1 +Activemq in Action,4495,2 diff --git a/order/target/chapter3-order-2.0.0.jar b/order/target/chapter3-order-2.0.0.jar new file mode 100644 index 0000000..286b982 Binary files /dev/null and b/order/target/chapter3-order-2.0.0.jar differ diff --git a/order/target/maven-archiver/pom.properties b/order/target/maven-archiver/pom.properties new file mode 100644 index 0000000..94a84af --- /dev/null +++ b/order/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Apache Maven +#Sat Mar 27 12:36:03 IST 2021 +groupId=com.camelinaction +artifactId=chapter3-order +version=2.0.0 diff --git a/order/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/order/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..53403b6 --- /dev/null +++ b/order/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -0,0 +1,15 @@ +camelinaction\PurchaseOrderJSONTest$1.class +camelinaction\PurchaseOrderJSONTest$OrderServiceBean.class +camelinaction\PurchaseOrderJSONTest.class +camelinaction\bindy\PurchaseOrderBindyTest.class +camelinaction\bindy\PurchaseOrderUnmarshalBindyTest$1.class +camelinaction\PurchaseOrder.class +camelinaction\PurchaseOrderCsvSpringTest.class +camelinaction\PurchaseOrderCsvTest$1.class +camelinaction\PurchaseOrderVelocityTest$1.class +camelinaction\bindy\PurchaseOrder.class +camelinaction\bindy\PurchaseOrderBindyTest$1.class +camelinaction\bindy\PurchaseOrderUnmarshalBindyTest.class +camelinaction\PurchaseOrderVelocityTest.class +camelinaction\PurchaseOrderCsvTest.class +camelinaction\PurchaseOrderJaxbTest.class diff --git a/order/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/order/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..2fa44bd --- /dev/null +++ b/order/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -0,0 +1,9 @@ +G:\Project\FuseTraining\Projects\FusePOC\camelinaction2-master\chapter3\order\src\test\java\camelinaction\PurchaseOrderJaxbTest.java +G:\Project\FuseTraining\Projects\FusePOC\camelinaction2-master\chapter3\order\src\test\java\camelinaction\PurchaseOrderCsvSpringTest.java +G:\Project\FuseTraining\Projects\FusePOC\camelinaction2-master\chapter3\order\src\test\java\camelinaction\bindy\PurchaseOrderBindyTest.java +G:\Project\FuseTraining\Projects\FusePOC\camelinaction2-master\chapter3\order\src\test\java\camelinaction\bindy\PurchaseOrder.java +G:\Project\FuseTraining\Projects\FusePOC\camelinaction2-master\chapter3\order\src\test\java\camelinaction\PurchaseOrder.java +G:\Project\FuseTraining\Projects\FusePOC\camelinaction2-master\chapter3\order\src\test\java\camelinaction\PurchaseOrderJSONTest.java +G:\Project\FuseTraining\Projects\FusePOC\camelinaction2-master\chapter3\order\src\test\java\camelinaction\bindy\PurchaseOrderUnmarshalBindyTest.java +G:\Project\FuseTraining\Projects\FusePOC\camelinaction2-master\chapter3\order\src\test\java\camelinaction\PurchaseOrderCsvTest.java +G:\Project\FuseTraining\Projects\FusePOC\camelinaction2-master\chapter3\order\src\test\java\camelinaction\PurchaseOrderVelocityTest.java diff --git a/order/target/surefire-reports/TEST-camelinaction.PurchaseOrderCsvSpringTest.xml b/order/target/surefire-reports/TEST-camelinaction.PurchaseOrderCsvSpringTest.xml new file mode 100644 index 0000000..3614303 --- /dev/null +++ b/order/target/surefire-reports/TEST-camelinaction.PurchaseOrderCsvSpringTest.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/order/target/surefire-reports/TEST-camelinaction.PurchaseOrderCsvTest.xml b/order/target/surefire-reports/TEST-camelinaction.PurchaseOrderCsvTest.xml new file mode 100644 index 0000000..54cc01e --- /dev/null +++ b/order/target/surefire-reports/TEST-camelinaction.PurchaseOrderCsvTest.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/order/target/surefire-reports/TEST-camelinaction.PurchaseOrderJSONTest.xml b/order/target/surefire-reports/TEST-camelinaction.PurchaseOrderJSONTest.xml new file mode 100644 index 0000000..224b81c --- /dev/null +++ b/order/target/surefire-reports/TEST-camelinaction.PurchaseOrderJSONTest.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/order/target/surefire-reports/TEST-camelinaction.PurchaseOrderJaxbTest.xml b/order/target/surefire-reports/TEST-camelinaction.PurchaseOrderJaxbTest.xml new file mode 100644 index 0000000..945e88b --- /dev/null +++ b/order/target/surefire-reports/TEST-camelinaction.PurchaseOrderJaxbTest.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/order/target/surefire-reports/TEST-camelinaction.PurchaseOrderVelocityTest.xml b/order/target/surefire-reports/TEST-camelinaction.PurchaseOrderVelocityTest.xml new file mode 100644 index 0000000..33c53dc --- /dev/null +++ b/order/target/surefire-reports/TEST-camelinaction.PurchaseOrderVelocityTest.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/order/target/surefire-reports/TEST-camelinaction.bindy.PurchaseOrderBindyTest.xml b/order/target/surefire-reports/TEST-camelinaction.bindy.PurchaseOrderBindyTest.xml new file mode 100644 index 0000000..d960e95 --- /dev/null +++ b/order/target/surefire-reports/TEST-camelinaction.bindy.PurchaseOrderBindyTest.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/order/target/surefire-reports/TEST-camelinaction.bindy.PurchaseOrderUnmarshalBindyTest.xml b/order/target/surefire-reports/TEST-camelinaction.bindy.PurchaseOrderUnmarshalBindyTest.xml new file mode 100644 index 0000000..1904180 --- /dev/null +++ b/order/target/surefire-reports/TEST-camelinaction.bindy.PurchaseOrderUnmarshalBindyTest.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/order/target/surefire-reports/camelinaction.PurchaseOrderCsvSpringTest.txt b/order/target/surefire-reports/camelinaction.PurchaseOrderCsvSpringTest.txt new file mode 100644 index 0000000..b8f3205 --- /dev/null +++ b/order/target/surefire-reports/camelinaction.PurchaseOrderCsvSpringTest.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: camelinaction.PurchaseOrderCsvSpringTest +------------------------------------------------------------------------------- +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.538 sec - in camelinaction.PurchaseOrderCsvSpringTest diff --git a/order/target/surefire-reports/camelinaction.PurchaseOrderCsvTest.txt b/order/target/surefire-reports/camelinaction.PurchaseOrderCsvTest.txt new file mode 100644 index 0000000..91d89a1 --- /dev/null +++ b/order/target/surefire-reports/camelinaction.PurchaseOrderCsvTest.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: camelinaction.PurchaseOrderCsvTest +------------------------------------------------------------------------------- +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.1 sec - in camelinaction.PurchaseOrderCsvTest diff --git a/order/target/surefire-reports/camelinaction.PurchaseOrderJSONTest.txt b/order/target/surefire-reports/camelinaction.PurchaseOrderJSONTest.txt new file mode 100644 index 0000000..eca5125 --- /dev/null +++ b/order/target/surefire-reports/camelinaction.PurchaseOrderJSONTest.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: camelinaction.PurchaseOrderJSONTest +------------------------------------------------------------------------------- +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.276 sec - in camelinaction.PurchaseOrderJSONTest diff --git a/order/target/surefire-reports/camelinaction.PurchaseOrderJaxbTest.txt b/order/target/surefire-reports/camelinaction.PurchaseOrderJaxbTest.txt new file mode 100644 index 0000000..21d776f --- /dev/null +++ b/order/target/surefire-reports/camelinaction.PurchaseOrderJaxbTest.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: camelinaction.PurchaseOrderJaxbTest +------------------------------------------------------------------------------- +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.795 sec - in camelinaction.PurchaseOrderJaxbTest diff --git a/order/target/surefire-reports/camelinaction.PurchaseOrderVelocityTest.txt b/order/target/surefire-reports/camelinaction.PurchaseOrderVelocityTest.txt new file mode 100644 index 0000000..8c8f2fd --- /dev/null +++ b/order/target/surefire-reports/camelinaction.PurchaseOrderVelocityTest.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: camelinaction.PurchaseOrderVelocityTest +------------------------------------------------------------------------------- +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.546 sec - in camelinaction.PurchaseOrderVelocityTest diff --git a/order/target/surefire-reports/camelinaction.bindy.PurchaseOrderBindyTest.txt b/order/target/surefire-reports/camelinaction.bindy.PurchaseOrderBindyTest.txt new file mode 100644 index 0000000..233f77d --- /dev/null +++ b/order/target/surefire-reports/camelinaction.bindy.PurchaseOrderBindyTest.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: camelinaction.bindy.PurchaseOrderBindyTest +------------------------------------------------------------------------------- +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.701 sec - in camelinaction.bindy.PurchaseOrderBindyTest diff --git a/order/target/surefire-reports/camelinaction.bindy.PurchaseOrderUnmarshalBindyTest.txt b/order/target/surefire-reports/camelinaction.bindy.PurchaseOrderUnmarshalBindyTest.txt new file mode 100644 index 0000000..9c8d02a --- /dev/null +++ b/order/target/surefire-reports/camelinaction.bindy.PurchaseOrderUnmarshalBindyTest.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: camelinaction.bindy.PurchaseOrderUnmarshalBindyTest +------------------------------------------------------------------------------- +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.325 sec - in camelinaction.bindy.PurchaseOrderUnmarshalBindyTest diff --git a/order/target/test-classes/camelinaction/PurchaseOrder.class b/order/target/test-classes/camelinaction/PurchaseOrder.class new file mode 100644 index 0000000..b88ab2c Binary files /dev/null and b/order/target/test-classes/camelinaction/PurchaseOrder.class differ diff --git a/order/target/test-classes/camelinaction/PurchaseOrderCsvSpringTest.class b/order/target/test-classes/camelinaction/PurchaseOrderCsvSpringTest.class new file mode 100644 index 0000000..b6677a9 Binary files /dev/null and b/order/target/test-classes/camelinaction/PurchaseOrderCsvSpringTest.class differ diff --git a/order/target/test-classes/camelinaction/PurchaseOrderCsvTest$1.class b/order/target/test-classes/camelinaction/PurchaseOrderCsvTest$1.class new file mode 100644 index 0000000..139d97d Binary files /dev/null and b/order/target/test-classes/camelinaction/PurchaseOrderCsvTest$1.class differ diff --git a/order/target/test-classes/camelinaction/PurchaseOrderCsvTest.class b/order/target/test-classes/camelinaction/PurchaseOrderCsvTest.class new file mode 100644 index 0000000..3f2d06d Binary files /dev/null and b/order/target/test-classes/camelinaction/PurchaseOrderCsvTest.class differ diff --git a/order/target/test-classes/camelinaction/PurchaseOrderJSONTest$1.class b/order/target/test-classes/camelinaction/PurchaseOrderJSONTest$1.class new file mode 100644 index 0000000..5e3ef01 Binary files /dev/null and b/order/target/test-classes/camelinaction/PurchaseOrderJSONTest$1.class differ diff --git a/order/target/test-classes/camelinaction/PurchaseOrderJSONTest$OrderServiceBean.class b/order/target/test-classes/camelinaction/PurchaseOrderJSONTest$OrderServiceBean.class new file mode 100644 index 0000000..2e905fb Binary files /dev/null and b/order/target/test-classes/camelinaction/PurchaseOrderJSONTest$OrderServiceBean.class differ diff --git a/order/target/test-classes/camelinaction/PurchaseOrderJSONTest.class b/order/target/test-classes/camelinaction/PurchaseOrderJSONTest.class new file mode 100644 index 0000000..5a0e58e Binary files /dev/null and b/order/target/test-classes/camelinaction/PurchaseOrderJSONTest.class differ diff --git a/order/target/test-classes/camelinaction/PurchaseOrderJaxbTest.class b/order/target/test-classes/camelinaction/PurchaseOrderJaxbTest.class new file mode 100644 index 0000000..4ced681 Binary files /dev/null and b/order/target/test-classes/camelinaction/PurchaseOrderJaxbTest.class differ diff --git a/order/target/test-classes/camelinaction/PurchaseOrderVelocityTest$1.class b/order/target/test-classes/camelinaction/PurchaseOrderVelocityTest$1.class new file mode 100644 index 0000000..953579b Binary files /dev/null and b/order/target/test-classes/camelinaction/PurchaseOrderVelocityTest$1.class differ diff --git a/order/target/test-classes/camelinaction/PurchaseOrderVelocityTest.class b/order/target/test-classes/camelinaction/PurchaseOrderVelocityTest.class new file mode 100644 index 0000000..d1810f2 Binary files /dev/null and b/order/target/test-classes/camelinaction/PurchaseOrderVelocityTest.class differ diff --git a/order/target/test-classes/camelinaction/bindy/PurchaseOrder.class b/order/target/test-classes/camelinaction/bindy/PurchaseOrder.class new file mode 100644 index 0000000..e515247 Binary files /dev/null and b/order/target/test-classes/camelinaction/bindy/PurchaseOrder.class differ diff --git a/order/target/test-classes/camelinaction/bindy/PurchaseOrderBindyTest$1.class b/order/target/test-classes/camelinaction/bindy/PurchaseOrderBindyTest$1.class new file mode 100644 index 0000000..9377b55 Binary files /dev/null and b/order/target/test-classes/camelinaction/bindy/PurchaseOrderBindyTest$1.class differ diff --git a/order/target/test-classes/camelinaction/bindy/PurchaseOrderBindyTest.class b/order/target/test-classes/camelinaction/bindy/PurchaseOrderBindyTest.class new file mode 100644 index 0000000..a0c1b27 Binary files /dev/null and b/order/target/test-classes/camelinaction/bindy/PurchaseOrderBindyTest.class differ diff --git a/order/target/test-classes/camelinaction/bindy/PurchaseOrderUnmarshalBindyTest$1.class b/order/target/test-classes/camelinaction/bindy/PurchaseOrderUnmarshalBindyTest$1.class new file mode 100644 index 0000000..5615d01 Binary files /dev/null and b/order/target/test-classes/camelinaction/bindy/PurchaseOrderUnmarshalBindyTest$1.class differ diff --git a/order/target/test-classes/camelinaction/bindy/PurchaseOrderUnmarshalBindyTest.class b/order/target/test-classes/camelinaction/bindy/PurchaseOrderUnmarshalBindyTest.class new file mode 100644 index 0000000..9b82cce Binary files /dev/null and b/order/target/test-classes/camelinaction/bindy/PurchaseOrderUnmarshalBindyTest.class differ diff --git a/order/target/test-classes/camelinaction/jaxb.index b/order/target/test-classes/camelinaction/jaxb.index new file mode 100644 index 0000000..7349d1b --- /dev/null +++ b/order/target/test-classes/camelinaction/jaxb.index @@ -0,0 +1 @@ +PurchaseOrder \ No newline at end of file diff --git a/order/target/test-classes/camelinaction/mail.vm b/order/target/test-classes/camelinaction/mail.vm new file mode 100644 index 0000000..555718c --- /dev/null +++ b/order/target/test-classes/camelinaction/mail.vm @@ -0,0 +1,5 @@ +Dear customer + +Thank you for ordering ${body.amount} piece(s) of ${body.name} at a cost of ${body.price}. + +This is an automated email, please do not reply. \ No newline at end of file diff --git a/order/target/test-classes/camelinaction/order-csv.xml b/order/target/test-classes/camelinaction/order-csv.xml new file mode 100644 index 0000000..e058717 --- /dev/null +++ b/order/target/test-classes/camelinaction/order-csv.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + body + + + + + + + diff --git a/order/target/test-classes/camelinaction/order-jaxb.xml b/order/target/test-classes/camelinaction/order-jaxb.xml new file mode 100644 index 0000000..fbd80e4 --- /dev/null +++ b/order/target/test-classes/camelinaction/order-jaxb.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/order/target/test-classes/log4j.properties b/order/target/test-classes/log4j.properties new file mode 100644 index 0000000..b0c9b1f --- /dev/null +++ b/order/target/test-classes/log4j.properties @@ -0,0 +1,12 @@ +# +# The logging properties used during tests.. +# +log4j.rootLogger=INFO, out + +#log4j.logger.org.apache.camel=DEBUG + +# CONSOLE appender not used by default +log4j.appender.out=org.apache.log4j.ConsoleAppender +log4j.appender.out.layout=org.apache.log4j.PatternLayout +log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n + diff --git a/order/target/test-classes/order.csv b/order/target/test-classes/order.csv new file mode 100644 index 0000000..afb8ce2 --- /dev/null +++ b/order/target/test-classes/order.csv @@ -0,0 +1,2 @@ +Camel in Action,6999,1 +Activemq in Action,4495,2