diff --git a/Camel/.idea/.gitignore b/Camel/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/Camel/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/Camel/.idea/compiler.xml b/Camel/.idea/compiler.xml
new file mode 100644
index 0000000..6ceb844
--- /dev/null
+++ b/Camel/.idea/compiler.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Camel/.idea/jarRepositories.xml b/Camel/.idea/jarRepositories.xml
new file mode 100644
index 0000000..712ab9d
--- /dev/null
+++ b/Camel/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Camel/.idea/misc.xml b/Camel/.idea/misc.xml
new file mode 100644
index 0000000..06e8b35
--- /dev/null
+++ b/Camel/.idea/misc.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Camel/.idea/runConfigurations.xml b/Camel/.idea/runConfigurations.xml
new file mode 100644
index 0000000..797acea
--- /dev/null
+++ b/Camel/.idea/runConfigurations.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Camel/.idea/uiDesigner.xml b/Camel/.idea/uiDesigner.xml
new file mode 100644
index 0000000..e96534f
--- /dev/null
+++ b/Camel/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/Camel/.idea/vcs.xml b/Camel/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/Camel/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Camel/pom.xml b/Camel/pom.xml
new file mode 100644
index 0000000..dff4614
--- /dev/null
+++ b/Camel/pom.xml
@@ -0,0 +1,56 @@
+
+
+ 4.0.0
+
+ org.example
+ Camel
+ 1.0-SNAPSHOT
+
+
+ 17
+ 17
+
+
+
+
+
+ org.apache.camel
+ camel-core
+ 3.12.0
+
+
+
+ org.apache.camel
+ camel-jdbc
+ 3.12.0
+
+
+
+ mysql
+ mysql-connector-java
+ 8.0.27
+
+
+
+ org.slf4j
+ slf4j-log4j12
+ 2.0.0-alpha5
+
+
+
+ org.slf4j
+ slf4j-api
+ 2.0.0-alpha5
+
+
+
+ org.apache.camel
+ camel-activemq
+ 3.12.0
+
+
+
+
+
\ No newline at end of file
diff --git a/Camel/sql_script/sql.ddl b/Camel/sql_script/sql.ddl
new file mode 100644
index 0000000..a6c0e56
--- /dev/null
+++ b/Camel/sql_script/sql.ddl
@@ -0,0 +1,7 @@
+CREATE DATABASE IF NOT EXISTS camel_db;
+
+USE camel_db;
+
+CREATE TABLE IF NOT EXISTS material(id INT PRIMARY KEY, number VARCHAR(30), type ENUM('A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'Z1', 'Z2', 'Z3'),name VARCHAR(30), description VARCHAR(30), is_deleted BOOLEAN);
+
+CREATE TABLE IF NOT EXISTS package(id INT PRIMARY KEY, number VARCHAR(30), material_id INT, ean VARCHAR(30), unit_of_measure VARCHAR(30), dimension VARCHAR(30), description VARCHAR(30));
diff --git a/Camel/sql_script/sql.dml b/Camel/sql_script/sql.dml
new file mode 100644
index 0000000..b290696
--- /dev/null
+++ b/Camel/sql_script/sql.dml
@@ -0,0 +1,300 @@
+INSERT INTO material VALUES(1, 'number6795', 'B1', 'name2666', 'description2684', true);
+INSERT INTO material VALUES(2, 'number9459', 'Z2', 'name2666', 'description9739', false);
+INSERT INTO material VALUES(3, 'number7855', 'B1', 'name8860', 'description4371', false);
+INSERT INTO material VALUES(4, 'number5113', 'B3', 'name5903', 'description4078', true);
+INSERT INTO material VALUES(5, 'number3348', 'A1', 'name6961', 'description5442', true);
+INSERT INTO material VALUES(6, 'number9616', 'A3', 'name3830', 'description3701', true);
+INSERT INTO material VALUES(7, 'number1168', 'B1', 'name5495', 'description3157', true);
+INSERT INTO material VALUES(8, 'number7629', 'B3', 'name3226', 'description5938', false);
+INSERT INTO material VALUES(9, 'number5852', 'A2', 'name3942', 'description3357', true);
+INSERT INTO material VALUES(10, 'number8886', 'A2', 'name7474', 'description1648', false);
+INSERT INTO material VALUES(11, 'number5351', 'A3', 'name1678', 'description7953', true);
+INSERT INTO material VALUES(12, 'number6080', 'Z2', 'name6058', 'description2386', true);
+INSERT INTO material VALUES(13, 'number4721', 'A3', 'name9701', 'description8014', false);
+INSERT INTO material VALUES(14, 'number2700', 'B1', 'name8033', 'description5370', false);
+INSERT INTO material VALUES(15, 'number5423', 'A1', 'name5844', 'description5306', true);
+INSERT INTO material VALUES(16, 'number3769', 'Z1', 'name1778', 'description6142', true);
+INSERT INTO material VALUES(17, 'number9114', 'Z3', 'name1028', 'description9838', false);
+INSERT INTO material VALUES(18, 'number1400', 'B3', 'name3764', 'description4293', false);
+INSERT INTO material VALUES(19, 'number4044', 'A2', 'name1383', 'description4160', false);
+INSERT INTO material VALUES(20, 'number8532', 'A2', 'name2532', 'description1702', false);
+INSERT INTO material VALUES(21, 'number6028', 'A3', 'name7647', 'description6104', true);
+INSERT INTO material VALUES(22, 'number9481', 'B3', 'name9424', 'description9501', false);
+INSERT INTO material VALUES(23, 'number6129', 'A3', 'name6160', 'description6474', true);
+INSERT INTO material VALUES(24, 'number9766', 'A2', 'name3979', 'description4152', false);
+INSERT INTO material VALUES(25, 'number9887', 'B1', 'name3167', 'description5386', true);
+INSERT INTO material VALUES(26, 'number4247', 'A1', 'name4498', 'description7427', true);
+INSERT INTO material VALUES(27, 'number2330', 'A1', 'name5628', 'description8573', true);
+INSERT INTO material VALUES(28, 'number1889', 'A1', 'name2740', 'description8191', true);
+INSERT INTO material VALUES(29, 'number2889', 'A3', 'name2451', 'description6273', false);
+INSERT INTO material VALUES(30, 'number6465', 'A1', 'name7525', 'description1071', false);
+INSERT INTO material VALUES(31, 'number8115', 'A1', 'name1859', 'description7717', true);
+INSERT INTO material VALUES(32, 'number3943', 'Z1', 'name5785', 'description3216', true);
+INSERT INTO material VALUES(33, 'number9654', 'A1', 'name7993', 'description4616', true);
+INSERT INTO material VALUES(34, 'number2325', 'B3', 'name7125', 'description6979', true);
+INSERT INTO material VALUES(35, 'number3187', 'B2', 'name7428', 'description5055', true);
+INSERT INTO material VALUES(36, 'number2699', 'B2', 'name5873', 'description6407', true);
+INSERT INTO material VALUES(37, 'number2458', 'Z2', 'name1278', 'description3340', true);
+INSERT INTO material VALUES(38, 'number9765', 'A1', 'name2220', 'description6540', false);
+INSERT INTO material VALUES(39, 'number7712', 'Z3', 'name4786', 'description8680', true);
+INSERT INTO material VALUES(40, 'number5889', 'Z1', 'name5566', 'description2135', false);
+INSERT INTO material VALUES(41, 'number8917', 'Z1', 'name4177', 'description3823', true);
+INSERT INTO material VALUES(42, 'number2933', 'A2', 'name1686', 'description3178', true);
+INSERT INTO material VALUES(43, 'number7400', 'A2', 'name7400', 'description6221', true);
+INSERT INTO material VALUES(44, 'number4742', 'A1', 'name6636', 'description7872', false);
+INSERT INTO material VALUES(45, 'number9482', 'Z2', 'name7568', 'description2311', false);
+INSERT INTO material VALUES(46, 'number6130', 'B3', 'name6770', 'description4471', true);
+INSERT INTO material VALUES(47, 'number7760', 'Z2', 'name3552', 'description7864', false);
+INSERT INTO material VALUES(48, 'number5058', 'Z1', 'name4683', 'description2049', false);
+INSERT INTO material VALUES(49, 'number2443', 'B3', 'name2569', 'description2017', false);
+INSERT INTO material VALUES(50, 'number1845', 'B1', 'name2032', 'description9005', false);
+INSERT INTO material VALUES(51, 'number9493', 'A3', 'name7667', 'description4179', false);
+INSERT INTO material VALUES(52, 'number9227', 'Z1', 'name1313', 'description8598', true);
+INSERT INTO material VALUES(53, 'number6044', 'B3', 'name2105', 'description6319', false);
+INSERT INTO material VALUES(54, 'number1070', 'A2', 'name1217', 'description3177', false);
+INSERT INTO material VALUES(55, 'number8597', 'Z1', 'name3146', 'description6044', false);
+INSERT INTO material VALUES(56, 'number6660', 'A2', 'name8511', 'description2747', false);
+INSERT INTO material VALUES(57, 'number5122', 'Z2', 'name6810', 'description6907', true);
+INSERT INTO material VALUES(58, 'number2500', 'Z2', 'name2447', 'description8948', false);
+INSERT INTO material VALUES(59, 'number6088', 'B2', 'name5233', 'description9933', true);
+INSERT INTO material VALUES(60, 'number5867', 'B2', 'name8942', 'description1807', true);
+INSERT INTO material VALUES(61, 'number6248', 'A3', 'name2677', 'description1295', false);
+INSERT INTO material VALUES(62, 'number3201', 'B1', 'name7041', 'description7289', true);
+INSERT INTO material VALUES(63, 'number2865', 'A2', 'name5116', 'description5143', false);
+INSERT INTO material VALUES(64, 'number1801', 'A3', 'name7293', 'description8196', false);
+INSERT INTO material VALUES(65, 'number7974', 'A1', 'name3568', 'description2355', true);
+INSERT INTO material VALUES(66, 'number3315', 'Z2', 'name3811', 'description1897', true);
+INSERT INTO material VALUES(67, 'number6570', 'B2', 'name1306', 'description8514', true);
+INSERT INTO material VALUES(68, 'number9339', 'B3', 'name1586', 'description3555', true);
+INSERT INTO material VALUES(69, 'number1877', 'Z2', 'name3050', 'description1201', false);
+INSERT INTO material VALUES(70, 'number1430', 'Z2', 'name4592', 'description3858', false);
+INSERT INTO material VALUES(71, 'number9144', 'B3', 'name7126', 'description4707', false);
+INSERT INTO material VALUES(72, 'number7798', 'B3', 'name8306', 'description5118', false);
+INSERT INTO material VALUES(73, 'number4147', 'A1', 'name9082', 'description9544', true);
+INSERT INTO material VALUES(74, 'number8453', 'A2', 'name3212', 'description8008', true);
+INSERT INTO material VALUES(75, 'number6381', 'Z3', 'name6309', 'description2010', false);
+INSERT INTO material VALUES(76, 'number9112', 'B3', 'name7110', 'description1525', true);
+INSERT INTO material VALUES(77, 'number1728', 'A2', 'name7878', 'description5611', true);
+INSERT INTO material VALUES(78, 'number3248', 'A3', 'name8298', 'description6386', false);
+INSERT INTO material VALUES(79, 'number9084', 'B2', 'name3107', 'description3750', false);
+INSERT INTO material VALUES(80, 'number8530', 'A3', 'name6108', 'description3259', false);
+INSERT INTO material VALUES(81, 'number3562', 'A3', 'name2480', 'description9869', true);
+INSERT INTO material VALUES(82, 'number1193', 'B1', 'name3055', 'description7830', true);
+INSERT INTO material VALUES(83, 'number4412', 'A2', 'name3079', 'description2976', true);
+INSERT INTO material VALUES(84, 'number1562', 'B1', 'name3055', 'description1850', false);
+INSERT INTO material VALUES(85, 'number5939', 'A1', 'name4708', 'description6715', false);
+INSERT INTO material VALUES(86, 'number4151', 'A2', 'name5193', 'description1895', false);
+INSERT INTO material VALUES(87, 'number3147', 'A3', 'name8494', 'description4033', true);
+INSERT INTO material VALUES(88, 'number2181', 'B2', 'name7100', 'description1665', true);
+INSERT INTO material VALUES(89, 'number8957', 'B1', 'name9316', 'description8726', false);
+INSERT INTO material VALUES(90, 'number2693', 'B3', 'name7151', 'description6499', true);
+INSERT INTO material VALUES(91, 'number8093', 'Z2', 'name1932', 'description8096', true);
+INSERT INTO material VALUES(92, 'number5514', 'B3', 'name5937', 'description9567', false);
+INSERT INTO material VALUES(93, 'number9014', 'Z2', 'name3485', 'description6931', true);
+INSERT INTO material VALUES(94, 'number8531', 'B1', 'name5118', 'description2306', false);
+INSERT INTO material VALUES(95, 'number2322', 'B2', 'name4581', 'description4531', true);
+INSERT INTO material VALUES(96, 'number5859', 'A2', 'name7276', 'description4008', true);
+INSERT INTO material VALUES(97, 'number9014', 'A2', 'name4891', 'description1792', true);
+INSERT INTO material VALUES(98, 'number2994', 'B3', 'name6005', 'description5497', false);
+INSERT INTO material VALUES(99, 'number3242', 'Z1', 'name3330', 'description1274', true);
+INSERT INTO material VALUES(100, 'number5894', 'A2', 'name2405', 'description7405', true);
+INSERT INTO package VALUES(1, 'number3113', '1', '5908298816172', 'unit5508', '28x18x33', 'description1436');
+INSERT INTO package VALUES(2, 'number1616', '2', '5903505866193', 'unit4274', '7x24x32', 'description4363');
+INSERT INTO package VALUES(3, 'number1267', '3', '5905685551876', 'unit5377', '23x24x10', 'description9274');
+INSERT INTO package VALUES(4, 'number8157', '4', '5904204819794', 'unit7343', '10x14x17', 'description2959');
+INSERT INTO package VALUES(5, 'number1946', '5', '5902762429349', 'unit1769', '9x16x25', 'description2917');
+INSERT INTO package VALUES(6, 'number7582', '6', '5903840644289', 'unit7252', '7x11x34', 'description8907');
+INSERT INTO package VALUES(7, 'number6671', '7', '5903899092390', 'unit2462', '24x6x9', 'description7696');
+INSERT INTO package VALUES(8, 'number6764', '8', '5907257552267', 'unit5522', '15x25x18', 'description4620');
+INSERT INTO package VALUES(9, 'number5569', '9', '5909903987522', 'unit2626', '25x14x10', 'description8991');
+INSERT INTO package VALUES(10, 'number2420', '10', '5904614529009', 'unit6459', '27x8x27', 'description2110');
+INSERT INTO package VALUES(11, 'number8159', '11', '5901749537213', 'unit6340', '29x26x8', 'description4672');
+INSERT INTO package VALUES(12, 'number8201', '12', '5905986331627', 'unit4949', '22x15x9', 'description6239');
+INSERT INTO package VALUES(13, 'number4121', '13', '5906464473570', 'unit3491', '15x33x9', 'description8526');
+INSERT INTO package VALUES(14, 'number4303', '14', '5906008835956', 'unit6125', '22x17x30', 'description1585');
+INSERT INTO package VALUES(15, 'number9889', '15', '5900181508904', 'unit2525', '17x31x10', 'description5731');
+INSERT INTO package VALUES(16, 'number8906', '16', '5902552001465', 'unit5212', '23x9x12', 'description1131');
+INSERT INTO package VALUES(17, 'number7599', '17', '5901487108737', 'unit6546', '19x7x5', 'description7064');
+INSERT INTO package VALUES(18, 'number4374', '18', '5907485314668', 'unit7640', '18x19x28', 'description7683');
+INSERT INTO package VALUES(19, 'number3450', '19', '5908293601872', 'unit7683', '6x11x26', 'description7267');
+INSERT INTO package VALUES(20, 'number6984', '20', '5900478873029', 'unit3834', '14x12x17', 'description6434');
+INSERT INTO package VALUES(21, 'number4937', '21', '5902807999868', 'unit2218', '27x32x10', 'description6533');
+INSERT INTO package VALUES(22, 'number1570', '22', '5909409721200', 'unit5159', '28x20x8', 'description9708');
+INSERT INTO package VALUES(23, 'number2249', '23', '5909302700876', 'unit4358', '16x21x29', 'description9063');
+INSERT INTO package VALUES(24, 'number8245', '24', '5901679572209', 'unit7534', '27x32x9', 'description3394');
+INSERT INTO package VALUES(25, 'number5809', '25', '5909096077147', 'unit7037', '13x34x7', 'description8503');
+INSERT INTO package VALUES(26, 'number7295', '26', '5909276759368', 'unit4493', '9x32x33', 'description4070');
+INSERT INTO package VALUES(27, 'number3584', '27', '5908686469225', 'unit3429', '13x24x8', 'description6123');
+INSERT INTO package VALUES(28, 'number7676', '28', '5908418092981', 'unit6416', '29x22x26', 'description6699');
+INSERT INTO package VALUES(29, 'number9808', '29', '5906042394662', 'unit3064', '15x9x17', 'description2354');
+INSERT INTO package VALUES(30, 'number3129', '30', '5903669451549', 'unit2551', '33x16x13', 'description5870');
+INSERT INTO package VALUES(31, 'number6931', '31', '5905959685634', 'unit7419', '24x26x21', 'description7355');
+INSERT INTO package VALUES(32, 'number6772', '32', '5900268227841', 'unit9906', '7x5x29', 'description7206');
+INSERT INTO package VALUES(33, 'number8163', '33', '5902824455842', 'unit4410', '11x13x21', 'description4787');
+INSERT INTO package VALUES(34, 'number1697', '34', '5905797952219', 'unit8797', '23x8x25', 'description5003');
+INSERT INTO package VALUES(35, 'number6272', '35', '5901814665872', 'unit3962', '14x31x18', 'description7536');
+INSERT INTO package VALUES(36, 'number9670', '36', '5907010405168', 'unit2546', '15x6x9', 'description8437');
+INSERT INTO package VALUES(37, 'number1610', '37', '5902620989855', 'unit5164', '34x25x12', 'description7916');
+INSERT INTO package VALUES(38, 'number9454', '38', '5909947378980', 'unit1728', '16x32x10', 'description6461');
+INSERT INTO package VALUES(39, 'number7981', '39', '5905725707546', 'unit9322', '27x34x10', 'description3575');
+INSERT INTO package VALUES(40, 'number6723', '40', '5904101986520', 'unit4046', '25x26x23', 'description1856');
+INSERT INTO package VALUES(41, 'number9644', '41', '5903270447870', 'unit4080', '16x32x27', 'description8757');
+INSERT INTO package VALUES(42, 'number4341', '42', '5902258764701', 'unit7723', '32x21x10', 'description7709');
+INSERT INTO package VALUES(43, 'number7814', '43', '5908511478538', 'unit5297', '21x14x9', 'description6800');
+INSERT INTO package VALUES(44, 'number5664', '44', '5900476065396', 'unit2974', '18x34x28', 'description8509');
+INSERT INTO package VALUES(45, 'number8613', '45', '5906436126770', 'unit7308', '34x33x11', 'description5170');
+INSERT INTO package VALUES(46, 'number4403', '46', '5907488243996', 'unit4516', '28x6x32', 'description3114');
+INSERT INTO package VALUES(47, 'number3269', '47', '5907412014845', 'unit7227', '16x8x24', 'description9035');
+INSERT INTO package VALUES(48, 'number6963', '48', '5908397116395', 'unit2980', '15x8x8', 'description7941');
+INSERT INTO package VALUES(49, 'number7753', '49', '5900712650362', 'unit7719', '20x32x11', 'description8347');
+INSERT INTO package VALUES(50, 'number8390', '50', '5902681606760', 'unit5123', '5x18x20', 'description9984');
+INSERT INTO package VALUES(51, 'number3425', '51', '5905436596903', 'unit7458', '33x32x31', 'description3531');
+INSERT INTO package VALUES(52, 'number2372', '52', '5904603655924', 'unit6837', '12x32x6', 'description4797');
+INSERT INTO package VALUES(53, 'number3167', '53', '5900907493095', 'unit9849', '18x33x14', 'description8678');
+INSERT INTO package VALUES(54, 'number9464', '54', '5902595879342', 'unit8553', '7x17x32', 'description5785');
+INSERT INTO package VALUES(55, 'number6137', '55', '5901168409818', 'unit6949', '21x22x18', 'description8222');
+INSERT INTO package VALUES(56, 'number1653', '56', '5900919447741', 'unit8423', '6x6x23', 'description2977');
+INSERT INTO package VALUES(57, 'number2504', '57', '5902002631532', 'unit7182', '29x31x25', 'description1973');
+INSERT INTO package VALUES(58, 'number8740', '58', '5906426804800', 'unit2945', '32x28x26', 'description5047');
+INSERT INTO package VALUES(59, 'number2710', '59', '5902380842988', 'unit8692', '27x18x18', 'description5618');
+INSERT INTO package VALUES(60, 'number6466', '60', '5901573236665', 'unit4203', '23x17x6', 'description4017');
+INSERT INTO package VALUES(61, 'number1254', '61', '5901964328917', 'unit2539', '17x5x16', 'description6548');
+INSERT INTO package VALUES(62, 'number6047', '62', '5901560016485', 'unit1353', '21x26x25', 'description8590');
+INSERT INTO package VALUES(63, 'number6580', '63', '5901814341318', 'unit6665', '8x23x26', 'description1952');
+INSERT INTO package VALUES(64, 'number4722', '64', '5908979549993', 'unit4044', '11x11x31', 'description9654');
+INSERT INTO package VALUES(65, 'number4109', '65', '5905971037008', 'unit3581', '7x13x8', 'description8034');
+INSERT INTO package VALUES(66, 'number9280', '66', '5905250831976', 'unit5592', '12x24x15', 'description2909');
+INSERT INTO package VALUES(67, 'number7498', '67', '5900281031319', 'unit6823', '33x32x19', 'description6283');
+INSERT INTO package VALUES(68, 'number2860', '68', '5906827071108', 'unit7973', '10x28x16', 'description4172');
+INSERT INTO package VALUES(69, 'number5894', '69', '5907799959777', 'unit4472', '31x5x16', 'description7710');
+INSERT INTO package VALUES(70, 'number3522', '70', '5908310008776', 'unit4056', '21x26x26', 'description6941');
+INSERT INTO package VALUES(71, 'number3158', '71', '5900171324583', 'unit1693', '12x33x10', 'description5207');
+INSERT INTO package VALUES(72, 'number4820', '72', '5900279725169', 'unit9037', '19x8x34', 'description6177');
+INSERT INTO package VALUES(73, 'number3592', '73', '5902485419627', 'unit9004', '26x24x7', 'description7947');
+INSERT INTO package VALUES(74, 'number3758', '74', '5905989685727', 'unit8515', '25x26x31', 'description9711');
+INSERT INTO package VALUES(75, 'number9075', '75', '5900919012871', 'unit9634', '5x8x11', 'description4277');
+INSERT INTO package VALUES(76, 'number3525', '76', '5903204097454', 'unit4924', '19x11x10', 'description5899');
+INSERT INTO package VALUES(77, 'number6261', '77', '5905148575630', 'unit7624', '27x32x17', 'description9731');
+INSERT INTO package VALUES(78, 'number8986', '78', '5901399717553', 'unit7977', '22x16x18', 'description1561');
+INSERT INTO package VALUES(79, 'number9524', '79', '5902985654696', 'unit5257', '9x8x17', 'description8653');
+INSERT INTO package VALUES(80, 'number2925', '80', '5905657428175', 'unit1198', '28x22x26', 'description3388');
+INSERT INTO package VALUES(81, 'number6820', '81', '5906153099951', 'unit5577', '11x5x29', 'description8446');
+INSERT INTO package VALUES(82, 'number5861', '82', '5905863071479', 'unit7287', '10x6x11', 'description3168');
+INSERT INTO package VALUES(83, 'number9718', '83', '5907696343112', 'unit8813', '15x31x29', 'description6705');
+INSERT INTO package VALUES(84, 'number8100', '84', '5901844054905', 'unit4470', '17x30x15', 'description6040');
+INSERT INTO package VALUES(85, 'number1041', '85', '5900754621078', 'unit8194', '30x31x17', 'description6098');
+INSERT INTO package VALUES(86, 'number8128', '86', '5900241236457', 'unit3631', '10x17x25', 'description6717');
+INSERT INTO package VALUES(87, 'number4899', '87', '5903196644520', 'unit5212', '5x25x20', 'description8359');
+INSERT INTO package VALUES(88, 'number3934', '88', '5905342844976', 'unit1723', '32x25x19', 'description2108');
+INSERT INTO package VALUES(89, 'number1423', '89', '5903477627808', 'unit6277', '27x7x7', 'description1538');
+INSERT INTO package VALUES(90, 'number7471', '90', '5907961546729', 'unit2190', '32x26x11', 'description5002');
+INSERT INTO package VALUES(91, 'number1170', '91', '5909856473608', 'unit5135', '31x31x24', 'description3470');
+INSERT INTO package VALUES(92, 'number3765', '92', '5906807637744', 'unit7117', '16x12x32', 'description8631');
+INSERT INTO package VALUES(93, 'number2192', '93', '5906090453175', 'unit7959', '23x23x23', 'description4427');
+INSERT INTO package VALUES(94, 'number2751', '94', '5903624509223', 'unit8343', '23x6x29', 'description5133');
+INSERT INTO package VALUES(95, 'number8216', '95', '5901772466313', 'unit9910', '9x13x27', 'description7926');
+INSERT INTO package VALUES(96, 'number6944', '96', '5905202118452', 'unit6519', '8x14x34', 'description9707');
+INSERT INTO package VALUES(97, 'number4760', '97', '5902936060187', 'unit3703', '32x31x27', 'description5713');
+INSERT INTO package VALUES(98, 'number4735', '98', '5903040460207', 'unit7052', '17x9x13', 'description3146');
+INSERT INTO package VALUES(99, 'number1306', '99', '5900217279631', 'unit8687', '33x6x22', 'description2675');
+INSERT INTO package VALUES(100, 'number6008', '100', '5904956960713', 'unit6085', '27x12x34', 'description7716');
+INSERT INTO package VALUES(101, 'number7246', '6', '5900628661520', 'unit8159', '7x31x28', 'description9952');
+INSERT INTO package VALUES(102, 'number9956', '10', '5902891848141', 'unit9219', '5x5x10', 'description5255');
+INSERT INTO package VALUES(103, 'number7579', '4', '5909695005947', 'unit1012', '14x9x23', 'description2590');
+INSERT INTO package VALUES(104, 'number8335', '7', '5905105496398', 'unit7742', '26x34x18', 'description9045');
+INSERT INTO package VALUES(105, 'number4611', '37', '5906943857853', 'unit6901', '9x15x6', 'description4365');
+INSERT INTO package VALUES(106, 'number6700', '95', '5900025064108', 'unit1766', '16x22x18', 'description7992');
+INSERT INTO package VALUES(107, 'number5718', '67', '5907730914193', 'unit4559', '11x21x15', 'description8009');
+INSERT INTO package VALUES(108, 'number7260', '55', '5904902972791', 'unit3775', '29x6x31', 'description2201');
+INSERT INTO package VALUES(109, 'number3357', '63', '5908027796553', 'unit7505', '17x19x29', 'description3177');
+INSERT INTO package VALUES(110, 'number9358', '3', '5903014102485', 'unit9512', '25x24x34', 'description7049');
+INSERT INTO package VALUES(111, 'number7820', '85', '5908898911611', 'unit4614', '16x22x5', 'description5357');
+INSERT INTO package VALUES(112, 'number1632', '92', '5901774790270', 'unit2219', '32x22x27', 'description8146');
+INSERT INTO package VALUES(113, 'number6698', '60', '5909035377680', 'unit2104', '26x30x11', 'description1074');
+INSERT INTO package VALUES(114, 'number8142', '25', '5901448367784', 'unit1781', '17x17x17', 'description9028');
+INSERT INTO package VALUES(115, 'number3610', '15', '5909802150058', 'unit2884', '33x11x9', 'description5178');
+INSERT INTO package VALUES(116, 'number2690', '63', '5908765313753', 'unit9167', '32x5x32', 'description1987');
+INSERT INTO package VALUES(117, 'number6110', '83', '5905638047487', 'unit3264', '23x23x11', 'description9590');
+INSERT INTO package VALUES(118, 'number7812', '92', '5902911369854', 'unit3265', '25x34x17', 'description2456');
+INSERT INTO package VALUES(119, 'number9994', '92', '5907462917172', 'unit1624', '21x16x11', 'description5196');
+INSERT INTO package VALUES(120, 'number7237', '98', '5907446269167', 'unit8827', '19x27x12', 'description9278');
+INSERT INTO package VALUES(121, 'number9193', '76', '5901546463418', 'unit9497', '9x11x13', 'description5442');
+INSERT INTO package VALUES(122, 'number2891', '76', '5908041747883', 'unit3317', '10x10x17', 'description4740');
+INSERT INTO package VALUES(123, 'number2450', '7', '5902832614156', 'unit3317', '9x32x20', 'description9984');
+INSERT INTO package VALUES(124, 'number9734', '37', '5907163844371', 'unit6590', '28x32x18', 'description6077');
+INSERT INTO package VALUES(125, 'number8130', '14', '5905977207047', 'unit4145', '15x21x32', 'description9829');
+INSERT INTO package VALUES(126, 'number7408', '91', '5905941933408', 'unit4668', '23x13x10', 'description4803');
+INSERT INTO package VALUES(127, 'number7218', '98', '5902434897575', 'unit2127', '32x25x26', 'description5824');
+INSERT INTO package VALUES(128, 'number1116', '51', '5908506852107', 'unit5236', '15x11x19', 'description8915');
+INSERT INTO package VALUES(129, 'number7698', '8', '5901620900556', 'unit8161', '17x17x22', 'description9891');
+INSERT INTO package VALUES(130, 'number6874', '31', '5908145795414', 'unit5865', '7x22x15', 'description5333');
+INSERT INTO package VALUES(131, 'number8952', '27', '5904769189424', 'unit8841', '20x9x33', 'description9278');
+INSERT INTO package VALUES(132, 'number7548', '86', '5907332466526', 'unit4990', '19x14x23', 'description6294');
+INSERT INTO package VALUES(133, 'number4323', '38', '5907068884281', 'unit7845', '18x16x9', 'description9188');
+INSERT INTO package VALUES(134, 'number8008', '6', '5908818908875', 'unit3649', '6x5x5', 'description5062');
+INSERT INTO package VALUES(135, 'number8520', '66', '5909887121868', 'unit4450', '6x10x31', 'description7918');
+INSERT INTO package VALUES(136, 'number1559', '46', '5909587385713', 'unit2127', '6x11x21', 'description9491');
+INSERT INTO package VALUES(137, 'number3007', '92', '5906853170608', 'unit2160', '18x8x16', 'description2300');
+INSERT INTO package VALUES(138, 'number1211', '53', '5907430791858', 'unit1167', '12x9x6', 'description8551');
+INSERT INTO package VALUES(139, 'number9020', '48', '5903214861359', 'unit3933', '9x31x23', 'description8188');
+INSERT INTO package VALUES(140, 'number3146', '12', '5909613869040', 'unit9911', '33x27x19', 'description6253');
+INSERT INTO package VALUES(141, 'number7838', '82', '5902951990735', 'unit9413', '18x33x13', 'description6509');
+INSERT INTO package VALUES(142, 'number8016', '63', '5901180346191', 'unit7208', '34x11x20', 'description2046');
+INSERT INTO package VALUES(143, 'number5371', '15', '5903854759788', 'unit8640', '10x32x13', 'description9533');
+INSERT INTO package VALUES(144, 'number8768', '87', '5907120614764', 'unit4645', '27x29x32', 'description1363');
+INSERT INTO package VALUES(145, 'number5455', '11', '5906135794041', 'unit2914', '7x7x6', 'description5512');
+INSERT INTO package VALUES(146, 'number6282', '45', '5905823364108', 'unit2117', '28x34x12', 'description5099');
+INSERT INTO package VALUES(147, 'number5605', '6', '5904951279971', 'unit5844', '27x11x23', 'description9658');
+INSERT INTO package VALUES(148, 'number9063', '51', '5901902214050', 'unit5853', '14x14x24', 'description1438');
+INSERT INTO package VALUES(149, 'number9544', '97', '5902648052203', 'unit2166', '24x5x31', 'description2370');
+INSERT INTO package VALUES(150, 'number7482', '93', '5906266990015', 'unit7551', '6x8x30', 'description5384');
+INSERT INTO package VALUES(151, 'number9204', '39', '5901182750286', 'unit4388', '5x23x12', 'description5655');
+INSERT INTO package VALUES(152, 'number1468', '53', '5907720979072', 'unit1412', '18x14x28', 'description8139');
+INSERT INTO package VALUES(153, 'number1353', '82', '5901443711193', 'unit5658', '16x20x5', 'description5418');
+INSERT INTO package VALUES(154, 'number1820', '3', '5909344712363', 'unit8067', '29x10x23', 'description4933');
+INSERT INTO package VALUES(155, 'number6390', '56', '5909250567781', 'unit8657', '10x32x16', 'description1907');
+INSERT INTO package VALUES(156, 'number4349', '64', '5907873906413', 'unit6236', '24x21x5', 'description7555');
+INSERT INTO package VALUES(157, 'number3939', '65', '5905121181667', 'unit1172', '7x5x26', 'description6728');
+INSERT INTO package VALUES(158, 'number7504', '48', '5907299129137', 'unit8634', '33x16x18', 'description3023');
+INSERT INTO package VALUES(159, 'number5365', '56', '5909984591151', 'unit6506', '12x8x24', 'description8871');
+INSERT INTO package VALUES(160, 'number4122', '38', '5906266479107', 'unit1832', '25x26x31', 'description5397');
+INSERT INTO package VALUES(161, 'number2439', '42', '5905852180908', 'unit8312', '18x34x12', 'description9769');
+INSERT INTO package VALUES(162, 'number3721', '84', '5905167582633', 'unit3588', '33x32x11', 'description3907');
+INSERT INTO package VALUES(163, 'number3305', '52', '5904401318205', 'unit1730', '16x14x16', 'description2338');
+INSERT INTO package VALUES(164, 'number2839', '1', '5908077482994', 'unit9901', '5x25x28', 'description7588');
+INSERT INTO package VALUES(165, 'number8649', '17', '5906118348810', 'unit6033', '12x14x25', 'description9622');
+INSERT INTO package VALUES(166, 'number2821', '32', '5903730205897', 'unit6250', '21x15x5', 'description3108');
+INSERT INTO package VALUES(167, 'number8973', '94', '5902445786394', 'unit5985', '32x6x9', 'description5940');
+INSERT INTO package VALUES(168, 'number1994', '44', '5907926984153', 'unit6139', '16x7x12', 'description4882');
+INSERT INTO package VALUES(169, 'number5211', '19', '5901556744064', 'unit6989', '28x27x25', 'description6412');
+INSERT INTO package VALUES(170, 'number2337', '60', '5906825170063', 'unit6509', '6x29x26', 'description9877');
+INSERT INTO package VALUES(171, 'number9373', '72', '5902908176564', 'unit5325', '5x9x27', 'description2838');
+INSERT INTO package VALUES(172, 'number2988', '17', '5905074534459', 'unit2023', '26x30x33', 'description7289');
+INSERT INTO package VALUES(173, 'number9726', '4', '5902218147704', 'unit4286', '29x23x34', 'description5270');
+INSERT INTO package VALUES(174, 'number2175', '55', '5903455163380', 'unit7463', '28x23x24', 'description6172');
+INSERT INTO package VALUES(175, 'number3665', '6', '5902155081499', 'unit8490', '15x22x16', 'description5723');
+INSERT INTO package VALUES(176, 'number3167', '45', '5909165076187', 'unit6950', '16x34x19', 'description9305');
+INSERT INTO package VALUES(177, 'number7835', '25', '5903036746773', 'unit9060', '30x6x22', 'description4974');
+INSERT INTO package VALUES(178, 'number6079', '76', '5904673988236', 'unit4509', '13x13x24', 'description8572');
+INSERT INTO package VALUES(179, 'number5130', '43', '5901495986907', 'unit1837', '11x6x24', 'description8472');
+INSERT INTO package VALUES(180, 'number1411', '30', '5903892877987', 'unit9624', '22x13x29', 'description7547');
+INSERT INTO package VALUES(181, 'number2025', '43', '5903714196333', 'unit3799', '12x8x29', 'description8017');
+INSERT INTO package VALUES(182, 'number5960', '6', '5901175284293', 'unit9206', '15x8x22', 'description5093');
+INSERT INTO package VALUES(183, 'number6362', '7', '5907162326946', 'unit2951', '18x22x25', 'description8463');
+INSERT INTO package VALUES(184, 'number3821', '98', '5901041424044', 'unit9222', '20x30x22', 'description5393');
+INSERT INTO package VALUES(185, 'number4751', '17', '5905324613415', 'unit9481', '26x28x16', 'description4169');
+INSERT INTO package VALUES(186, 'number9914', '97', '5906291139717', 'unit8476', '21x27x13', 'description9043');
+INSERT INTO package VALUES(187, 'number2122', '75', '5905635502132', 'unit9261', '17x7x8', 'description1577');
+INSERT INTO package VALUES(188, 'number4806', '21', '5902986023125', 'unit1513', '31x14x22', 'description6103');
+INSERT INTO package VALUES(189, 'number7073', '48', '5908398138396', 'unit3290', '25x15x18', 'description9726');
+INSERT INTO package VALUES(190, 'number6905', '76', '5905546586535', 'unit5829', '33x11x19', 'description9378');
+INSERT INTO package VALUES(191, 'number2773', '29', '5908653856423', 'unit8668', '20x32x12', 'description3371');
+INSERT INTO package VALUES(192, 'number5804', '54', '5905013164600', 'unit4161', '24x9x8', 'description1058');
+INSERT INTO package VALUES(193, 'number5976', '3', '5905016574178', 'unit6348', '17x13x31', 'description3893');
+INSERT INTO package VALUES(194, 'number1240', '62', '5909211298600', 'unit5421', '5x26x32', 'description3074');
+INSERT INTO package VALUES(195, 'number2561', '85', '5909330382457', 'unit7234', '8x27x28', 'description7000');
+INSERT INTO package VALUES(196, 'number5400', '55', '5907182953016', 'unit3238', '32x7x33', 'description3883');
+INSERT INTO package VALUES(197, 'number7771', '10', '5905495309674', 'unit9806', '25x15x23', 'description8586');
+INSERT INTO package VALUES(198, 'number9543', '87', '5903145031722', 'unit4626', '13x25x13', 'description1083');
+INSERT INTO package VALUES(199, 'number6356', '29', '5909361295078', 'unit8840', '19x22x21', 'description2412');
+INSERT INTO package VALUES(200, 'number1996', '63', '5900870983999', 'unit2414', '13x5x12', 'description7640');
diff --git a/Camel/src/main/java/com/release11/DAO.java b/Camel/src/main/java/com/release11/DAO.java
new file mode 100644
index 0000000..8191959
--- /dev/null
+++ b/Camel/src/main/java/com/release11/DAO.java
@@ -0,0 +1,141 @@
+package com.release11;
+
+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.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Scanner;
+
+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;
+ }
+
+ static int counter=0;
+ public void hello(){
+ counter++;
+ System.out.println("helloWorld"+counter);
+ }
+
+ 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;
+ }
+}
diff --git a/Camel/src/main/java/com/release11/Main.java b/Camel/src/main/java/com/release11/Main.java
new file mode 100644
index 0000000..8ed56d2
--- /dev/null
+++ b/Camel/src/main/java/com/release11/Main.java
@@ -0,0 +1,56 @@
+package com.release11;
+
+import com.mysql.cj.jdbc.MysqlDataSource;
+import org.apache.activemq.ActiveMQConnectionFactory;
+import org.apache.camel.CamelContext;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.jms.JmsComponent;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.support.SimpleRegistry;
+import org.apache.log4j.BasicConfigurator;
+
+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();
+ String jacek = "jdbc:mysql://10.101.111.19:3306/camel_db";
+ source.setURL(jacek);
+ source.setUser("root");
+ source.setPassword("admin");
+ SimpleRegistry registry = new SimpleRegistry();
+ registry.bind("source", MysqlDataSource.class, source);
+ CamelContext context = new DefaultCamelContext(registry);
+ BasicConfigurator.configure();
+ ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://10.101.111.19:8088");
+ connectionFactory.setUserName("admin");
+ connectionFactory.setPassword("admin");
+ context.addComponent("activemq", JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
+
+ DAO dao = new DAO();
+ context.addRoutes(new RouteBuilder() {
+ @Override
+ public void configure() throws Exception {
+ from("direct:start").to("jdbc:source").split(body()).bean(dao,"splitMaterial").to("activemq:queue:material").to("log:?level=INFO&showHeaders=true&showBody=true");
+ from("activemq:queue:material").to("activemq:queue:materialPackage").to("log:?level=INFO&showHeaders=true&showBody=true");
+ //from("activemq:queue:material").bean(dao,"hello").to("log:?level=INFO&showHeaders=true&showBody=true");
+ //from("direct:test").to("jdbc:source").split(body()).bean(dao, "test").to("activemq:queue:type=test").to("log:?level=INFO&showHeaders=true&showBody=true");
+ }
+ });
+
+ context.start();
+ ProducerTemplate template = context.createProducerTemplate();
+ template.sendBody("direct:start", "SELECT * FROM material LIMIT 1");
+ Thread.sleep(10000);
+ template.sendBody("activemq:queue:material",null);
+
+ context.stop();
+ }
+}
\ No newline at end of file
diff --git a/Camel/src/main/java/com/release11/Material.java b/Camel/src/main/java/com/release11/Material.java
new file mode 100644
index 0000000..e103df7
--- /dev/null
+++ b/Camel/src/main/java/com/release11/Material.java
@@ -0,0 +1,77 @@
+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/Camel/src/main/java/com/release11/MyBuilder.java b/Camel/src/main/java/com/release11/MyBuilder.java
new file mode 100644
index 0000000..5088fdd
--- /dev/null
+++ b/Camel/src/main/java/com/release11/MyBuilder.java
@@ -0,0 +1,116 @@
+package com.release11;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.support.SimpleRegistry;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Random;
+
+public class MyBuilder extends RouteBuilder {
+
+ //MyBuilder myBuilder = new MyBuilder();
+ //context.addRoutes(myBuilder);
+
+ @Override
+ public void configure() throws Exception {
+ from("timer:foo?fixedRate=true&period=400")
+ .log("Hello Camel");
+ }
+
+ public enum enumType {
+ A1, A2, A3, B1, B2, B3, Z1, Z2, Z3;
+ }
+
+ public void doRandomMaterials() throws IOException {
+
+ File fileName = new File("/home/igor/Documents/XML_Tasks/Camel/sql_script/sql.dml");
+
+ BufferedWriter writer = new BufferedWriter(new FileWriter(fileName));
+ Random random = new Random();
+ for (int i = 1; i <= 100; i++) {
+ String number = "number" + random.nextInt(1000, 10000);
+ String name = "name" + random.nextInt(1000, 10000);
+ String description = "description" + random.nextInt(1000, 10000);
+ String is_deleted = "";
+ if (random.nextInt() % 2 == 0)
+ is_deleted = "true";
+ else
+ is_deleted = "false";
+
+ enumType[] x = enumType.values();
+ String type = x[random.nextInt(x.length)].toString();
+ writer.write("INSERT INTO material VALUES(" +
+ i + ", '" + number + "', '" + type + "', '" + name + "', '" + description + "', " + is_deleted + ");\n");
+ }
+ writer.close();
+
+ }
+
+ public void doRandomPackage() throws IOException {
+
+ File fileName = new File("/home/igor/Documents/XML_Tasks/Camel/sql_script/sql.dml");
+
+ BufferedWriter writer = new BufferedWriter(new FileWriter(fileName, true));
+ Random random = new Random();
+ for (int i = 1; i <= 100; i++) {
+ String number = "number" + random.nextInt(1000, 10000);
+ Integer material_id = i;
+ String ean = eanGenerator();
+ String unit_of_measure = "unit" + random.nextInt(1000, 10000);
+ String dimension = random.nextInt(5, 35) + "x" + random.nextInt(5, 35) + "x" + random.nextInt(5, 35);
+ String description = "description" + random.nextInt(1000, 10000);
+
+ writer.write("INSERT INTO package VALUES(" +
+ i + ", '" + number + "', '" + material_id + "', '" + ean + "', '"
+ + unit_of_measure + "', '" + dimension + "', '" + description + "');\n");
+ }
+
+ for (int i = 101; i <= 200; i++) {
+ String number = "number" + random.nextInt(1000, 10000);
+ Integer material_id = random.nextInt(1, 101);
+ String ean = eanGenerator();
+ String unit_of_measure = "unit" + random.nextInt(1000, 10000);
+ String dimension = random.nextInt(5, 35) + "x" + random.nextInt(5, 35) + "x" + random.nextInt(5, 35);
+ String description = "description" + random.nextInt(1000, 10000);
+
+ writer.write("INSERT INTO package VALUES(" +
+ i + ", '" + number + "', '" + material_id + "', '" + ean + "', '"
+ + unit_of_measure + "', '" + dimension + "', '" + description + "');\n");
+ }
+
+
+ writer.close();
+
+ }
+
+ public String eanGenerator() {
+
+ String result = "590";
+ Random random = new Random();
+ while (result.length() < 12) {
+ result += random.nextInt(10);
+ }
+
+ int sum = 0;
+ for (int i = 0; i < result.length(); i++) {
+ if (i % 2 == 1)
+ sum += (result.charAt(i) - '0') * 3;
+ else
+ sum += (int) result.charAt(i) - '0';
+ }
+
+ sum = sum - (sum / 10) * (10);
+ if (sum != 0)
+ sum = 10 - sum;
+ result += sum;
+
+ return result;
+ }
+
+}
diff --git a/Camel/src/main/java/com/release11/Package.java b/Camel/src/main/java/com/release11/Package.java
new file mode 100644
index 0000000..a713f9b
--- /dev/null
+++ b/Camel/src/main/java/com/release11/Package.java
@@ -0,0 +1,69 @@
+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/Camel/src/main/resources/material.xml b/Camel/src/main/resources/material.xml
new file mode 100644
index 0000000..53dcc6a
--- /dev/null
+++ b/Camel/src/main/resources/material.xml
@@ -0,0 +1,20 @@
+
+ 7
+ A1
+ LEGO 17272
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+ false
+
+ 11988
+ 80975098498590834
+ pcs
+ 17x17x17
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit
+
+
+ 118
+ 877854875843774
+ pcs
+ 20x20x20
+
+
diff --git a/Camel/src/main/resources/material.xsd b/Camel/src/main/resources/material.xsd
new file mode 100644
index 0000000..0701eee
--- /dev/null
+++ b/Camel/src/main/resources/material.xsd
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Camel/src/main/resources/test.xml b/Camel/src/main/resources/test.xml
new file mode 100644
index 0000000..fddd6c3
--- /dev/null
+++ b/Camel/src/main/resources/test.xml
@@ -0,0 +1,15 @@
+
+
+ number8186
+ Z3
+ name2686
+ description7225
+ true
+
+ number2274
+ 5903339152912
+ unit1350
+ 18x30x18
+ description7460
+
+
diff --git a/Camel/target/classes/com/release11/DAO.class b/Camel/target/classes/com/release11/DAO.class
new file mode 100644
index 0000000..b781684
Binary files /dev/null and b/Camel/target/classes/com/release11/DAO.class differ
diff --git a/Camel/target/classes/com/release11/Main$1.class b/Camel/target/classes/com/release11/Main$1.class
new file mode 100644
index 0000000..022fbec
Binary files /dev/null and b/Camel/target/classes/com/release11/Main$1.class differ
diff --git a/Camel/target/classes/com/release11/Main.class b/Camel/target/classes/com/release11/Main.class
new file mode 100644
index 0000000..9494064
Binary files /dev/null and b/Camel/target/classes/com/release11/Main.class differ
diff --git a/Camel/target/classes/com/release11/Material$enumType.class b/Camel/target/classes/com/release11/Material$enumType.class
new file mode 100644
index 0000000..08025ec
Binary files /dev/null and b/Camel/target/classes/com/release11/Material$enumType.class differ
diff --git a/Camel/target/classes/com/release11/Material.class b/Camel/target/classes/com/release11/Material.class
new file mode 100644
index 0000000..1842a63
Binary files /dev/null and b/Camel/target/classes/com/release11/Material.class differ
diff --git a/Camel/target/classes/com/release11/MyBuilder$enumType.class b/Camel/target/classes/com/release11/MyBuilder$enumType.class
new file mode 100644
index 0000000..2e2e438
Binary files /dev/null and b/Camel/target/classes/com/release11/MyBuilder$enumType.class differ
diff --git a/Camel/target/classes/com/release11/MyBuilder.class b/Camel/target/classes/com/release11/MyBuilder.class
new file mode 100644
index 0000000..b7f2779
Binary files /dev/null and b/Camel/target/classes/com/release11/MyBuilder.class differ
diff --git a/Camel/target/classes/com/release11/Package.class b/Camel/target/classes/com/release11/Package.class
new file mode 100644
index 0000000..df3b051
Binary files /dev/null and b/Camel/target/classes/com/release11/Package.class differ
diff --git a/Camel/target/classes/material.xml b/Camel/target/classes/material.xml
new file mode 100644
index 0000000..53dcc6a
--- /dev/null
+++ b/Camel/target/classes/material.xml
@@ -0,0 +1,20 @@
+
+ 7
+ A1
+ LEGO 17272
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+ false
+
+ 11988
+ 80975098498590834
+ pcs
+ 17x17x17
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit
+
+
+ 118
+ 877854875843774
+ pcs
+ 20x20x20
+
+
diff --git a/Camel/target/classes/material.xsd b/Camel/target/classes/material.xsd
new file mode 100644
index 0000000..0701eee
--- /dev/null
+++ b/Camel/target/classes/material.xsd
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Camel/target/classes/test.xml b/Camel/target/classes/test.xml
new file mode 100644
index 0000000..fddd6c3
--- /dev/null
+++ b/Camel/target/classes/test.xml
@@ -0,0 +1,15 @@
+
+
+ number8186
+ Z3
+ name2686
+ description7225
+ true
+
+ number2274
+ 5903339152912
+ unit1350
+ 18x30x18
+ description7460
+
+