set properties

This commit is contained in:
2021-11-18 18:15:15 +01:00
parent 9335971012
commit 5ae80bf18d
18 changed files with 178 additions and 204 deletions

124
.idea/uiDesigner.xml generated Normal file
View File

@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

View File

@@ -1,155 +0,0 @@
package com.release11;
import generated.MaterialType;
import org.apache.camel.Exchange;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Result;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.File;
import java.util.*;
public class DAO {
static List<Package> packages = new ArrayList<>();
public void getId(Exchange exchange) throws InterruptedException {
MaterialType tmp = (MaterialType) exchange.getIn().getBody();
System.out.println(tmp.getDescription() + tmp.getMaterialName());
Thread.sleep(10000);
exchange.getIn().setBody("SELECT * FROM package WHERE material_id = 1");
}
public void test(Exchange exchange) throws InterruptedException {
HashMap map = (HashMap) exchange.getIn().getBody();
MaterialType materialType = new MaterialType();
materialType.setId((Integer) map.get("id"));
materialType.setMaterialNumber((String) map.get("number"));
// materialType.getMaterialType(map.get("type"));
materialType.setMaterialName((String) map.get("name"));
materialType.setDescription((String) map.get("description"));
materialType.setIsDeleted((Boolean) map.get("is_deleted"));
// System.out.println(tmp.getDescription()+tmp.getMaterialName());
Thread.sleep(3000);
exchange.getIn().setBody(materialType);
}
/*
public void splitPackage(LinkedHashMap packageMap) {
Package pack = new Package();
pack.setId((Integer) packageMap.get("id"));
pack.setNumber((String) packageMap.get("number"));
pack.setMaterial_id((Integer) packageMap.get("material_id"));
pack.setEan((String.valueOf(packageMap.get("ean"))));
pack.setUnit_of_measure((String) packageMap.get("unit_of_measure"));
pack.setDimension((String) packageMap.get("dimension"));
pack.setDescription((String) packageMap.get("description"));
packages.add(pack);
}
public void splitMaterial(LinkedHashMap materialMap) {
Material material = mapToMaterial(materialMap);
materials.add(material);
}
public String singleXML(Material material) throws Exception {
File file = new File("src/main/resources/test.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = dbf.newDocumentBuilder();
Document doc = builder.newDocument();
Element root = doc.createElement("material");
Element materialNumber = doc.createElement("material_number");
materialNumber.setTextContent(String.valueOf(material.getNumber()));
root.appendChild(materialNumber);
Element materialType = doc.createElement("material_type");
materialType.setTextContent(String.valueOf(material.getType()));
root.appendChild(materialType);
Element materialName = doc.createElement("material_name");
materialName.setTextContent(String.valueOf(material.getName()));
root.appendChild(materialName);
Element description = doc.createElement("description");
description.setTextContent(material.getDescription());
root.appendChild(description);
Element is_deleted = doc.createElement("is_deleted");
is_deleted.setTextContent(String.valueOf(material.getIs_deleted()));
root.appendChild(is_deleted);
for (Package p : material.getPackageList()) {
Element packageElement = doc.createElement("packages");
Element packageNumber = doc.createElement("package_number");
packageNumber.setTextContent(String.valueOf(p.getNumber()));
packageElement.appendChild(packageNumber);
Element ean = doc.createElement("ean");
ean.setTextContent(String.valueOf(p.getEan()));
packageElement.appendChild(ean);
Element unit = doc.createElement("unit_of_measure");
unit.setTextContent(String.valueOf(p.getUnit_of_measure()));
packageElement.appendChild(unit);
Element dimension = doc.createElement("dimension");
dimension.setTextContent(String.valueOf(p.getDimension()));
packageElement.appendChild(dimension);
Element descriptionPackage = doc.createElement("description");
descriptionPackage.setTextContent(String.valueOf(p.getDescription()));
packageElement.appendChild(descriptionPackage);
root.appendChild(packageElement);
}
doc.appendChild(root);
DOMSource src = new DOMSource(doc);
Result result = new StreamResult(file);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.transform(src, result);
String xml = "";
Scanner myReader = new Scanner(file);
while (myReader.hasNextLine()) {
xml += myReader.nextLine() + "\n";
}
return xml;
}
public Material mapToMaterial(LinkedHashMap list) {
Material material = new Material();
material.setId((Integer) list.get("id"));
material.setNumber((String) list.get("number"));
material.setType(Material.enumType.valueOf((String) list.get("type")));
material.setName((String) list.get("name"));
material.setDescription((String) list.get("description"));
material.setIs_deleted((Boolean) list.get("is_deleted"));
for (int j = 0; j < packages.size(); j++) {
if (packages.get(j).getMaterial_id() == material.getId())
material.getPackageList().add(packages.get(j));
}
return material;
}
*/
}

