You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/09/25 11:46:19 UTC

camel git commit: CAMEL-9157: JMX - Add explain to data format so we can know how exactly they are configured at runtime

Repository: camel
Updated Branches:
  refs/heads/master 357653a6e -> 8e69a3f7a


CAMEL-9157: JMX - Add explain to data format so we can know how exactly they are configured at runtime


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/8e69a3f7
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/8e69a3f7
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/8e69a3f7

Branch: refs/heads/master
Commit: 8e69a3f7a2903afaa68a09cf6bbdd3c5b009767a
Parents: 357653a
Author: Claus Ibsen <da...@apache.org>
Authored: Fri Sep 25 11:47:54 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Fri Sep 25 11:47:54 2015 +0200

----------------------------------------------------------------------
 .../java/org/apache/camel/impl/DefaultCamelContext.java     | 9 ++++++++-
 .../camel/dataformat/bindy/BindyAbstractDataFormat.java     | 5 -----
 .../camel/dataformat/bindy/csv/BindyCsvDataFormat.java      | 5 +++++
 .../dataformat/bindy/fixed/BindyFixedLengthDataFormat.java  | 5 +++++
 .../dataformat/bindy/kvp/BindyKeyValuePairDataFormat.java   | 5 +++++
 .../org/apache/camel/component/gson/GsonDataFormat.java     | 8 +++++++-
 .../apache/camel/component/jackson/JacksonDataFormat.java   | 8 +++++++-
 .../org/apache/camel/dataformat/xstream/JsonDataFormat.java | 2 +-
 8 files changed, 38 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/8e69a3f7/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
index 5d432a9..c7207fe 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
@@ -1643,7 +1643,14 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
         try {
             String json = getDataFormatParameterJsonSchema(dataFormatName);
             if (json == null) {
-                return null;
+                // the model may be shared for multiple data formats such as bindy, json (xstream, jackson, gson)
+                if (dataFormatName.contains("-")) {
+                    dataFormatName = ObjectHelper.before(dataFormatName, "-");
+                    json = getDataFormatParameterJsonSchema(dataFormatName);
+                }
+                if (json == null) {
+                    return null;
+                }
             }
 
             List<Map<String, String>> rows = JsonSchemaHelper.parseJsonSchema("properties", json, true);

http://git-wip-us.apache.org/repos/asf/camel/blob/8e69a3f7/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractDataFormat.java
----------------------------------------------------------------------
diff --git a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractDataFormat.java b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractDataFormat.java
index ebaada9..f34a06e 100644
--- a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractDataFormat.java
+++ b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractDataFormat.java
@@ -36,11 +36,6 @@ public abstract class BindyAbstractDataFormat extends ServiceSupport implements
         this.classType = classType;
     }
 
