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