project works

This commit is contained in:
2021-11-19 12:27:38 +01:00
parent 5ae80bf18d
commit 122eb1f0b3
14 changed files with 90 additions and 33 deletions

View File

@@ -1,7 +1,6 @@
package com.release11;
import com.mysql.cj.jdbc.MysqlDataSource;
import generated.MaterialType;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.camel.*;
import org.apache.camel.builder.RouteBuilder;
@@ -11,6 +10,14 @@ import org.apache.camel.support.SimpleRegistry;
import org.apache.log4j.BasicConfigurator;
import org.apache.camel.converter.jaxb.JaxbDataFormat;
import javax.xml.bind.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
public class Main {
@@ -40,8 +47,7 @@ public class Main {
JaxbDataFormat xmlDataFormat = new JaxbDataFormat();
xmlDataFormat.setContextPath("generated");
JAXBContext jaxbContext = JAXBContext.newInstance(generated.MaterialType.class);
xmlDataFormat.setContext(jaxbContext);
//xmlDataFormat.setSchemaLocation("/home/igor/Documents/Jacek/jacek-and-igor/src/main/resources/material.xsd");
from("direct:start")
.setBody(constant("SELECT * FROM material"))
@@ -69,29 +75,30 @@ public class Main {
.to("activemq:queue:ValidMaterial")
.to("log:?level=INFO&showBody=true");
/*
from("activemq:queue:ValidMaterial")
.process(new MyProcess())
.unmarshal(xmlDataFormat)
.process(exchange -> {
MaterialType material = (MaterialType) exchange.getIn().getBody();
//MaterialTypeType type = material.getMaterialType();
//exchange.getIn().setHeader("type", true);
//if (!(type.equals("A1") || type.equals("A2") || type.equals("A3")))
// exchange.getIn().setHeader("type", false);
//if(exchange.getIn().getHeader("type").equals(true))
System.out.println(material.toString());
});
*/
from("activemq:queue:siema")
.process(new XMLProcess())
.unmarshal(xmlDataFormat)
.process(new XMLProcess())
.to("activemq:queue:test");
}
});
context.start();
ProducerTemplate template = context.createProducerTemplate();
template.sendBody("direct:start", null);
Thread.sleep(1000);
Path path = Paths.get("/home/igor/Documents/Jacek/jacek-and-igor/src/main/resources/test.xml");
ArrayList<String> readAllLines = (ArrayList<String>) Files.readAllLines(path);
String allFile = "";
for (int i = 0; i < readAllLines.size(); i++) {
allFile+=readAllLines.get(i);
}
//template.sendBody("direct:start", null);
template.sendBody("activemq:queue:siema", allFile);
context.stop();
}

View File

@@ -0,0 +1,14 @@
package com.release11;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
public class XMLProcess implements Processor {
@Override
public void process(Exchange exchange) throws Exception {
String tmp = exchange.getIn().getBody(String.class);
System.out.println(tmp);
exchange.getIn().setBody(tmp);
}
}

View File

@@ -1,13 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<material>
<id>1</id>
<material_number>number8186</material_number>
<material_type>Z3</material_type>
<material_name>name2686</material_name>
<description>description7225</description>
<is_deleted>true</is_deleted>
<packages>
<id>1</id>
<material_id>1</material_id>
<package_number>number2274</package_number>
<ean>5903339152912</ean>
<ean>5903339152913</ean>
<unit_of_measure>unit1350</unit_of_measure>
<dimension>18x30x18</dimension>
<description>description7460</description>