package com.bostechcorp.cbesb.runtime.parser;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import junit.framework.TestCase;
import org.w3c.dom.Document;
import com.bostechcorp.cbesb.common.mdl.IMDLDocument;
import com.bostechcorp.cbesb.common.mdl.IMessageDefinition;
import com.bostechcorp.cbesb.common.mdl.util.FormatDefUtil;
import com.bostechcorp.cbesb.common.util.FileUtil;
import com.bostechcorp.cbesb.runtime.parser.impl.LegacyDataParser;
import com.bostechcorp.cbesb.runtime.parser.impl.LegacyDataSerializer;
public class TestVariable2 extends TestCase {
public void testVariable2() throws Throwable{
File mdlFile= new File("target/test-data/in/Variable2a.mdl");
File dataFile=new File("target/test-data/in/Variable1b.dat");
File outputFile = new File("target/test-data/out/Variable2b.txt");
IMDLDocument mdlDoc = FormatDefUtil.getMdlDocFromPath(mdlFile.getAbsolutePath());
IMessageDefinition msgDef = mdlDoc.getMessageDefinition(mdlDoc
.getTargetNamespace(), mdlDoc.getAllMessageDefinitions()[0]
.getName());
Document domDoc = null;
LegacyDataParser parser = new LegacyDataParser();
try {
InputStream is = new FileInputStream(dataFile);
domDoc = parser.parse(is, msgDef);
}
catch (Exception pe)
{
System.err.println("Error Parsing:");
System.err.println(pe.getMessage());
System.exit(0);
}
try {
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
DOMSource source = new DOMSource(domDoc);
StreamResult result = new StreamResult(System.out);
transformer.transform(source, result);
}
catch (TransformerException te)
{
System.err.println("Error Writing Output");
System.err.println(te.getMessage());
System.exit(0);
}
try {
LegacyDataSerializer serializer = new LegacyDataSerializer();
FileOutputStream fio = new FileOutputStream(outputFile);
serializer.serialize(domDoc, msgDef, System.out);
serializer.serialize(domDoc, msgDef, fio);
String rsuleString=FileUtil.readStringFromFile("target/test-data/out/Variable2b.txt");
String beginString=FileUtil.readStringFromFile("target/test-data/in/Variable1b.dat");
assertTrue(rsuleString.equals(beginString));
} catch (Exception e) {
System.err.println("Error Serializer:");
System.err.println(e.getMessage());
System.exit(0);
}
}
}
|