package org.openprovenance.prov.notation; import java.io.File; import junit.framework.TestCase; import org.openprovenance.prov.model.Namespace; import org.openprovenance.prov.xml.Document; import org.openprovenance.prov.xml.ProvDeserialiser; import org.openprovenance.prov.xml.ProvSerialiser; import org.openprovenance.prov.xml.ProvFactory; /** * Unit test for simple Provenance Challenge 1 like workflow. */ public class PC1FullTest extends TestCase { public static final String PC1_NS="http://www.ipaw.info/pc1/"; public static final String PC1_PREFIX="pc1"; public static final String PRIM_NS="http://openprovenance.org/primitives#"; public static final String PRIM_PREFIX="prim"; public static ProvFactory pFactory=new ProvFactory(); /** * Create the test case * * @param testName name of the test case */ public PC1FullTest( String testName ) { super( testName ); } public void testReadXMLGraph() throws javax.xml.bind.JAXBException, org.xml.sax.SAXException, java.io.IOException { ProvDeserialiser deserial=ProvDeserialiser.getThreadProvDeserialiser(); Document c=deserial.deserialiseDocument(new File("../prov-xml/target/pc1-full.xml")); Utility u=new Utility(); String[] schemaFiles=new String[1]; schemaFiles[0]="../prov-xml/src/test/resources/pc1.xsd"; // TODO: now failing because of QName //deserial.validateDocument(schemaFiles,new File("../prov-xml/target/pc1-full.xml")); //String s=u.convertBeanToASN(c); //System.out.println(s); ProvSerialiser serial=ProvSerialiser.getThreadProvSerialiser(); c.setNamespace(Namespace.gatherNamespaces(c)); Document c2=(Document)u.convertJavaBeanToJavaBean(c, pFactory); c2.setNamespace(c.getNamespace()); Namespace.withThreadNamespace(c2.getNamespace()); serial.serialiseDocument(new File("target/pc1-full-2.xml"),c2,true); } }