-    @Override
-    public String getDataFormatName() {
-        return "bindy";
-    }
-
     public Class<?> getClassType() {
         return classType;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/8e69a3f7/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/csv/BindyCsvDataFormat.java
----------------------------------------------------------------------
diff --git a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/csv/BindyCsvDataFormat.java b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/csv/BindyCsvDataFormat.java
index a85b5fa..cff8e7b 100755
--- a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/csv/BindyCsvDataFormat.java
+++ b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/csv/BindyCsvDataFormat.java
@@ -54,6 +54,11 @@ public class BindyCsvDataFormat extends BindyAbstractDataFormat {
         super(type);
     }
 
+    @Override
+    public String getDataFormatName() {
+        return "bindy-csv";
+    }
+
     @SuppressWarnings("unchecked")
     public void marshal(Exchange exchange, Object body, OutputStream outputStream) throws Exception {
 

http://git-wip-us.apache.org/repos/asf/camel/blob/8e69a3f7/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java
----------------------------------------------------------------------
diff --git a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java
index 8194612..f1548d1 100644
--- a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java
+++ b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java
@@ -60,6 +60,11 @@ public class BindyFixedLengthDataFormat extends BindyAbstractDataFormat {
         super(type);
     }
 
+    @Override
+    public String getDataFormatName() {
+        return "bindy-fixed";
+    }
+
     @SuppressWarnings("unchecked")
     public void marshal(Exchange exchange, Object body, OutputStream outputStream) throws Exception {
         BindyFixedLengthFactory factory = (BindyFixedLengthFactory) getFactory();

http://git-wip-us.apache.org/repos/asf/camel/blob/8e69a3f7/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/kvp/BindyKeyValuePairDataFormat.java
----------------------------------------------------------------------
diff --git a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/kvp/BindyKeyValuePairDataFormat.java b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/kvp/BindyKeyValuePairDataFormat.java
index 112330f..b27c6d8 100644
--- a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/kvp/BindyKeyValuePairDataFormat.java
+++ b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/kvp/BindyKeyValuePairDataFormat.java
@@ -52,6 +52,11 @@ public class BindyKeyValuePairDataFormat extends BindyAbstractDataFormat {
         super(type);
     }
 
+    @Override
+    public String getDataFormatName() {
+        return "bindy-kvp";
+    }
+
     @SuppressWarnings("unchecked")
     public void marshal(Exchange exchange, Object body, OutputStream outputStream) throws Exception {
         BindyAbstractFactory factory = getFactory();

http://git-wip-us.apache.org/repos/asf/camel/blob/8e69a3f7/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java
----------------------------------------------------------------------
diff --git a/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java b/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java
index 92ca6b9..86948cc 100644
--- a/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java
+++ b/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java
@@ -35,6 +35,7 @@ import com.google.gson.GsonBuilder;
 import com.google.gson.LongSerializationPolicy;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
+import org.apache.camel.spi.DataFormatName;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.util.IOHelper;
 
@@ -42,7 +43,7 @@ import org.apache.camel.util.IOHelper;
  * A <a href="http://camel.apache.org/data-format.html">data format</a> ({@link DataFormat})
  * using <a href="http://code.google.com/p/google-gson/">Gson</a> to marshal to and from JSON.
  */
-public class GsonDataFormat extends ServiceSupport implements DataFormat {
+public class GsonDataFormat extends ServiceSupport implements DataFormat, DataFormatName {
 
     private Gson gson;
     private Class<?> unmarshalType;
@@ -116,6 +117,11 @@ public class GsonDataFormat extends ServiceSupport implements DataFormat {
     }
 
     @Override
+    public String getDataFormatName() {
+        return "json-gson";
+    }
+
+    @Override
     public void marshal(Exchange exchange, Object graph, OutputStream stream) throws Exception {
         BufferedWriter writer = IOHelper.buffered(new OutputStreamWriter(stream, IOHelper.getCharsetName(exchange)));
         gson.toJson(graph, writer);

http://git-wip-us.apache.org/repos/asf/camel/blob/8e69a3f7/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
----------------------------------------------------------------------
diff --git a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
index b7e9b29..6aa465d 100644
--- a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
+++ b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
@@ -37,6 +37,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
+import org.apache.camel.spi.DataFormatName;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.util.CamelContextHelper;
 import org.apache.camel.util.ObjectHelper;
@@ -47,7 +48,7 @@ import org.slf4j.LoggerFactory;
  * A <a href="http://camel.apache.org/data-format.html">data format</a> ({@link DataFormat})
  * using <a href="http://jackson.codehaus.org/">Jackson</a> to marshal to and from JSON.
  */
-public class JacksonDataFormat extends ServiceSupport implements DataFormat, CamelContextAware {
+public class JacksonDataFormat extends ServiceSupport implements DataFormat, DataFormatName, CamelContextAware {
 
     private static final Logger LOG = LoggerFactory.getLogger(JacksonDataFormat.class);
 
@@ -137,6 +138,11 @@ public class JacksonDataFormat extends ServiceSupport implements DataFormat, Cam
         this.jsonView = jsonView;
     }
 
+    @Override
+    public String getDataFormatName() {
+        return "json-jackson";
+    }
+
     public CamelContext getCamelContext() {
         return camelContext;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/8e69a3f7/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/JsonDataFormat.java
----------------------------------------------------------------------
diff --git a/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/JsonDataFormat.java b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/JsonDataFormat.java
index 2819718..4904b15 100644
--- a/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/JsonDataFormat.java
+++ b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/JsonDataFormat.java
@@ -57,7 +57,7 @@ public class JsonDataFormat extends AbstractXStreamWrapper {
 
     @Override
     public String getDataFormatName() {
-        return "json";
+        return "json-xstream";
     }
 
     public boolean isPrettyPrint() {