View File

@@ -2,7 +2,6 @@ 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,9 +10,7 @@ import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.support.SimpleRegistry;
import org.apache.log4j.BasicConfigurator;
import org.apache.camel.converter.jaxb.JaxbDataFormat;
import javax.xml.bind.*;
import java.util.HashMap;
public class Main {
@@ -58,27 +55,13 @@ public class Main {
.to("jdbc:source?useHeadersAsParameters=true");
from("activemq:queue:RawMaterial")
.enrich("direct:getPackages", new MyAggregator())
.process(new Processor(){
@Override
public void process(Exchange exchange) throws Exception {
MaterialType material = (MaterialType) exchange.getIn().getBody();
}
})
.enrich("direct:getPackages", new MergeAggregator())
.process(new ValidatorProcess())
.choice()
.when(simple("${header.ean} == false"))
.when(simple("${exchangeProperty[dimension]}"+" == false"))
.marshal(xmlDataFormat)
.to("activemq:queue:BadEan")
.when(simple("${header.dimension} == false"))
.when(simple("${exchangeProperty[ean]}"+" == false"))
.marshal(xmlDataFormat)
.to("activemq:queue:BadDimension")
.otherwise()

View File

@@ -12,12 +12,12 @@ import java.util.HashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MyAggregator implements AggregationStrategy {
public class MergeAggregator implements AggregationStrategy {
@Override
public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
HashMap oldEx = (HashMap) oldExchange.getIn().getBody();
ArrayList<HashMap> newEx = (ArrayList) newExchange.getIn().getBody();
HashMap oldEx = oldExchange.getIn().getBody(HashMap.class);
ArrayList<HashMap> newEx = newExchange.getIn().getBody(ArrayList.class);
oldEx.put("packages", newEx);
MaterialType material = new MaterialType();
@@ -42,17 +42,8 @@ public class MyAggregator implements AggregationStrategy {
p.setDimension((String) newEx.get(i).get("dimension"));
p.setDescription((String) newEx.get(i).get("description"));
material.getPackages().add(p);
//validation
Pattern pattern = Pattern.compile("\\d\\dx\\d\\dx\\d\\d");
Matcher matcher = pattern.matcher(p.getDimension());
if (!matcher.matches())
oldExchange.getIn().setHeader("dimension", false);
if(!isEanGood(p.getEan()))
oldExchange.getIn().setHeader("ean", false);
}
oldExchange.getIn().setBody(material);
return oldExchange;
}

View File

@@ -1,16 +0,0 @@
package com.release11;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
public class MyProcess implements Processor {
@Override
public void process(Exchange exchange) throws Exception {
System.out.println("SIEMAAAAAAAAAAA");
String tmp = (String) exchange.getIn().getBody();
System.out.println(tmp);
System.out.println("SIEMAAAAAAAAAAA");
Thread.sleep(100000);
}
}

View File

@@ -0,0 +1,47 @@
package com.release11;
import generated.MaterialType;
import generated.Package;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ValidatorProcess implements Processor {
@Override
public void process(Exchange exchange) throws Exception {
MaterialType material = exchange.getIn().getBody(MaterialType.class);
Pattern pattern = Pattern.compile("\\d\\dx\\d\\dx\\d\\d");
for (Package p: material.getPackages()) {
Matcher matcher = pattern.matcher(p.getDimension());
if (!matcher.matches())
exchange.setProperty("dimension", false);
if(!isEanGood(p.getEan()))
exchange.setProperty("ean", false);
}
}
boolean isEanGood(String ean) {
int sum = 0;
for (int i = 0; i < ean.length() - 1; i++) {
if (i % 2 == 1)
sum += (ean.charAt(i) - '0') * 3;
else
sum += (int) ean.charAt(i) - '0';
}
sum = sum - (sum / 10) * (10);
if (sum != 0)
sum = 10 - sum;
int tmp1 = Integer.valueOf(sum);
int tmp2 = Integer.valueOf(ean.charAt(ean.length()-1)-'0');
if(tmp1 == tmp2)
return true;
return false;
}
}

Binary file not shown.

Binary file not shown.