From b0470d18a468489aabf404fa2ea7b12c9b0aedad Mon Sep 17 00:00:00 2001 From: benoitgaudou Date: Sun, 8 May 2022 12:55:06 +0700 Subject: [PATCH] Update Serializer to add the possibility to export into JSON --- .../msi/gaml/statements/SaveStatement.java | 2 +- ummisco.gama.serialize/.classpath | 13 +++++--- ummisco.gama.serialize/build.properties | 3 +- ummisco.gama.serialize/ext/jettison-1.4.1.jar | Bin 0 -> 88206 bytes .../serializer/factory/StreamConverter.java | 31 ++++++++++++++++-- 5 files changed, 41 insertions(+), 8 deletions(-) create mode 100644 ummisco.gama.serialize/ext/jettison-1.4.1.jar diff --git a/msi.gama.core/src/msi/gaml/statements/SaveStatement.java b/msi.gama.core/src/msi/gaml/statements/SaveStatement.java index f0788e2be8..32f8aea21c 100644 --- a/msi.gama.core/src/msi/gaml/statements/SaveStatement.java +++ b/msi.gama.core/src/msi/gaml/statements/SaveStatement.java @@ -1113,7 +1113,7 @@ public String toCleanString(final Object o) { * the var * @return the string */ - public String type(final ITyped var) { + public static String type(final ITyped var) { switch (var.getGamlType().id()) { case IType.BOOL: return "Boolean"; diff --git a/ummisco.gama.serialize/.classpath b/ummisco.gama.serialize/.classpath index af3cd36c31..bbe313c175 100644 --- a/ummisco.gama.serialize/.classpath +++ b/ummisco.gama.serialize/.classpath @@ -1,14 +1,19 @@ - - - - + + + + + + + + + diff --git a/ummisco.gama.serialize/build.properties b/ummisco.gama.serialize/build.properties index b9130db1ef..d454a0f36b 100644 --- a/ummisco.gama.serialize/build.properties +++ b/ummisco.gama.serialize/build.properties @@ -6,4 +6,5 @@ bin.includes = META-INF/,\ plugin.xml,\ models/,\ ext/mxparser-1.2.2.jar,\ - ext/xstream-1.4.18.jar + ext/xstream-1.4.18.jar,\ + ext/jettison-1.4.1.jar diff --git a/ummisco.gama.serialize/ext/jettison-1.4.1.jar b/ummisco.gama.serialize/ext/jettison-1.4.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..e6e593b09a993e2cf919d7f8aeaff9d03dceb3f0 GIT binary patch literal 88206 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

@jyhruH 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 literal 0 HcmV?d00001 diff --git a/ummisco.gama.serialize/src/ummisco/gama/serializer/factory/StreamConverter.java b/ummisco.gama.serialize/src/ummisco/gama/serializer/factory/StreamConverter.java index 4a157053ab..e8a3d39b83 100644 --- a/ummisco.gama.serialize/src/ummisco/gama/serializer/factory/StreamConverter.java +++ b/ummisco.gama.serialize/src/ummisco/gama/serializer/factory/StreamConverter.java @@ -16,6 +16,7 @@ import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.converters.Converter; +import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver; import com.thoughtworks.xstream.io.xml.DomDriver; import com.thoughtworks.xstream.security.AnyTypePermission; @@ -39,6 +40,10 @@ public abstract class StreamConverter { private static Map, XStream> xStreamMap = Collections.synchronizedMap(new HashMap, XStream>()); private static XStream getXStreamInstance(Class clazz) { + return getXStreamInstance(clazz, false); + } + + private static XStream getXStreamInstance(Class clazz, boolean toJSON) { if (xStreamMap.containsKey(clazz)) { return xStreamMap.get(clazz); } @@ -46,7 +51,12 @@ private static XStream getXStreamInstance(Class clazz) { if (xStreamMap.containsKey(clazz)) { return xStreamMap.get(clazz); } - XStream xStream = new XStream(new DomDriver()); + XStream xStream; + if(toJSON) { + xStream = new XStream(new JettisonMappedXmlDriver()); + } else { + xStream = new XStream(new DomDriver()); + } xStream.ignoreUnknownElements(); xStream.processAnnotations(clazz); xStream.addPermission(AnyTypePermission.ANY); @@ -76,6 +86,19 @@ public static void registerConverter(final XStream st,final Converter c) { st.registerConverter(c); } + /** + * Convert object to stream in JSON. + * + * @param scope + * the scope + * @param o + * the o + * @return the string + */ + public static synchronized String convertObjectToJSONStream(final IScope scope, final Object o) { + return loadAndBuild(new ConverterScope(scope),o, true).toXML(o); + } + /** * Load and build. * @@ -84,9 +107,13 @@ public static void registerConverter(final XStream st,final Converter c) { * @return the x stream */ public static XStream loadAndBuild(final ConverterScope cs, final Object o) { + return loadAndBuild(cs, o, false); + } + + public static XStream loadAndBuild(final ConverterScope cs, final Object o, final boolean toJSON) { final Converter[] cnv = Converters.converterFactory(cs); - XStream streamer=getXStreamInstance(o.getClass()); + XStream streamer = getXStreamInstance(o.getClass(),toJSON); for (final Converter c : cnv) { StreamConverter.registerConverter(streamer,c); } // dataStreamer.setMode(XStream.ID_REFERENCES); return streamer;