Author: davsclaus Date: Tue Feb 3 13:10:32 2009 New Revision: 740295 URL: http://svn.apache.org/viewvc?rev=740295&view=rev Log: CAMEL-1309: StringSource is not properly serializable handling null values. Thanks to gnodet for patch.
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/StringSource.java camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/StringSource.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/StringSource.java?rev=740295&r1=740294&r2=740295&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/StringSource.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/StringSource.java Tue Feb 3 13:10:32 2009 @@ -85,16 +85,36 @@ } public void writeExternal(ObjectOutput out) throws IOException { - out.writeUTF(text); - out.writeUTF(encoding); - out.writeUTF(getPublicId()); - out.writeUTF(getSystemId()); + int b = ((text != null ? 0x01 : 0x00) + (encoding != null ? 0x02 : 0x00) + + (getPublicId() != null ? 0x04 : 0x00) + (getSystemId() != null ? 0x08 : 0x00)); + out.writeByte(b); + if ((b & 0x01) != 0) { + out.writeUTF(text); + } + if ((b & 0x02) != 0) { + out.writeUTF(encoding); + } + if ((b & 0x04) != 0) { + out.writeUTF(getPublicId()); + } + if ((b & 0x08) != 0) { + out.writeUTF(getSystemId()); + } } public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { - text = in.readUTF(); - encoding = in.readUTF(); - setPublicId(in.readUTF()); - setSystemId(in.readUTF()); + int b = in.readByte(); + if ((b & 0x01) != 0) { + text = in.readUTF(); + } + if ((b & 0x02) != 0) { + encoding = in.readUTF(); + } + if ((b & 0x04) != 0) { + setPublicId(in.readUTF()); + } + if ((b & 0x08) != 0) { + setSystemId(in.readUTF()); + } } } Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java?rev=740295&r1=740294&r2=740295&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java Tue Feb 3 13:10:32 2009 @@ -83,6 +83,9 @@ private static final long serialVersionUID = 4147248494104812945L; + public SourceCache() { + } + public SourceCache(String text) { super(text); }