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.migrate.DeepEqualityHelper; import org.apache.ode.bpel.obj.migrate.DomElementComparator; import org.apache.ode.bpel.obj.migrate.ExtensibeImplEqualityComp; import org.apache.ode.bpel.obj.serde.DeSerializer; import org.apache.ode.bpel.obj.serde.OmSerdeFactory; import org.apache.ode.bpel.obj.serde.OmSerdeFactory.SerializeFormat; import org.junit.Assert; public class JavaSerializationTest extends GoodCompileTest{ protected SerializeFormat format; protected String pathSuffix; public JavaSerializationTest(){ this.format = OmSerdeFactory.SerializeFormat.FORMAT_SERIALIZED_JAVA; this.pathSuffix = "java"; } 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(".")) + "." + pathSuffix + ".cbp"; DeSerializer serializer = new DeSerializer(); serializer.serialize(new FileOutputStream(cbpPath), origi, format); DeSerializer deserializer = new DeSerializer(new File(cbpPath)); OProcess desered = deserializer.deserialize(); DeepEqualityHelper de = new DeepEqualityHelper(); de.addCustomComparator(new ExtensibeImplEqualityComp()); de.addCustomComparator(new DomElementComparator()); boolean res = de.deepEquals(origi, desered); assertEquals(Boolean.TRUE, res); } catch (Exception ex) { ex.printStackTrace(); Assert.fail("Compilation or deserialization did not succeed."); } } }