You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2007/11/14 19:13:48 UTC

svn commit: r594998 - in /activemq/camel/trunk/camel-core/src/main: java/org/apache/camel/impl/ java/org/apache/camel/model/ java/org/apache/camel/model/dataformat/ resources/org/apache/camel/model/dataformat/

Author: jstrachan
Date: Wed Nov 14 10:13:47 2007
New Revision: 594998

URL: http://svn.apache.org/viewvc?rev=594998&view=rev
Log:
added a new string based data format for http://issues.apache.org/activemq/browse/CAMEL-219

Added:
    activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/StringDataFormat.java
      - copied, changed from r594497, activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/SerializationDataFormat.java
    activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/StringDataFormat.java
      - copied, changed from r594497, activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/SerializationDataFormat.java
Modified:
    activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/MarshalType.java
    activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/UnmarshalType.java
    activemq/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/dataformat/jaxb.index

Copied: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/StringDataFormat.java (from r594497, activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/SerializationDataFormat.java)
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/StringDataFormat.java?p2=activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/StringDataFormat.java&p1=activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/SerializationDataFormat.java&r1=594497&r2=594998&rev=594998&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/SerializationDataFormat.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/StringDataFormat.java Wed Nov 14 10:13:47 2007
@@ -19,13 +19,14 @@
 
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
 import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.converter.IOConverter;
 import org.apache.camel.spi.DataFormat;
+import org.apache.camel.util.ExchangeHelper;
 
 /**
  * The <a href="http://activemq.apache.org/camel/data-format.html">data format</a>
@@ -33,15 +34,15 @@
  *
  * @version $Revision: 1.1 $
  */
-public class SerializationDataFormat implements DataFormat {
+public class StringDataFormat implements DataFormat {
     public void marshal(Exchange exchange, Object graph, OutputStream stream) throws IOException {
-        ObjectOutput out = IOConverter.toObjectOutput(stream);
-        out.writeObject(graph);
+        String text = ExchangeHelper.convertToType(exchange, String.class, graph);
+        Writer out = new OutputStreamWriter(stream);
+        out.write(text);
         out.flush();
     }
 
     public Object unmarshal(Exchange exchange, InputStream stream) throws IOException, ClassNotFoundException {
-        ObjectInput in = IOConverter.toObjectInput(stream);
-        return in.readObject();
+        return IOConverter.toString(stream);
     }
-}
+}
\ No newline at end of file

Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/MarshalType.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/MarshalType.java?rev=594998&r1=594997&r2=594998&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/MarshalType.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/MarshalType.java Wed Nov 14 10:13:47 2007
@@ -29,10 +29,10 @@
 import org.apache.camel.model.dataformat.DataFormatType;
 import org.apache.camel.model.dataformat.JaxbDataFormat;
 import org.apache.camel.model.dataformat.SerializationDataFormat;
+import org.apache.camel.model.dataformat.StringDataFormat;
 import org.apache.camel.model.dataformat.XMLBeansDataFormat;
 import org.apache.camel.processor.MarshalProcessor;
 import org.apache.camel.spi.DataFormat;
-import static org.apache.camel.util.ObjectHelper.notNull;
 
 /**
  * Marshals to a binary payload using the given {@link DataFormatType}
@@ -50,6 +50,7 @@
     @XmlElement(required = false, name = "artixDS", type = ArtixDSDataFormat.class),
     @XmlElement(required = false, name = "jaxb", type = JaxbDataFormat.class),
     @XmlElement(required = false, name = "serialization", type = SerializationDataFormat.class),
+    @XmlElement(required = false, name = "string", type = StringDataFormat.class),
     @XmlElement(required = false, name = "xmlBeans", type = XMLBeansDataFormat.class)}
     )
     private DataFormatType dataFormatType;

Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/UnmarshalType.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/UnmarshalType.java?rev=594998&r1=594997&r2=594998&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/UnmarshalType.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/UnmarshalType.java Wed Nov 14 10:13:47 2007
@@ -30,6 +30,7 @@
 import org.apache.camel.model.dataformat.JaxbDataFormat;
 import org.apache.camel.model.dataformat.SerializationDataFormat;
 import org.apache.camel.model.dataformat.XMLBeansDataFormat;
+import org.apache.camel.model.dataformat.StringDataFormat;
 import org.apache.camel.processor.UnmarshalProcessor;
 import org.apache.camel.spi.DataFormat;
 
@@ -49,6 +50,7 @@
     @XmlElement(required = false, name = "artixDS", type = ArtixDSDataFormat.class),
     @XmlElement(required = false, name = "jaxb", type = JaxbDataFormat.class),
     @XmlElement(required = false, name = "serialization", type = SerializationDataFormat.class),
+    @XmlElement(required = false, name = "string", type = StringDataFormat.class),
     @XmlElement(required = false, name = "xmlBeans", type = XMLBeansDataFormat.class)}
     )
     private DataFormatType dataFormatType;

Copied: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/StringDataFormat.java (from r594497, activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/SerializationDataFormat.java)
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/StringDataFormat.java?p2=activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/StringDataFormat.java&p1=activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/SerializationDataFormat.java&r1=594497&r2=594998&rev=594998&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/SerializationDataFormat.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/dataformat/StringDataFormat.java Wed Nov 14 10:13:47 2007
@@ -23,14 +23,14 @@
 import org.apache.camel.impl.RouteContext;
 
 /**
- * Represents the Java Serialization {@link DataFormat}
+ * Represents the String (text based) {@link DataFormat}
  *
  * @version $Revision: 1.1 $
  */
-@XmlRootElement(name = "serialization")
-public class SerializationDataFormat extends DataFormatType {
+@XmlRootElement(name = "string")
+public class StringDataFormat extends DataFormatType {
     @Override
     protected DataFormat createDataFormat(RouteContext routeContext) {
-        return new org.apache.camel.impl.SerializationDataFormat();
+        return new org.apache.camel.impl.StringDataFormat();
     }
-}
+}
\ No newline at end of file

Modified: activemq/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/dataformat/jaxb.index
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/dataformat/jaxb.index?rev=594998&r1=594997&r2=594998&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/dataformat/jaxb.index (original)
+++ activemq/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/dataformat/jaxb.index Wed Nov 14 10:13:47 2007
@@ -19,5 +19,6 @@
 DataFormatType
 JaxbDataFormat
 SerializationDataFormat
+StringDataFormat
 XMLBeansDataFormat
 XStreamDataFormat