Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: ../../../3rd/src/xstream_1.4.7/xstream/src/java/com/thoughtworks/xstream/converters/reflection/SerializableConverter.java
- IDEA additional info:
- Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
- <+>UTF-8
- ===================================================================
- --- ../../../3rd/src/xstream_1.4.7/xstream/src/java/com/thoughtworks/xstream/converters/reflection/SerializableConverter.java (revision 2292)
- +++ ../../../3rd/src/xstream_1.4.7/xstream/src/java/com/thoughtworks/xstream/converters/reflection/SerializableConverter.java (revision )
- @@ -119,6 +119,25 @@
- return false;
- }
- + private static class FieldWrapper{
- + private Object value;
- +
- + public FieldWrapper(Object value)
- + {
- + this.value = value;
- + }
- +
- + public Object getValue()
- + {
- + return value;
- + }
- +
- + public void setValue(Object value)
- + {
- + this.value = value;
- + }
- + }
- +
- public void doMarshal(final Object source, final HierarchicalStreamWriter writer, final MarshallingContext context) {
- String attributeName = mapper.aliasForSystemAttribute(ATTRIBUTE_SERIALIZATION);
- if (attributeName != null) {
- @@ -132,15 +151,10 @@
- CustomObjectOutputStream.StreamCallback callback = new CustomObjectOutputStream.StreamCallback() {
- public void writeToStream(Object object) {
- - if (object == null) {
- - writer.startNode(ELEMENT_NULL);
- + ExtendedHierarchicalStreamWriterHelper.startNode(writer, mapper.serializedClass(FieldWrapper.class), FieldWrapper.class);
- + context.convertAnother(new FieldWrapper(object));
- - writer.endNode();
- + writer.endNode();
- - } else {
- - ExtendedHierarchicalStreamWriterHelper.startNode(writer, mapper.serializedClass(object.getClass()), object.getClass());
- - context.convertAnother(object);
- - writer.endNode();
- - }
- + }
- - }
- public void writeFieldsToStream(Map fields) {
- ObjectStreamClass objectStreamClass = ObjectStreamClass.lookup(currentType[0]);
- @@ -338,6 +352,8 @@
- reader.moveDown();
- Class type = HierarchicalStreams.readClassType(reader, mapper);
- Object value = context.convertAnother(result, type);
- + if (value instanceof FieldWrapper)
- + value = ((FieldWrapper) value).value;
- reader.moveUp();
- return value;
- }
Add Comment
Please, Sign In to add comment