You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2015/12/28 10:56:06 UTC
[1/2] camel git commit: [CAMEL-9258] camel-boon -
Serializing/Deserializing Lists, Maps with camel-boon. Improve testing too.
Repository: camel
Updated Branches:
refs/heads/master 9e9a791bb -> 01f6b12bb
[CAMEL-9258] camel-boon - Serializing/Deserializing Lists, Maps with camel-boon. Improve testing too.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/ba818f68
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/ba818f68
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/ba818f68
Branch: refs/heads/master
Commit: ba818f68870e491b04d70b469b02cdf25cc81c69
Parents: 9e9a791
Author: Andrea Cosentino <an...@gmail.com>
Authored: Mon Dec 28 10:44:45 2015 +0100
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Mon Dec 28 10:44:45 2015 +0100
----------------------------------------------------------------------
.../camel/component/boon/BoonDataFormat.java | 18 +++++++
.../component/boon/BoonDataFormatTest.java | 57 ++++++++++++++++++++
2 files changed, 75 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/ba818f68/components/camel-boon/src/main/java/org/apache/camel/component/boon/BoonDataFormat.java
----------------------------------------------------------------------
diff --git a/components/camel-boon/src/main/java/org/apache/camel/component/boon/BoonDataFormat.java b/components/camel-boon/src/main/java/org/apache/camel/component/boon/BoonDataFormat.java
index 09a5c10..e1e42cd 100644
--- a/components/camel-boon/src/main/java/org/apache/camel/component/boon/BoonDataFormat.java
+++ b/components/camel-boon/src/main/java/org/apache/camel/component/boon/BoonDataFormat.java
@@ -22,7 +22,10 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashMap;
+import java.util.List;
import org.apache.camel.Exchange;
import org.apache.camel.spi.DataFormat;
@@ -42,6 +45,7 @@ public class BoonDataFormat extends ChildServiceSupport implements DataFormat, D
private final ObjectMapper objectMapper;
private Class<?> unmarshalType;
+ private boolean useList;
public BoonDataFormat() {
this(HashMap.class);
@@ -112,5 +116,19 @@ public class BoonDataFormat extends ChildServiceSupport implements DataFormat, D
public ObjectMapper getObjectMapper() {
return this.objectMapper;
}
+
+ public boolean isUseList() {
+ return useList;
+ }
+
+ public void setUseList(boolean useList) {
+ this.useList = useList;
+ }
+ /**
+ * Uses {@link java.util.List} when unmarshalling.
+ */
+ public void useList() {
+ setUnmarshalType(List.class);
+ }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/ba818f68/components/camel-boon/src/test/java/org/apache/camel/component/boon/BoonDataFormatTest.java
----------------------------------------------------------------------
diff --git a/components/camel-boon/src/test/java/org/apache/camel/component/boon/BoonDataFormatTest.java b/components/camel-boon/src/test/java/org/apache/camel/component/boon/BoonDataFormatTest.java
index ade07ba..81f3123 100644
--- a/components/camel-boon/src/test/java/org/apache/camel/component/boon/BoonDataFormatTest.java
+++ b/components/camel-boon/src/test/java/org/apache/camel/component/boon/BoonDataFormatTest.java
@@ -16,7 +16,9 @@
*/
package org.apache.camel.component.boon;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.apache.camel.builder.RouteBuilder;
@@ -63,6 +65,50 @@ public class BoonDataFormatTest extends CamelTestSupport {
mock.assertIsSatisfied();
}
+
+ @Test
+ public void testMarshalAndUnmarshalList() throws Exception {
+ List<String> in = new ArrayList<String>();
+ in.add("Karaf");
+ in.add("Camel");
+ in.add("Servicemix");
+
+ MockEndpoint mock = getMockEndpoint("mock:reverseList");
+ mock.expectedMessageCount(1);
+ mock.message(0).body().isInstanceOf(List.class);
+ mock.message(0).body().equals(in);
+
+ Object marshalled = template.requestBody("direct:inList", in);
+ String marshalledAsString = context.getTypeConverter().convertTo(String.class, marshalled);
+ assertEquals("[\"Karaf\",\"Camel\",\"Servicemix\"]", marshalledAsString);
+
+ template.sendBody("direct:backList", marshalled);
+
+ mock.assertIsSatisfied();
+ }
+
+ @Test
+ public void testMarshalAndUnmarshalPojoMap() throws Exception {
+ TestPojo in = new TestPojo();
+ in.setName("Camel");
+
+ HashMap<String,TestPojo> map = new HashMap<String,TestPojo>();
+ map.put("test1", in);
+ map.put("test2", in);
+
+ MockEndpoint mock = getMockEndpoint("mock:reversePojosMap");
+ mock.expectedMessageCount(1);
+ mock.message(0).body().isInstanceOf(HashMap.class);
+ mock.message(0).body().equals(map);
+
+ Object marshalled = template.requestBody("direct:inPojosMap", map);
+ String marshalledAsString = context.getTypeConverter().convertTo(String.class, marshalled);
+ assertEquals("{\"test1\":{\"name\":\"Camel\"},\"test2\":{\"name\":\"Camel\"}}", marshalledAsString);
+
+ template.sendBody("direct:backPojosMap", marshalled);
+
+ mock.assertIsSatisfied();
+ }
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
@@ -78,6 +124,17 @@ public class BoonDataFormatTest extends CamelTestSupport {
from("direct:inPojo").marshal(formatPojo);
from("direct:backPojo").unmarshal(formatPojo).to("mock:reversePojo");
+
+ BoonDataFormat formatList = new BoonDataFormat();
+ formatList.useList();
+
+ from("direct:inList").marshal(formatList);
+ from("direct:backList").unmarshal(formatList).to("mock:reverseList");
+
+ BoonDataFormat formatPojoMaps = new BoonDataFormat();
+
+ from("direct:inPojosMap").marshal(formatPojoMaps);
+ from("direct:backPojosMap").unmarshal(formatPojoMaps).to("mock:reversePojosMap");
}
};
}
[2/2] camel git commit: Fixed CS
Posted by ac...@apache.org.
Fixed CS
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/01f6b12b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/01f6b12b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/01f6b12b
Branch: refs/heads/master
Commit: 01f6b12bb07f0668a0259aeff7c655fa7458f16e
Parents: ba818f6
Author: Andrea Cosentino <an...@gmail.com>
Authored: Mon Dec 28 10:55:03 2015 +0100
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Mon Dec 28 10:55:03 2015 +0100
----------------------------------------------------------------------
.../main/java/org/apache/camel/component/boon/BoonDataFormat.java | 2 +-
.../java/org/apache/camel/component/boon/BoonDataFormatTest.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/01f6b12b/components/camel-boon/src/main/java/org/apache/camel/component/boon/BoonDataFormat.java
----------------------------------------------------------------------
diff --git a/components/camel-boon/src/main/java/org/apache/camel/component/boon/BoonDataFormat.java b/components/camel-boon/src/main/java/org/apache/camel/component/boon/BoonDataFormat.java
index e1e42cd..f493b38 100644
--- a/components/camel-boon/src/main/java/org/apache/camel/component/boon/BoonDataFormat.java
+++ b/components/camel-boon/src/main/java/org/apache/camel/component/boon/BoonDataFormat.java
@@ -129,6 +129,6 @@ public class BoonDataFormat extends ChildServiceSupport implements DataFormat, D
* Uses {@link java.util.List} when unmarshalling.
*/
public void useList() {
- setUnmarshalType(List.class);
+ setUnmarshalType(List.class);
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/01f6b12b/components/camel-boon/src/test/java/org/apache/camel/component/boon/BoonDataFormatTest.java
----------------------------------------------------------------------
diff --git a/components/camel-boon/src/test/java/org/apache/camel/component/boon/BoonDataFormatTest.java b/components/camel-boon/src/test/java/org/apache/camel/component/boon/BoonDataFormatTest.java
index 81f3123..302eaab 100644
--- a/components/camel-boon/src/test/java/org/apache/camel/component/boon/BoonDataFormatTest.java
+++ b/components/camel-boon/src/test/java/org/apache/camel/component/boon/BoonDataFormatTest.java
@@ -92,7 +92,7 @@ public class BoonDataFormatTest extends CamelTestSupport {
TestPojo in = new TestPojo();
in.setName("Camel");
- HashMap<String,TestPojo> map = new HashMap<String,TestPojo>();
+ HashMap<String, TestPojo> map = new HashMap<String, TestPojo>();
map.put("test1", in);
map.put("test2", in);