adding a testsuit for json serialization, failed though
Project: http://git-wip-us.apache.org/repos/asf/ode/repo Commit: http://git-wip-us.apache.org/repos/asf/ode/commit/646ca99e Tree: http://git-wip-us.apache.org/repos/asf/ode/tree/646ca99e Diff: http://git-wip-us.apache.org/repos/asf/ode/diff/646ca99e Branch: refs/heads/master Commit: 646ca99e39f7f7bedba370ab398f79ab9557c108 Parents: 979e894 Author: fangzhen <[email protected]> Authored: Fri Aug 1 22:45:17 2014 +0800 Committer: fangzhen <[email protected]> Committed: Fri Aug 1 22:45:17 2014 +0800 ---------------------------------------------------------------------- .../bpel/compiler_2_0/SerializationTest.java | 51 ++++++++++++++++++++ 1 file changed, 51 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ode/blob/646ca99e/bpel-compiler/src/test/java/org/apache/ode/bpel/compiler_2_0/SerializationTest.java ---------------------------------------------------------------------- diff --git a/bpel-compiler/src/test/java/org/apache/ode/bpel/compiler_2_0/SerializationTest.java b/bpel-compiler/src/test/java/org/apache/ode/bpel/compiler_2_0/SerializationTest.java new file mode 100644 index 0000000..eb8b082 --- /dev/null +++ b/bpel-compiler/src/test/java/org/apache/ode/bpel/compiler_2_0/SerializationTest.java @@ -0,0 +1,51 @@ +package org.apache.ode.bpel.compiler_2_0; + +import static org.junit.Assert.assertEquals; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.net.URI; +import java.net.URL; + +import org.apache.ode.bpel.obj.OProcess; +import org.apache.ode.bpel.obj.OProcessWrapper; +import org.apache.ode.bpel.obj.migrate.EqualityVisitor; +import org.apache.ode.bpel.obj.migrate.ExtensibeImplEqualityComp; +import org.apache.ode.bpel.obj.migrate.ObjectTraverser; +import org.apache.ode.bpel.obj.serde.DeSerializer; +import org.apache.ode.bpel.obj.serde.OmSerdeFactory; +import org.junit.Assert; + +public class SerializationTest extends GoodCompileTest{ + public void runTest(String bpel) throws Exception { + try { + Class testClass = getClass(); + URL url = testClass.getResource(bpel); + URI uri = url.toURI(); + String path = uri.getPath(); + File bpelFile = new File(path); + OProcess origi = _compiler.compile2OProcess(bpelFile, 0); + String bpelPath = bpelFile.getAbsolutePath(); + String cbpPath = bpelPath.substring(0, bpelPath.lastIndexOf(".")) + + ".json.cbp"; + DeSerializer serializer = new DeSerializer(); + serializer.serialize(new FileOutputStream(cbpPath), + origi, OmSerdeFactory.SerializeFormat.FORMAT_SERIALIZED_JSON); + + DeSerializer deserializer = new DeSerializer(new FileInputStream(cbpPath)); + OProcess desered = deserializer.deserialize(); + + ObjectTraverser traverse = new ObjectTraverser(); + EqualityVisitor visitor = new EqualityVisitor(desered); + visitor.addCustomComparator(new ExtensibeImplEqualityComp(visitor)); + traverse.accept(visitor); + boolean res = (Boolean) traverse.traverseObject(origi); + assertEquals(Boolean.TRUE, res); + } catch (Exception ex) { + ex.printStackTrace(); + Assert.fail("Compilation or deserialization did not succeed."); + } + } + +}
