diff --git a/pom.xml b/pom.xml
index ed4914a..dc38a41 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
1.0-SNAPSHOT
- 17
+ 17
17
17
@@ -86,9 +86,6 @@
-
-
-
@@ -108,14 +105,7 @@
${basedir}/src/main/resources/material.xsd
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
- 7
-
-
+
diff --git a/rozne.txt b/rozne.txt
new file mode 100644
index 0000000..e4738f2
--- /dev/null
+++ b/rozne.txt
@@ -0,0 +1,27 @@
+ from("direct:pretty")
+ .setBody(constant("" +
+ "\n" +
+ " 7\n" +
+ " A1\n" +
+ " LEGO 17272\n" +
+ " Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n" +
+ " false\n" +
+ " \n" +
+ " 11988\n" +
+ " 80975098498590834\n" +
+ " pcs\n" +
+ " 17x17x17\n" +
+ " Lorem ipsum dolor sit amet, consectetur adipiscing elit\n" +
+ " \n" +
+ " \n" +
+ " 118\n" +
+ " 877854875843774\n" +
+ " pcs\n" +
+ " 20x20x20\n" +
+ " \n" +
+ "\n"))
+ .unmarshal()
+ .jaxb("generated")
+ .bean(new DAO(), "getId")
+ .to("activemq:queue:test")
+ .to("log:?level=INFO&showBody=true");
\ No newline at end of file
diff --git a/src/main/java/com/release11/DAO.java b/src/main/java/com/release11/DAO.java
index be9ddca..6ac110d 100644
--- a/src/main/java/com/release11/DAO.java
+++ b/src/main/java/com/release11/DAO.java
@@ -18,16 +18,8 @@ import java.util.*;
public class DAO {
- static List materials = new ArrayList<>();
static List packages = new ArrayList<>();
- public String test(LinkedHashMap materialMap) throws Exception {
- Material material = mapToMaterial(materialMap);
- String xml = singleXML(material);
- return xml;
- }
-
-
public void getId(Exchange exchange) throws InterruptedException {
MaterialType tmp = (MaterialType) exchange.getIn().getBody();
@@ -42,7 +34,7 @@ public class DAO {
MaterialType materialType = new MaterialType();
materialType.setId((Integer) map.get("id"));
materialType.setMaterialNumber((String) map.get("number"));
- materialType.getMaterialType(map.get("type"));
+ // materialType.getMaterialType(map.get("type"));
materialType.setMaterialName((String) map.get("name"));
materialType.setDescription((String) map.get("description"));
materialType.setIsDeleted((Boolean) map.get("is_deleted"));
@@ -53,7 +45,7 @@ public class DAO {
exchange.getIn().setBody(materialType);
}
-
+/*
public void splitPackage(LinkedHashMap packageMap) {
Package pack = new Package();
pack.setId((Integer) packageMap.get("id"));
@@ -158,4 +150,6 @@ public class DAO {
}
return material;
}
+
+ */
}
diff --git a/src/main/java/com/release11/Main.java b/src/main/java/com/release11/Main.java
index 079d88e..9e4fed4 100644
--- a/src/main/java/com/release11/Main.java
+++ b/src/main/java/com/release11/Main.java
@@ -1,6 +1,8 @@
package com.release11;
import com.mysql.cj.jdbc.MysqlDataSource;
+import generated.MaterialType;
+import generated.MaterialTypeType;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.camel.*;
import org.apache.camel.builder.RouteBuilder;
@@ -11,16 +13,13 @@ import org.apache.log4j.BasicConfigurator;
import org.apache.camel.converter.jaxb.JaxbDataFormat;
import javax.xml.bind.*;
+import java.util.HashMap;
public class Main {
public static void main(String[] args) throws Exception {
- //MyBuilder myBuilder = new MyBuilder();
- //myBuilder.doRandomMaterials();
- //myBuilder.doRandomPackage();
-
//to("log:?level=INFO&showHeaders=true&showBody=true")
MysqlDataSource source = new MysqlDataSource();
@@ -31,23 +30,6 @@ public class Main {
SimpleRegistry registry = new SimpleRegistry();
registry.bind("source", MysqlDataSource.class, source);
-
- //jax.marshal(Exchange ,jax,);
- //registry.bind("jax", JaxbDataFormat.class, XMLDataFormat);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
CamelContext context = new DefaultCamelContext(registry);
BasicConfigurator.configure();
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://10.101.111.19:8088");
@@ -59,11 +41,10 @@ public class Main {
@Override
public void configure() throws Exception {
- JaxbDataFormat XMLDataFormat = new JaxbDataFormat();
- //XMLDataFormat.setSchemaLocation("/home/igor/Documents/Jacek/jacek-and-igor/src/main/resources/material.xsd");
- XMLDataFormat.setContextPath("generated");
+ JaxbDataFormat xmlDataFormat = new JaxbDataFormat();
+ xmlDataFormat.setContextPath("generated");
JAXBContext jaxbContext = JAXBContext.newInstance(generated.MaterialType.class);
- XMLDataFormat.setContext(jaxbContext);
+ xmlDataFormat.setContext(jaxbContext);
from("direct:start")
.setBody(constant("SELECT * FROM material"))
@@ -78,69 +59,17 @@ public class Main {
from("activemq:queue:material")
.enrich("direct:getPackages", new MyAggregator())
+ .marshal(xmlDataFormat)
.to("activemq:queue:materialPackage")
.to("log:?level=INFO&showBody=true");
- from("direct:test")
- .setBody(constant("SELECT * FROM material LIMIT 1"))
- .to("jdbc:source")
- .split(body())
- .to("activemq:queue:materialTest");
-
- from("activemq:queue:materialTest")
- .bean(new DAO(), "test")
- .marshal(XMLDataFormat)
- .to("activemq:queue:test");
-
-
-
-
-
-
-
-
-
-
-
-
-
- from("direct:pretty")
- .setBody(constant("" +
- "\n" +
- " 7\n" +
- " A1\n" +
- " LEGO 17272\n" +
- " Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n" +
- " false\n" +
- " \n" +
- " 11988\n" +
- " 80975098498590834\n" +
- " pcs\n" +
- " 17x17x17\n" +
- " Lorem ipsum dolor sit amet, consectetur adipiscing elit\n" +
- " \n" +
- " \n" +
- " 118\n" +
- " 877854875843774\n" +
- " pcs\n" +
- " 20x20x20\n" +
- " \n" +
- "\n"))
- .unmarshal()
- .jaxb("generated")
- .bean(new DAO(), "getId")
- .to("activemq:queue:test")
- .to("log:?level=INFO&showBody=true");
-
-
}
});
context.start();
ProducerTemplate template = context.createProducerTemplate();
- template.sendBody("direct:test", null);
+ template.sendBody("direct:start", null);
Thread.sleep(1000);
- //template.setDefaultEndpointUri("activemq:queue:material");
context.stop();
}
diff --git a/src/main/java/com/release11/Material.java b/src/main/java/com/release11/Material.java
deleted file mode 100644
index e103df7..0000000
--- a/src/main/java/com/release11/Material.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package com.release11;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class Material {
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getNumber() {
- return number;
- }
-
- public void setNumber(String number) {
- this.number = number;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public Boolean getIs_deleted() {
- return is_deleted;
- }
-
- public void setIs_deleted(Boolean is_deleted) {
- this.is_deleted = is_deleted;
- }
-
- public enumType getType() {
- return type;
- }
-
- public void setType(enumType type) {
- this.type = type;
- }
-
- public List getPackageList() {
- return packageList;
- }
-
- public void setPackageList(List packageList) {
- this.packageList = packageList;
- }
-
- public enum enumType {
- A1, A2, A3, B1, B2, B3, Z1, Z2, Z3;
- }
-
-
- private int id;
- private String number;
- private enumType type;
- private String name;
- private String description;
- private Boolean is_deleted;
- private List packageList = new ArrayList<>();
-
-}
diff --git a/src/main/java/com/release11/MyAggregator.java b/src/main/java/com/release11/MyAggregator.java
index 488d3f9..4986b69 100644
--- a/src/main/java/com/release11/MyAggregator.java
+++ b/src/main/java/com/release11/MyAggregator.java
@@ -1,11 +1,13 @@
package com.release11;
+import generated.MaterialType;
+import generated.MaterialTypeType;
+import generated.Package;
import org.apache.camel.AggregationStrategy;
import org.apache.camel.Exchange;
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.Map;
public class MyAggregator implements AggregationStrategy {
@Override
@@ -15,12 +17,30 @@ public class MyAggregator implements AggregationStrategy {
System.out.println(oldEx);
ArrayList newEx = (ArrayList) newExchange.getIn().getBody();
System.out.println(newEx);
-
-
oldEx.put("packages", newEx);
+
+ MaterialType material = new MaterialType();
+ material.setId((Integer) oldEx.get("id"));
+ material.setMaterialNumber((String) oldEx.get("number"));
+ material.setMaterialType(MaterialTypeType.fromValue((String) oldEx.get("type")));
+ material.setMaterialName((String) oldEx.get("name"));
+ material.setDescription((String) oldEx.get("description"));
+ material.setIsDeleted((Boolean) oldEx.get("is_deleted"));
+
+ for (int i = 0; i < newEx.size(); i++) {
+ Package p = new Package();
+ p.setId((Integer) newEx.get(i).get("id"));
+ p.setPackageNumber((String) newEx.get(i).get("number"));
+ p.setMaterialId((Integer) newEx.get(i).get("material_id"));
+ p.setEan((String.valueOf(newEx.get(i).get("ean"))));
+ p.setUnitOfMeasure((String) newEx.get(i).get("unit_of_measure"));
+ p.setDimension((String) newEx.get(i).get("dimension"));
+ p.setDescription((String) newEx.get(i).get("description"));
+ material.getPackages().add(p);
+ }
+
Exchange result = oldExchange;
- result.getIn().setBody(oldEx);
- //result.getIn().setBody(body);
+ result.getIn().setBody(material);
System.out.println(result.getIn().getBody());
return result;
diff --git a/src/main/java/com/release11/Package.java b/src/main/java/com/release11/Package.java
deleted file mode 100644
index a713f9b..0000000
--- a/src/main/java/com/release11/Package.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package com.release11;
-
-public class Package {
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getNumber() {
- return number;
- }
-
- public void setNumber(String number) {
- this.number = number;
- }
-
- public int getMaterial_id() {
- return material_id;
- }
-
- public void setMaterial_id(int material_id) {
- this.material_id = material_id;
- }
-
- public String getEan() {
- return ean;
- }
-
- public void setEan(String ean) {
- this.ean = ean;
- }
-
- public String getUnit_of_measure() {
- return unit_of_measure;
- }
-
- public void setUnit_of_measure(String unit_of_measure) {
- this.unit_of_measure = unit_of_measure;
- }
-
- public String getDimension() {
- return dimension;
- }
-
- public void setDimension(String dimension) {
- this.dimension = dimension;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- int id;
- String number;
- int material_id;
- String ean;
- String unit_of_measure;
- String dimension;
- String description;
-
-}
diff --git a/src/main/resources/material.xsd b/src/main/resources/material.xsd
index 51c9599..b8b5f61 100644
--- a/src/main/resources/material.xsd
+++ b/src/main/resources/material.xsd
@@ -5,7 +5,7 @@
-
+
diff --git a/target/Camel-1.0-SNAPSHOT.jar b/target/Camel-1.0-SNAPSHOT.jar
new file mode 100644
index 0000000..1d052b9
Binary files /dev/null and b/target/Camel-1.0-SNAPSHOT.jar differ
diff --git a/target/classes/META-INF/JAXB/episode_default-cli.xjb b/target/classes/META-INF/JAXB/episode_xsd-to-java.xjb
similarity index 95%
rename from target/classes/META-INF/JAXB/episode_default-cli.xjb
rename to target/classes/META-INF/JAXB/episode_xsd-to-java.xjb
index a7ebab6..7d887f9 100644
--- a/target/classes/META-INF/JAXB/episode_default-cli.xjb
+++ b/target/classes/META-INF/JAXB/episode_xsd-to-java.xjb
@@ -5,7 +5,7 @@
This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2
See https://javaee.github.io/jaxb-v2/
Any modifications to this file will be lost upon recompilation of the source schema.
-Generated on: 2021.11.18 at 12:37:46 PM CET
+Generated on: 2021.11.18 at 01:43:47 PM CET
-->
diff --git a/target/classes/com/release11/DAO.class b/target/classes/com/release11/DAO.class
index 5af20ee..fae50b6 100644
Binary files a/target/classes/com/release11/DAO.class and b/target/classes/com/release11/DAO.class differ
diff --git a/target/classes/com/release11/Main$1.class b/target/classes/com/release11/Main$1.class
index 60500e1..23760e2 100644
Binary files a/target/classes/com/release11/Main$1.class and b/target/classes/com/release11/Main$1.class differ
diff --git a/target/classes/com/release11/Main.class b/target/classes/com/release11/Main.class
index fc55638..c864dd8 100644
Binary files a/target/classes/com/release11/Main.class and b/target/classes/com/release11/Main.class differ
diff --git a/target/classes/com/release11/Material$enumType.class b/target/classes/com/release11/Material$enumType.class
deleted file mode 100644
index 08025ec..0000000
Binary files a/target/classes/com/release11/Material$enumType.class and /dev/null differ
diff --git a/target/classes/com/release11/Material.class b/target/classes/com/release11/Material.class
deleted file mode 100644
index 1842a63..0000000
Binary files a/target/classes/com/release11/Material.class and /dev/null differ
diff --git a/target/classes/com/release11/MyAggregator.class b/target/classes/com/release11/MyAggregator.class
index 4375f34..b095a0a 100644
Binary files a/target/classes/com/release11/MyAggregator.class and b/target/classes/com/release11/MyAggregator.class differ
diff --git a/target/classes/com/release11/Package.class b/target/classes/com/release11/Package.class
deleted file mode 100644
index df3b051..0000000
Binary files a/target/classes/com/release11/Package.class and /dev/null differ
diff --git a/target/classes/generated/MaterialType.class b/target/classes/generated/MaterialType.class
index 4a0bb8b..d44b0ec 100644
Binary files a/target/classes/generated/MaterialType.class and b/target/classes/generated/MaterialType.class differ
diff --git a/target/classes/generated/Package.class b/target/classes/generated/Package.class
index d8a5673..5d70fd7 100644
Binary files a/target/classes/generated/Package.class and b/target/classes/generated/Package.class differ
diff --git a/target/classes/material.xsd b/target/classes/material.xsd
index 51c9599..b8b5f61 100644
--- a/target/classes/material.xsd
+++ b/target/classes/material.xsd
@@ -5,7 +5,7 @@
-
+
diff --git a/target/generated-sources/jaxb/META-INF/JAXB/episode_default-cli.xjb b/target/generated-sources/jaxb/META-INF/JAXB/episode_xsd-to-java.xjb
similarity index 95%
rename from target/generated-sources/jaxb/META-INF/JAXB/episode_default-cli.xjb
rename to target/generated-sources/jaxb/META-INF/JAXB/episode_xsd-to-java.xjb
index a7ebab6..7d887f9 100644
--- a/target/generated-sources/jaxb/META-INF/JAXB/episode_default-cli.xjb
+++ b/target/generated-sources/jaxb/META-INF/JAXB/episode_xsd-to-java.xjb
@@ -5,7 +5,7 @@
This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2
See https://javaee.github.io/jaxb-v2/
Any modifications to this file will be lost upon recompilation of the source schema.
-Generated on: 2021.11.18 at 12:37:46 PM CET
+Generated on: 2021.11.18 at 01:43:47 PM CET
-->
diff --git a/target/generated-sources/jaxb/generated/MaterialType.java b/target/generated-sources/jaxb/generated/MaterialType.java
index 0ac504b..ec68351 100644
--- a/target/generated-sources/jaxb/generated/MaterialType.java
+++ b/target/generated-sources/jaxb/generated/MaterialType.java
@@ -2,7 +2,7 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2
// See https://javaee.github.io/jaxb-v2/
// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2021.11.18 at 12:37:46 PM CET
+// Generated on: 2021.11.18 at 01:43:47 PM CET
//
@@ -115,10 +115,9 @@ public class MaterialType {
* @return
* possible object is
* {@link MaterialTypeType }
- *
- * @param type
+ *
*/
- public MaterialTypeType getMaterialType(Object type) {
+ public MaterialTypeType getMaterialType() {
return materialType;
}
diff --git a/target/generated-sources/jaxb/generated/MaterialTypeType.java b/target/generated-sources/jaxb/generated/MaterialTypeType.java
index 16d47f6..b841b9e 100644
--- a/target/generated-sources/jaxb/generated/MaterialTypeType.java
+++ b/target/generated-sources/jaxb/generated/MaterialTypeType.java
@@ -2,7 +2,7 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2
// See https://javaee.github.io/jaxb-v2/
// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2021.11.18 at 12:37:46 PM CET
+// Generated on: 2021.11.18 at 01:43:47 PM CET
//
diff --git a/target/generated-sources/jaxb/generated/ObjectFactory.java b/target/generated-sources/jaxb/generated/ObjectFactory.java
index 0710258..1603f96 100644
--- a/target/generated-sources/jaxb/generated/ObjectFactory.java
+++ b/target/generated-sources/jaxb/generated/ObjectFactory.java
@@ -2,7 +2,7 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2
// See https://javaee.github.io/jaxb-v2/
// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2021.11.18 at 12:37:46 PM CET
+// Generated on: 2021.11.18 at 01:43:47 PM CET
//
diff --git a/target/generated-sources/jaxb/generated/Package.java b/target/generated-sources/jaxb/generated/Package.java
index 35db0f3..3c579ea 100644
--- a/target/generated-sources/jaxb/generated/Package.java
+++ b/target/generated-sources/jaxb/generated/Package.java
@@ -2,7 +2,7 @@
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.2
// See https://javaee.github.io/jaxb-v2/
// Any modifications to this file will be lost upon recompilation of the source schema.
-// Generated on: 2021.11.18 at 12:37:46 PM CET
+// Generated on: 2021.11.18 at 01:43:47 PM CET
//
@@ -26,7 +26,7 @@ import javax.xml.bind.annotation.XmlType;
* <sequence>
* <element name="id" type="{http://www.w3.org/2001/XMLSchema}int"/>
* <element name="material_id" type="{http://www.w3.org/2001/XMLSchema}int"/>
- * <element name="package_number" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * <element name="package_number" type="{http://www.w3.org/2001/XMLSchema}string"/>
* <element name="ean" type="{http://www.w3.org/2001/XMLSchema}string"/>
* <element name="unit_of_measure" type="{http://www.w3.org/2001/XMLSchema}string"/>
* <element name="dimension" type="{http://www.w3.org/2001/XMLSchema}string"/>
@@ -54,8 +54,8 @@ public class Package {
protected int id;
@XmlElement(name = "material_id")
protected int materialId;
- @XmlElement(name = "package_number")
- protected int packageNumber;
+ @XmlElement(name = "package_number", required = true)
+ protected String packageNumber;
@XmlElement(required = true)
protected String ean;
@XmlElement(name = "unit_of_measure", required = true)
@@ -99,16 +99,24 @@ public class Package {
/**
* Gets the value of the packageNumber property.
*
+ * @return
+ * possible object is
+ * {@link String }
+ *
*/
- public int getPackageNumber() {
+ public String getPackageNumber() {
return packageNumber;
}
/**
* Sets the value of the packageNumber property.
*
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
*/
- public void setPackageNumber(int value) {
+ public void setPackageNumber(String value) {
this.packageNumber = value;
}
diff --git a/target/jaxb2/.xsd-to-java-xjcStaleFlag b/target/jaxb2/.xsd-to-java-xjcStaleFlag
new file mode 100644
index 0000000..e69de29
diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..596fd0d
--- /dev/null
+++ b/target/maven-archiver/pom.properties
@@ -0,0 +1,5 @@
+#Generated by Maven
+#Thu Nov 18 13:46:31 CET 2021
+groupId=org.example
+artifactId=Camel
+version=1.0-SNAPSHOT
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..e69de29
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..4b4e0f2
--- /dev/null
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,8 @@
+/home/igor/Documents/Jacek/jacek-and-igor/src/main/java/com/release11/DAO.java
+/home/igor/Documents/Jacek/jacek-and-igor/target/generated-sources/jaxb/generated/MaterialType.java
+/home/igor/Documents/Jacek/jacek-and-igor/target/generated-sources/jaxb/generated/Package.java
+/home/igor/Documents/Jacek/jacek-and-igor/src/main/java/com/release11/MyBuilder.java
+/home/igor/Documents/Jacek/jacek-and-igor/target/generated-sources/jaxb/generated/ObjectFactory.java
+/home/igor/Documents/Jacek/jacek-and-igor/target/generated-sources/jaxb/generated/MaterialTypeType.java
+/home/igor/Documents/Jacek/jacek-and-igor/src/main/java/com/release11/MyAggregator.java
+/home/igor/Documents/Jacek/jacek-and-igor/src/main/java/com/release11/Main.java
diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 0000000..e69de29