Saturday, 15 March 2014

java - Xstream does not deserialize custom object list -



java - Xstream does not deserialize custom object list -

i have problem deserializing implicit collection xstream

i have 2 classes:

one:

@xstreamalias("instances") public class serverinstances { public serverinstances(){ instances = new arraylist<>(); } @xstreamimplicit(itemfieldname = "instance") private list<serverinstance> instances; ...add, get, size, etc. }

two:

@xstreamalias("instance") public class serverinstance { @xstreamalias("version") private string version; @xstreamalias("environment") private string environment; @xstreamalias("user") private string user; @xstreamalias("timestamp") private datetime timestamp; getter, setter, etc. }

when serialize serverinstances class

xstream = new xstream2(); xstream.registerconverter(new datetimeconverter()); xstream.processannotations(new class[] {serverinstances.class, serverinstance.class}); xstream.toxmlutf8(object, outputstream);

i nice xml:

<?xml version="1.0" encoding="utf-8"?> <instances plugin="jenkins-deployment-dashboard@0.0.1"> <instance> <version>1</version> <environment>i1</environment> <user>u1</user> <timestamp>2014-10-10t11:42:30.957+02:00</timestamp> </instance> <instance> <version>2</version> <environment>i2</environment> <user>u2</user> <timestamp>2014-10-10t11:42:30.991+02:00</timestamp> </instance> </instances>

but when seek deserialize it

xstream = new xstream2(); xstream.registerconverter(new datetimeconverter()); xstream.processannotations(new class[] {serverinstances.class, serverinstance.class}); serverinstances instances = (serverinstances)xstream.fromxml(inputstream);

i instance of serverinstances list null. tried announce aliases using xstream.alias(...) , xstream.addimplicitcollection(...) produces same result. have no thought anymore.

java serialization xstream

No comments:

Post a Comment