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/a8bf17ed Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/a8bf17ed Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/a8bf17ed Branch: refs/heads/master Commit: a8bf17ed6fedd0c1fd03fb793874b321c55bcb8e Parents: f652549 Author: Claus Ibsen <davscl...@apache.org> Authored: Fri Sep 25 10:13:13 2015 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Fri Sep 25 10:13:13 2015 +0200 ---------------------------------------------------------------------- .../camel/dataformat/avro/AvroDataFormat.java | 8 ++- .../dataformat/barcode/BarcodeDataFormat.java | 8 ++- .../dataformat/base64/Base64DataFormat.java | 8 ++- .../dataformat/beanio/BeanIODataFormat.java | 8 ++- .../bindy/BindyAbstractDataFormat.java | 8 ++- .../camel/component/boon/BoonDataFormat.java | 8 ++- .../castor/AbstractCastorDataFormat.java | 8 ++- .../converter/crypto/CryptoDataFormat.java | 8 ++- .../crypto/PGPKeyAccessDataFormat.java | 8 ++- .../camel/dataformat/csv/CsvDataFormat.java | 8 ++- .../dataformat/flatpack/FlatpackDataFormat.java | 8 ++- .../camel/component/hl7/HL7DataFormat.java | 8 ++- .../camel/component/ical/ICalDataFormat.java | 53 +++++++++++--------- .../camel/converter/jaxb/JaxbDataFormat.java | 9 +++- .../camel/dataformat/jibx/JibxDataFormat.java | 8 ++- .../dataformat/protobuf/ProtobufDataFormat.java | 8 ++- .../camel/dataformat/rss/RssDataFormat.java | 17 ++++--- .../dataformat/soap/SoapJaxbDataFormat.java | 5 ++ .../component/syslog/SyslogDataFormat.java | 8 ++- .../tagsoup/TidyMarkupDataFormat.java | 10 +++- .../dataformat/tarfile/TarFileDataFormat.java | 16 ++++-- .../univocity/AbstractUniVocityDataFormat.java | 3 +- .../univocity/UniVocityCsvDataFormat.java | 5 ++ .../UniVocityFixedWidthDataFormat.java | 5 ++ .../univocity/UniVocityTsvDataFormat.java | 5 ++ .../converter/xmlbeans/XmlBeansDataFormat.java | 11 ++-- .../dataformat/xmljson/XmlJsonDataFormat.java | 8 ++- .../dataformat/xmlrpc/XmlRpcDataFormat.java | 8 ++- .../xmlsecurity/XMLSecurityDataFormat.java | 10 +++- .../xstream/AbstractXStreamWrapper.java | 3 +- .../dataformat/xstream/JsonDataFormat.java | 8 ++- .../dataformat/xstream/XStreamDataFormat.java | 7 ++- .../dataformat/zipfile/ZipFileDataFormat.java | 18 +++++-- 33 files changed, 252 insertions(+), 69 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-avro/src/main/java/org/apache/camel/dataformat/avro/AvroDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-avro/src/main/java/org/apache/camel/dataformat/avro/AvroDataFormat.java b/components/camel-avro/src/main/java/org/apache/camel/dataformat/avro/AvroDataFormat.java index 51ee131..9a03373 100644 --- a/components/camel-avro/src/main/java/org/apache/camel/dataformat/avro/AvroDataFormat.java +++ b/components/camel-avro/src/main/java/org/apache/camel/dataformat/avro/AvroDataFormat.java @@ -36,10 +36,11 @@ import org.apache.camel.CamelContextAware; import org.apache.camel.CamelException; 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.ObjectHelper; -public class AvroDataFormat extends ServiceSupport implements DataFormat, CamelContextAware { +public class AvroDataFormat extends ServiceSupport implements DataFormat, DataFormatName, CamelContextAware { private static final String GENERIC_CONTAINER_CLASSNAME = GenericContainer.class.getName(); private CamelContext camelContext; @@ -54,6 +55,11 @@ public class AvroDataFormat extends ServiceSupport implements DataFormat, CamelC this.schema = schema; } + @Override + public String getDataFormatName() { + return "avro"; + } + public CamelContext getCamelContext() { return camelContext; } http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-barcode/src/main/java/org/apache/camel/dataformat/barcode/BarcodeDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-barcode/src/main/java/org/apache/camel/dataformat/barcode/BarcodeDataFormat.java b/components/camel-barcode/src/main/java/org/apache/camel/dataformat/barcode/BarcodeDataFormat.java index 0f6ea37..c062aa0 100644 --- a/components/camel-barcode/src/main/java/org/apache/camel/dataformat/barcode/BarcodeDataFormat.java +++ b/components/camel-barcode/src/main/java/org/apache/camel/dataformat/barcode/BarcodeDataFormat.java @@ -38,6 +38,7 @@ import com.google.zxing.datamatrix.encoder.SymbolShapeHint; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; 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.ExchangeHelper; import org.slf4j.Logger; @@ -50,7 +51,7 @@ import org.slf4j.LoggerFactory; * <p/> * https://github.com/zxing/zxing */ -public class BarcodeDataFormat extends ServiceSupport implements DataFormat { +public class BarcodeDataFormat extends ServiceSupport implements DataFormat, DataFormatName { /** * Logger. @@ -137,6 +138,11 @@ public class BarcodeDataFormat extends ServiceSupport implements DataFormat { this.optimizeHints(); } + @Override + public String getDataFormatName() { + return "barcode"; + } + /** * Marshall a {@link String} payload to a code image. */ http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-base64/src/main/java/org/apache/camel/dataformat/base64/Base64DataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-base64/src/main/java/org/apache/camel/dataformat/base64/Base64DataFormat.java b/components/camel-base64/src/main/java/org/apache/camel/dataformat/base64/Base64DataFormat.java index 4b9ee75..61aefc5 100644 --- a/components/camel-base64/src/main/java/org/apache/camel/dataformat/base64/Base64DataFormat.java +++ b/components/camel-base64/src/main/java/org/apache/camel/dataformat/base64/Base64DataFormat.java @@ -21,6 +21,7 @@ import java.io.OutputStream; 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.ExchangeHelper; import org.apache.camel.util.IOHelper; @@ -28,13 +29,18 @@ import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64InputStream; import org.apache.commons.codec.binary.Base64OutputStream; -public class Base64DataFormat extends ServiceSupport implements DataFormat { +public class Base64DataFormat extends ServiceSupport implements DataFormat, DataFormatName { private int lineLength = Base64.MIME_CHUNK_SIZE; private byte[] lineSeparator = {'\r', '\n'}; private boolean urlSafe; @Override + public String getDataFormatName() { + return "base64"; + } + + @Override public void marshal(Exchange exchange, Object graph, OutputStream stream) throws Exception { if (urlSafe) { marshalUrlSafe(exchange, graph, stream); http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIODataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIODataFormat.java b/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIODataFormat.java index 4b244ed..fb2ed4c 100644 --- a/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIODataFormat.java +++ b/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIODataFormat.java @@ -32,6 +32,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.IOHelper; import org.apache.camel.util.ObjectHelper; @@ -50,7 +51,7 @@ import org.slf4j.LoggerFactory; * A <a href="http://camel.apache.org/data-format.html">data format</a> ( * {@link DataFormat}) for beanio data. */ -public class BeanIODataFormat extends ServiceSupport implements DataFormat, CamelContextAware { +public class BeanIODataFormat extends ServiceSupport implements DataFormat, DataFormatName, CamelContextAware { private static final String LOG_PREFIX = "BeanIO: "; private static final Logger LOG = LoggerFactory.getLogger(BeanIODataFormat.class); @@ -74,6 +75,11 @@ public class BeanIODataFormat extends ServiceSupport implements DataFormat, Came } @Override + public String getDataFormatName() { + return "beanio"; + } + + @Override protected void doStart() throws Exception { ObjectHelper.notNull(streamName, "Stream name not configured."); if (factory == null) { http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/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 b01e6d7..ebaada9 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 @@ -21,9 +21,10 @@ import java.util.List; import java.util.Map; import org.apache.camel.spi.DataFormat; +import org.apache.camel.spi.DataFormatName; import org.apache.camel.support.ServiceSupport; -public abstract class BindyAbstractDataFormat extends ServiceSupport implements DataFormat { +public abstract class BindyAbstractDataFormat extends ServiceSupport implements DataFormat, DataFormatName { private String locale; private BindyAbstractFactory modelFactory; private Class<?> classType; @@ -35,6 +36,11 @@ 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/a8bf17ed/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 24fbc42..09a5c10 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 @@ -26,6 +26,7 @@ import java.util.HashMap; import org.apache.camel.Exchange; import org.apache.camel.spi.DataFormat; +import org.apache.camel.spi.DataFormatName; import org.apache.camel.support.ChildServiceSupport; import org.apache.camel.util.IOHelper; import org.boon.json.JsonFactory; @@ -37,7 +38,7 @@ import org.boon.json.ObjectMapper; * href="http://richardhightower.github.io/site/Boon/">Boon</a> to marshal to * and from JSON. */ -public class BoonDataFormat extends ChildServiceSupport implements DataFormat { +public class BoonDataFormat extends ChildServiceSupport implements DataFormat, DataFormatName { private final ObjectMapper objectMapper; private Class<?> unmarshalType; @@ -68,6 +69,11 @@ public class BoonDataFormat extends ChildServiceSupport implements DataFormat { } @Override + public String getDataFormatName() { + return "boon"; + } + + @Override public void marshal(Exchange exchange, Object graph, OutputStream stream) throws Exception { BufferedWriter writer = IOHelper.buffered(new OutputStreamWriter(stream, IOHelper.getCharsetName(exchange))); objectMapper.toJson(graph, writer); http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/AbstractCastorDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/AbstractCastorDataFormat.java b/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/AbstractCastorDataFormat.java index 24cbcf2..dee44cc 100644 --- a/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/AbstractCastorDataFormat.java +++ b/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/AbstractCastorDataFormat.java @@ -28,6 +28,7 @@ import org.apache.camel.CamelContextAware; import org.apache.camel.Exchange; import org.apache.camel.spi.ClassResolver; import org.apache.camel.spi.DataFormat; +import org.apache.camel.spi.DataFormatName; import org.apache.camel.support.ServiceSupport; import org.apache.camel.util.ObjectHelper; import org.exolab.castor.mapping.Mapping; @@ -41,7 +42,7 @@ import org.exolab.castor.xml.XMLContext; * interface which leverage the Castor library for XML marshaling and * unmarshaling */ -public abstract class AbstractCastorDataFormat extends ServiceSupport implements DataFormat, CamelContextAware { +public abstract class AbstractCastorDataFormat extends ServiceSupport implements DataFormat, DataFormatName, CamelContextAware { /** * The default encoding used for stream access. @@ -63,6 +64,11 @@ public abstract class AbstractCastorDataFormat extends ServiceSupport implements this.xmlContext = xmlContext; } + @Override + public String getDataFormatName() { + return "castor"; + } + public void marshal(Exchange exchange, Object body, OutputStream outputStream) throws Exception { Writer writer = new OutputStreamWriter(outputStream, encoding); http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/CryptoDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/CryptoDataFormat.java b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/CryptoDataFormat.java index dd1d2c4..e8c5178 100644 --- a/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/CryptoDataFormat.java +++ b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/CryptoDataFormat.java @@ -35,6 +35,7 @@ import static javax.crypto.Cipher.ENCRYPT_MODE; 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.ExchangeHelper; import org.apache.camel.util.IOHelper; @@ -68,7 +69,7 @@ import org.slf4j.LoggerFactory; * <li>http://en.wikipedia.org/wiki/HMAC</li> * </ul> */ -public class CryptoDataFormat extends ServiceSupport implements DataFormat { +public class CryptoDataFormat extends ServiceSupport implements DataFormat, DataFormatName { public static final String KEY = "CamelCryptoKey"; @@ -97,6 +98,11 @@ public class CryptoDataFormat extends ServiceSupport implements DataFormat { this.cryptoProvider = cryptoProvider; } + @Override + public String getDataFormatName() { + return "crypto"; + } + private Cipher initializeCipher(int mode, Key key, byte[] iv) throws Exception { Cipher cipher = cryptoProvider == null ? Cipher.getInstance(algorithm) : Cipher.getInstance(algorithm, cryptoProvider); http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java index 0d521a8..c926a81 100644 --- a/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java +++ b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java @@ -33,6 +33,7 @@ import java.util.List; import org.apache.camel.Exchange; import org.apache.camel.converter.stream.CachedOutputStream; import org.apache.camel.spi.DataFormat; +import org.apache.camel.spi.DataFormatName; import org.apache.camel.support.ServiceSupport; import org.apache.camel.util.ExchangeHelper; import org.apache.camel.util.IOHelper; @@ -78,7 +79,7 @@ import org.slf4j.LoggerFactory; * array or file, then you should use the class {@link PGPDataFormat}. * */ -public class PGPKeyAccessDataFormat extends ServiceSupport implements DataFormat { +public class PGPKeyAccessDataFormat extends ServiceSupport implements DataFormat, DataFormatName { private static final Logger log = LoggerFactory.getLogger(PGPKeyAccessDataFormat.class); @@ -180,6 +181,11 @@ public class PGPKeyAccessDataFormat extends ServiceSupport implements DataFormat public PGPKeyAccessDataFormat() { } + @Override + public String getDataFormatName() { + return "pgp"; + } + protected String findKeyUserid(Exchange exchange) { return exchange.getIn().getHeader(KEY_USERID, getKeyUserid(), String.class); } http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvDataFormat.java b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvDataFormat.java index 3437a3f..53476d6 100644 --- a/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvDataFormat.java +++ b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvDataFormat.java @@ -22,6 +22,7 @@ import java.util.Arrays; 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.commons.csv.CSVFormat; import org.apache.commons.csv.QuoteMode; @@ -35,7 +36,7 @@ import org.apache.commons.csv.QuoteMode; * Autogeneration can be disabled. In this case, only the fields defined in * csvConfig are written on the output. */ -public class CsvDataFormat extends ServiceSupport implements DataFormat { +public class CsvDataFormat extends ServiceSupport implements DataFormat, DataFormatName { // CSV format options private CSVFormat format = CSVFormat.DEFAULT; private boolean commentMarkerDisabled; @@ -72,6 +73,11 @@ public class CsvDataFormat extends ServiceSupport implements DataFormat { setFormat(format); } + @Override + public String getDataFormatName() { + return "csv"; + } + public void marshal(Exchange exchange, Object object, OutputStream outputStream) throws Exception { marshaller.marshal(exchange, object, outputStream); } http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-flatpack/src/main/java/org/apache/camel/dataformat/flatpack/FlatpackDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-flatpack/src/main/java/org/apache/camel/dataformat/flatpack/FlatpackDataFormat.java b/components/camel-flatpack/src/main/java/org/apache/camel/dataformat/flatpack/FlatpackDataFormat.java index a2bb9bc..941f819 100644 --- a/components/camel-flatpack/src/main/java/org/apache/camel/dataformat/flatpack/FlatpackDataFormat.java +++ b/components/camel-flatpack/src/main/java/org/apache/camel/dataformat/flatpack/FlatpackDataFormat.java @@ -36,6 +36,7 @@ import net.sf.flatpack.writer.Writer; import org.apache.camel.Exchange; import org.apache.camel.component.flatpack.DataSetList; import org.apache.camel.spi.DataFormat; +import org.apache.camel.spi.DataFormatName; import org.apache.camel.support.ServiceSupport; import org.apache.camel.util.IOHelper; import org.apache.camel.util.ObjectHelper; @@ -56,7 +57,7 @@ import org.slf4j.LoggerFactory; * * @version */ -public class FlatpackDataFormat extends ServiceSupport implements DataFormat { +public class FlatpackDataFormat extends ServiceSupport implements DataFormat, DataFormatName { private static final Logger LOG = LoggerFactory.getLogger(FlatpackDataFormat.class); private ParserFactory parserFactory = DefaultParserFactory.getInstance(); private char delimiter = ','; @@ -67,6 +68,11 @@ public class FlatpackDataFormat extends ServiceSupport implements DataFormat { private boolean ignoreExtraColumns; private String definition; + @Override + public String getDataFormatName() { + return "flatback"; + } + @SuppressWarnings("unchecked") public void marshal(Exchange exchange, Object graph, OutputStream stream) throws Exception { ObjectHelper.notNull(graph, "The object to marshal must be provided"); http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7DataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7DataFormat.java b/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7DataFormat.java index d56e7ea..378f4f6 100644 --- a/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7DataFormat.java +++ b/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7DataFormat.java @@ -29,6 +29,7 @@ import ca.uhn.hl7v2.util.Terser; import ca.uhn.hl7v2.validation.impl.ValidationContextFactory; 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.ExchangeHelper; import org.apache.camel.util.IOHelper; @@ -70,7 +71,7 @@ import static org.apache.camel.component.hl7.HL7Constants.*; * * @see org.apache.camel.component.hl7.HL7MLLPCodec */ -public class HL7DataFormat extends ServiceSupport implements DataFormat { +public class HL7DataFormat extends ServiceSupport implements DataFormat, DataFormatName { private static final Map<String, String> HEADER_MAP = new HashMap<String, String>(); @@ -93,6 +94,11 @@ public class HL7DataFormat extends ServiceSupport implements DataFormat { HEADER_MAP.put(HL7_CHARSET, "MSH-18"); } + @Override + public String getDataFormatName() { + return "hl7"; + } + public void marshal(Exchange exchange, Object body, OutputStream outputStream) throws Exception { Message message = ExchangeHelper.convertToMandatoryType(exchange, Message.class, body); String charsetName = HL7Charset.getCharsetName(message, exchange); http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-ical/src/main/java/org/apache/camel/component/ical/ICalDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-ical/src/main/java/org/apache/camel/component/ical/ICalDataFormat.java b/components/camel-ical/src/main/java/org/apache/camel/component/ical/ICalDataFormat.java index 1db789b..eae6ff8 100644 --- a/components/camel-ical/src/main/java/org/apache/camel/component/ical/ICalDataFormat.java +++ b/components/camel-ical/src/main/java/org/apache/camel/component/ical/ICalDataFormat.java @@ -25,19 +25,43 @@ import net.fortuna.ical4j.model.Calendar; import org.apache.camel.Exchange; import org.apache.camel.spi.DataFormat; +import org.apache.camel.spi.DataFormatName; import org.apache.camel.support.ServiceSupport; /** * Bridge ICal data format to camel world. */ -public class ICalDataFormat extends ServiceSupport implements DataFormat { +public class ICalDataFormat extends ServiceSupport implements DataFormat, DataFormatName { - /** - * Class responsible for writing out calendar instances. - */ private CalendarOutputter outputer = new CalendarOutputter(); private CalendarBuilder builder = new CalendarBuilder(); + @Override + public String getDataFormatName() { + return "ical"; + } + + @Override + public void marshal(Exchange exchange, Object graph, OutputStream stream) throws Exception { + Calendar calendar = exchange.getContext().getTypeConverter().convertTo(Calendar.class, graph); + outputer.output(calendar, stream); + } + + @Override + public Object unmarshal(Exchange exchange, InputStream stream) throws Exception { + return builder.build(stream); + } + + @Override + protected void doStart() throws Exception { + // noop + } + + @Override + protected void doStop() throws Exception { + // noop + } + public void setValidating(boolean validate) { outputer.setValidating(validate); } @@ -62,25 +86,4 @@ public class ICalDataFormat extends ServiceSupport implements DataFormat { this.builder = builder; } - @Override - public void marshal(Exchange exchange, Object graph, OutputStream stream) throws Exception { - Calendar calendar = exchange.getContext().getTypeConverter().convertTo(Calendar.class, graph); - outputer.output(calendar, stream); - } - - @Override - public Object unmarshal(Exchange exchange, InputStream stream) throws Exception { - return builder.build(stream); - } - - @Override - protected void doStart() throws Exception { - // noop - } - - @Override - protected void doStop() throws Exception { - // noop - } - } http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java index 68593eb..dc5090e 100644 --- a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java +++ b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java @@ -44,6 +44,8 @@ import javax.xml.transform.Source; import javax.xml.transform.stream.StreamSource; import javax.xml.validation.Schema; import javax.xml.validation.SchemaFactory; + +import org.apache.camel.spi.DataFormatName; import org.xml.sax.SAXException; import org.apache.camel.CamelContext; @@ -68,7 +70,7 @@ import org.slf4j.LoggerFactory; * * @version */ -public class JaxbDataFormat extends ServiceSupport implements DataFormat, CamelContextAware { +public class JaxbDataFormat extends ServiceSupport implements DataFormat, DataFormatName, CamelContextAware { private static final Logger LOG = LoggerFactory.getLogger(JaxbDataFormat.class); private static final BlockingQueue<SchemaFactory> SCHEMA_FACTORY_POOL = new LinkedBlockingQueue<SchemaFactory>(); @@ -109,6 +111,11 @@ public class JaxbDataFormat extends ServiceSupport implements DataFormat, CamelC this.contextPath = contextPath; } + @Override + public String getDataFormatName() { + return "jaxb"; + } + public void marshal(Exchange exchange, Object graph, OutputStream stream) throws IOException, SAXException { try { // must create a new instance of marshaller as its not thread safe http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/JibxDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/JibxDataFormat.java b/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/JibxDataFormat.java index 2727a89..6d9d519 100644 --- a/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/JibxDataFormat.java +++ b/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/JibxDataFormat.java @@ -21,6 +21,7 @@ import java.io.OutputStream; 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.ObjectHelper; import org.jibx.runtime.BindingDirectory; @@ -29,7 +30,7 @@ import org.jibx.runtime.IMarshallingContext; import org.jibx.runtime.IUnmarshallingContext; import org.jibx.runtime.JiBXException; -public class JibxDataFormat extends ServiceSupport implements DataFormat { +public class JibxDataFormat extends ServiceSupport implements DataFormat, DataFormatName { private Class<?> unmarshallClass; private String bindingName; @@ -45,6 +46,11 @@ public class JibxDataFormat extends ServiceSupport implements DataFormat { this.setBindingName(bindingName); } + @Override + public String getDataFormatName() { + return "jibx"; + } + public void marshal(Exchange exchange, Object body, OutputStream stream) throws Exception { IBindingFactory bindingFactory = createBindingFactory(body.getClass(), bindingName); IMarshallingContext marshallingContext = bindingFactory.createMarshallingContext(); http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormat.java b/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormat.java index 446edfc..485ad8c 100755 --- a/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormat.java +++ b/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormat.java @@ -28,10 +28,11 @@ import org.apache.camel.CamelException; import org.apache.camel.Exchange; import org.apache.camel.InvalidPayloadException; import org.apache.camel.spi.DataFormat; +import org.apache.camel.spi.DataFormatName; import org.apache.camel.support.ServiceSupport; import org.apache.camel.util.ObjectHelper; -public class ProtobufDataFormat extends ServiceSupport implements DataFormat, CamelContextAware { +public class ProtobufDataFormat extends ServiceSupport implements DataFormat, DataFormatName, CamelContextAware { private CamelContext camelContext; private Message defaultInstance; @@ -44,6 +45,11 @@ public class ProtobufDataFormat extends ServiceSupport implements DataFormat, Ca this.defaultInstance = defaultInstance; } + @Override + public String getDataFormatName() { + return "protobuf"; + } + public CamelContext getCamelContext() { return camelContext; } http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/RssDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/RssDataFormat.java b/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/RssDataFormat.java index f74666e..8808d38 100644 --- a/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/RssDataFormat.java +++ b/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/RssDataFormat.java @@ -22,10 +22,9 @@ import java.io.OutputStream; import com.sun.syndication.feed.synd.SyndFeed; 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.ExchangeHelper; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * RSS DataFormat @@ -39,12 +38,16 @@ import org.slf4j.LoggerFactory; * Uses <a href="https://rome.dev.java.net/">ROME</a> for RSS parsing. * <p/> */ -public class RssDataFormat extends ServiceSupport implements DataFormat { - protected static final Logger LOG = LoggerFactory.getLogger(RssDataFormat.class); - +public class RssDataFormat extends ServiceSupport implements DataFormat, DataFormatName { + + @Override + public String getDataFormatName() { + return "rss"; + } + public void marshal(Exchange exchange, Object body, OutputStream out) throws Exception { - SyndFeed feed = ExchangeHelper.convertToMandatoryType(exchange, SyndFeed.class, body); - String xml = RssConverter.feedToXml(feed); + SyndFeed feed = ExchangeHelper.convertToMandatoryType(exchange, SyndFeed.class, body); + String xml = RssConverter.feedToXml(feed); out.write(xml.getBytes()); } http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/SoapJaxbDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/SoapJaxbDataFormat.java b/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/SoapJaxbDataFormat.java index cdc3a5e..c4581d5 100644 --- a/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/SoapJaxbDataFormat.java +++ b/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/SoapJaxbDataFormat.java @@ -92,6 +92,11 @@ public class SoapJaxbDataFormat extends JaxbDataFormat { } @Override + public String getDataFormatName() { + return "soapjaxb"; + } + + @Override protected void doStart() throws Exception { if ("1.2".equals(version)) { LOG.debug("Using SOAP 1.2 adapter"); http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-syslog/src/main/java/org/apache/camel/component/syslog/SyslogDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-syslog/src/main/java/org/apache/camel/component/syslog/SyslogDataFormat.java b/components/camel-syslog/src/main/java/org/apache/camel/component/syslog/SyslogDataFormat.java index 84860cb..c85275f 100644 --- a/components/camel-syslog/src/main/java/org/apache/camel/component/syslog/SyslogDataFormat.java +++ b/components/camel-syslog/src/main/java/org/apache/camel/component/syslog/SyslogDataFormat.java @@ -22,10 +22,16 @@ import java.util.Date; 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.ExchangeHelper; -public class SyslogDataFormat extends ServiceSupport implements DataFormat { +public class SyslogDataFormat extends ServiceSupport implements DataFormat, DataFormatName { + + @Override + public String getDataFormatName() { + return "syslog"; + } @Override public void marshal(Exchange exchange, Object body, OutputStream stream) throws Exception { http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-tagsoup/src/main/java/org/apache/camel/dataformat/tagsoup/TidyMarkupDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-tagsoup/src/main/java/org/apache/camel/dataformat/tagsoup/TidyMarkupDataFormat.java b/components/camel-tagsoup/src/main/java/org/apache/camel/dataformat/tagsoup/TidyMarkupDataFormat.java index e5a8250..69eeb7d 100644 --- a/components/camel-tagsoup/src/main/java/org/apache/camel/dataformat/tagsoup/TidyMarkupDataFormat.java +++ b/components/camel-tagsoup/src/main/java/org/apache/camel/dataformat/tagsoup/TidyMarkupDataFormat.java @@ -28,7 +28,6 @@ import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMResult; import javax.xml.transform.sax.SAXSource; -import org.apache.camel.support.ServiceSupport; import org.w3c.dom.Node; import org.xml.sax.ContentHandler; @@ -38,6 +37,8 @@ import org.xml.sax.XMLReader; import org.apache.camel.CamelException; 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.ObjectHelper; import org.ccil.cowan.tagsoup.HTMLSchema; import org.ccil.cowan.tagsoup.Parser; @@ -53,7 +54,7 @@ import org.slf4j.LoggerFactory; * xpath'ed on. * */ -public class TidyMarkupDataFormat extends ServiceSupport implements DataFormat { +public class TidyMarkupDataFormat extends ServiceSupport implements DataFormat, DataFormatName { /* * Our Logger @@ -104,6 +105,11 @@ public class TidyMarkupDataFormat extends ServiceSupport implements DataFormat { */ private Map<String, Object> parserPropeties; + @Override + public String getDataFormatName() { + return "tidyMarkup"; + } + /** * Unsupported operation. We cannot create ugly HTML. */ http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java b/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java index d994cf2..e195699 100644 --- a/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java +++ b/components/camel-tarfile/src/main/java/org/apache/camel/dataformat/tarfile/TarFileDataFormat.java @@ -24,6 +24,7 @@ import java.io.OutputStream; 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; import org.apache.camel.util.StringHelper; @@ -39,11 +40,12 @@ import static org.apache.camel.Exchange.FILE_NAME; * Tar file data format. * Based on ZipFileDataFormat from camel-zipfile component */ -public class TarFileDataFormat extends ServiceSupport implements DataFormat { +public class TarFileDataFormat extends ServiceSupport implements DataFormat, DataFormatName { private boolean usingIterator; - public void setUsingIterator(boolean usingIterator) { - this.usingIterator = usingIterator; + @Override + public String getDataFormatName() { + return "tarfile"; } @Override @@ -110,6 +112,14 @@ public class TarFileDataFormat extends ServiceSupport implements DataFormat { } } + public boolean isUsingIterator() { + return usingIterator; + } + + public void setUsingIterator(boolean usingIterator) { + this.usingIterator = usingIterator; + } + @Override protected void doStart() throws Exception { // noop http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/AbstractUniVocityDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/AbstractUniVocityDataFormat.java b/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/AbstractUniVocityDataFormat.java index f459377..39faf37 100644 --- a/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/AbstractUniVocityDataFormat.java +++ b/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/AbstractUniVocityDataFormat.java @@ -31,6 +31,7 @@ import com.univocity.parsers.common.CommonWriterSettings; import com.univocity.parsers.common.Format; import org.apache.camel.Exchange; import org.apache.camel.spi.DataFormat; +import org.apache.camel.spi.DataFormatName; import org.apache.camel.support.ServiceSupport; import static org.apache.camel.util.IOHelper.getCharsetName; @@ -50,7 +51,7 @@ import static org.apache.camel.util.IOHelper.getCharsetName; */ public abstract class AbstractUniVocityDataFormat<F extends Format, CWS extends CommonWriterSettings<F>, W extends AbstractWriter<CWS>, CPS extends CommonParserSettings<F>, P extends AbstractParser<CPS>, DF extends AbstractUniVocityDataFormat<F, CWS, W, CPS, P, DF>> - extends ServiceSupport implements DataFormat { + extends ServiceSupport implements DataFormat, DataFormatName { protected String nullValue; protected Boolean skipEmptyLines; protected Boolean ignoreTrailingWhitespaces; http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityCsvDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityCsvDataFormat.java b/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityCsvDataFormat.java index 8e39cfb..99a8da9 100644 --- a/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityCsvDataFormat.java +++ b/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityCsvDataFormat.java @@ -206,4 +206,9 @@ public class UniVocityCsvDataFormat extends AbstractUniVocityDataFormat<CsvForma format.setDelimiter(delimiter); } } + + @Override + public String getDataFormatName() { + return "univocity-csv"; + } } http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityFixedWidthDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityFixedWidthDataFormat.java b/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityFixedWidthDataFormat.java index 6458849..f9b125d 100644 --- a/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityFixedWidthDataFormat.java +++ b/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityFixedWidthDataFormat.java @@ -216,4 +216,9 @@ public class UniVocityFixedWidthDataFormat extends AbstractUniVocityDataFormat<F } return new FixedWidthFieldLengths(fields); } + + @Override + public String getDataFormatName() { + return "univocity-fixed"; + } } http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityTsvDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityTsvDataFormat.java b/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityTsvDataFormat.java index b7f8eaa..2e980fd 100644 --- a/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityTsvDataFormat.java +++ b/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/UniVocityTsvDataFormat.java @@ -98,4 +98,9 @@ public class UniVocityTsvDataFormat extends AbstractUniVocityDataFormat<TsvForma format.setEscapeChar(escapeChar); } } + + @Override + public String getDataFormatName() { + return "univocity-tsv"; + } } http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-xmlbeans/src/main/java/org/apache/camel/converter/xmlbeans/XmlBeansDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-xmlbeans/src/main/java/org/apache/camel/converter/xmlbeans/XmlBeansDataFormat.java b/components/camel-xmlbeans/src/main/java/org/apache/camel/converter/xmlbeans/XmlBeansDataFormat.java index a357fc5..8e0be84 100644 --- a/components/camel-xmlbeans/src/main/java/org/apache/camel/converter/xmlbeans/XmlBeansDataFormat.java +++ b/components/camel-xmlbeans/src/main/java/org/apache/camel/converter/xmlbeans/XmlBeansDataFormat.java @@ -22,6 +22,7 @@ import java.util.concurrent.Callable; 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.ExchangeHelper; import org.apache.camel.util.ObjectHelper; @@ -31,7 +32,12 @@ import org.apache.xmlbeans.XmlObject; * A <a href="http://camel.apache.org/data-format.html">data format</a> * ({@link DataFormat}) using XmlBeans to marshal to and from XML */ -public class XmlBeansDataFormat extends ServiceSupport implements DataFormat { +public class XmlBeansDataFormat extends ServiceSupport implements DataFormat, DataFormatName { + + @Override + public String getDataFormatName() { + return "xmlBeans"; + } public void marshal(final Exchange exchange, final Object body, final OutputStream stream) throws Exception { ObjectHelper.callWithTCCL(new Callable<Void>() { @@ -42,7 +48,7 @@ public class XmlBeansDataFormat extends ServiceSupport implements DataFormat { return null; } }, exchange); - + } public Object unmarshal(final Exchange exchange, final InputStream stream) throws Exception { @@ -63,5 +69,4 @@ public class XmlBeansDataFormat extends ServiceSupport implements DataFormat { protected void doStop() throws Exception { // noop } - } http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java b/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java index 81d9420..be34928 100644 --- a/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java +++ b/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java @@ -30,6 +30,7 @@ import net.sf.json.JSONSerializer; import net.sf.json.xml.XMLSerializer; 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; @@ -38,7 +39,7 @@ import org.apache.camel.util.IOHelper; * <a href="http://json-lib.sourceforge.net/">json-lib</a> to convert between XML * and JSON directly. */ -public class XmlJsonDataFormat extends ServiceSupport implements DataFormat { +public class XmlJsonDataFormat extends ServiceSupport implements DataFormat, DataFormatName { private XMLSerializer serializer; @@ -60,6 +61,11 @@ public class XmlJsonDataFormat extends ServiceSupport implements DataFormat { } @Override + public String getDataFormatName() { + return "xmljson"; + } + + @Override protected void doStart() throws Exception { serializer = new XMLSerializer(); http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-xmlrpc/src/main/java/org/apache/camel/dataformat/xmlrpc/XmlRpcDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-xmlrpc/src/main/java/org/apache/camel/dataformat/xmlrpc/XmlRpcDataFormat.java b/components/camel-xmlrpc/src/main/java/org/apache/camel/dataformat/xmlrpc/XmlRpcDataFormat.java index 1e2be5a..cd90a0d 100644 --- a/components/camel-xmlrpc/src/main/java/org/apache/camel/dataformat/xmlrpc/XmlRpcDataFormat.java +++ b/components/camel-xmlrpc/src/main/java/org/apache/camel/dataformat/xmlrpc/XmlRpcDataFormat.java @@ -23,6 +23,7 @@ import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; +import org.apache.camel.spi.DataFormatName; import org.apache.camel.support.ServiceSupport; import org.xml.sax.InputSource; import org.xml.sax.SAXException; @@ -46,7 +47,7 @@ import org.apache.xmlrpc.parser.XmlRpcRequestParser; import org.apache.xmlrpc.parser.XmlRpcResponseParser; import org.apache.xmlrpc.util.SAXParsers; -public class XmlRpcDataFormat extends ServiceSupport implements DataFormat { +public class XmlRpcDataFormat extends ServiceSupport implements DataFormat, DataFormatName { private XmlRpcStreamRequestConfig xmlRpcStreamRequestConfig = new XmlRpcHttpRequestConfigImpl(); private TypeFactory typeFactory = new TypeFactoryImpl(null); private boolean isRequest; @@ -66,6 +67,11 @@ public class XmlRpcDataFormat extends ServiceSupport implements DataFormat { } @Override + public String getDataFormatName() { + return "xmlrpc"; + } + + @Override public void marshal(Exchange exchange, Object graph, OutputStream stream) throws Exception { // need to check the object type XMLWriter control = getXMLWriter(exchange, stream); http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java b/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java index b7eed69..25da8f4 100755 --- a/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java +++ b/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/XMLSecurityDataFormat.java @@ -40,6 +40,7 @@ import javax.crypto.spec.DESedeKeySpec; import javax.crypto.spec.SecretKeySpec; import javax.xml.transform.dom.DOMSource; +import org.apache.camel.spi.DataFormatName; import org.apache.camel.support.ServiceSupport; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -66,7 +67,7 @@ import org.slf4j.LoggerFactory; -public class XMLSecurityDataFormat extends ServiceSupport implements DataFormat, CamelContextAware { +public class XMLSecurityDataFormat extends ServiceSupport implements DataFormat, DataFormatName, CamelContextAware { /** * @deprecated Use {@link #XMLSecurityDataFormat(String, Map, boolean, String, String, String, KeyStoreParameters)} instead. @@ -363,7 +364,12 @@ public class XMLSecurityDataFormat extends ServiceSupport implements DataFormat, this.setKeyPassword(keyPassword); this.setDigestAlgorithm(digestAlgorithm); } - + + @Override + public String getDataFormatName() { + return "secureXML"; + } + @Override public void setCamelContext(CamelContext camelContext) { this.camelContext = camelContext; http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/AbstractXStreamWrapper.java ---------------------------------------------------------------------- diff --git a/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/AbstractXStreamWrapper.java b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/AbstractXStreamWrapper.java index 8b51a4b..b98725e 100644 --- a/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/AbstractXStreamWrapper.java +++ b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/AbstractXStreamWrapper.java @@ -38,6 +38,7 @@ import org.apache.camel.Exchange; import org.apache.camel.converter.jaxp.StaxConverter; import org.apache.camel.spi.ClassResolver; import org.apache.camel.spi.DataFormat; +import org.apache.camel.spi.DataFormatName; import org.apache.camel.support.ServiceSupport; import org.apache.camel.util.ObjectHelper; @@ -45,7 +46,7 @@ import org.apache.camel.util.ObjectHelper; * An abstract class which implement <a href="http://camel.apache.org/data-format.html">data format</a> * ({@link DataFormat}) interface which leverage the XStream library for XML or JSON's marshaling and unmarshaling */ -public abstract class AbstractXStreamWrapper extends ServiceSupport implements DataFormat { +public abstract class AbstractXStreamWrapper extends ServiceSupport implements DataFormat, DataFormatName { private XStream xstream; private HierarchicalStreamDriver xstreamDriver; http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/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 bbf96b7..2819718 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 @@ -40,11 +40,10 @@ import org.codehaus.jettison.mapped.MappedXMLOutputFactory; /** * A <a href="http://camel.apache.org/data-format.html">data format</a> - * ({@link DataFormat}) using XStream and Jettison to marshal to and from JSON + * ({@link org.apache.camel.spi.DataFormat}) using XStream and Jettison to marshal to and from JSON * * @version */ - public class JsonDataFormat extends AbstractXStreamWrapper { private final MappedXMLOutputFactory mof; private final MappedXMLInputFactory mif; @@ -56,6 +55,11 @@ public class JsonDataFormat extends AbstractXStreamWrapper { mif = new MappedXMLInputFactory(nstjsons); } + @Override + public String getDataFormatName() { + return "json"; + } + public boolean isPrettyPrint() { return prettyPrint; } http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/XStreamDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/XStreamDataFormat.java b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/XStreamDataFormat.java index ca8a945..84169dc 100644 --- a/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/XStreamDataFormat.java +++ b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/XStreamDataFormat.java @@ -50,7 +50,12 @@ public class XStreamDataFormat extends AbstractXStreamWrapper { public XStreamDataFormat(XStream xstream) { super(xstream); } - + + @Override + public String getDataFormatName() { + return "xstream"; + } + public void setEncoding(String encoding) { this.encoding = encoding; } http://git-wip-us.apache.org/repos/asf/camel/blob/a8bf17ed/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java b/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java index 4427650..1dd79e7 100644 --- a/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java +++ b/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/ZipFileDataFormat.java @@ -26,6 +26,7 @@ import java.util.zip.ZipOutputStream; 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; import org.apache.camel.util.StringHelper; @@ -36,11 +37,12 @@ import static org.apache.camel.Exchange.FILE_NAME; * Zip file data format. * See {@link org.apache.camel.model.dataformat.ZipDataFormat} for "deflate" compression. */ -public class ZipFileDataFormat extends ServiceSupport implements DataFormat { +public class ZipFileDataFormat extends ServiceSupport implements DataFormat, DataFormatName { private boolean usingIterator; - - public void setUsingIterator(boolean usingIterator) { - this.usingIterator = usingIterator; + + @Override + public String getDataFormatName() { + return "zipFile"; } @Override @@ -98,6 +100,14 @@ public class ZipFileDataFormat extends ServiceSupport implements DataFormat { } } + public boolean isUsingIterator() { + return usingIterator; + } + + public void setUsingIterator(boolean usingIterator) { + this.usingIterator = usingIterator; + } + @Override protected void doStart() throws Exception { // noop