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 <davscl...@apache.org> Authored: Fri Sep 25 11:47:54 2015 +0200 Committer: Claus Ibsen <davscl...@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() {