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() {