01: package com.bostechcorp.cbesb.runtime.parser;
02:
03: import java.io.File;
04: import java.io.FileInputStream;
05: import java.io.FileOutputStream;
06: import java.io.InputStream;
07:
08: import javax.xml.transform.OutputKeys;
09: import javax.xml.transform.Transformer;
10: import javax.xml.transform.TransformerException;
11: import javax.xml.transform.TransformerFactory;
12: import javax.xml.transform.dom.DOMSource;
13: import javax.xml.transform.stream.StreamResult;
14:
15: import junit.framework.TestCase;
16:
17: import org.w3c.dom.Document;
18:
19: import com.bostechcorp.cbesb.common.mdl.IMDLDocument;
20: import com.bostechcorp.cbesb.common.mdl.IMessageDefinition;
21: import com.bostechcorp.cbesb.common.mdl.util.FormatDefUtil;
22: import com.bostechcorp.cbesb.common.util.FileUtil;
23: import com.bostechcorp.cbesb.runtime.parser.impl.LegacyDataParser;
24: import com.bostechcorp.cbesb.runtime.parser.impl.LegacyDataSerializer;
25: import com.bostechcorp.cbesb.runtime.parser.util.ParserUtil;
26: import com.bostechcorp.cbesb.runtime.parser.util.SerializerUtil;
27:
28: public class TestFixed1 extends TestCase {
29:
30: public void testFixed1() throws Throwable {
31: File mdlFile = new File("target/test-data/in/fixed1.mdl");
32: File dataFile = new File("target/test-data/in/fixed1.dat");
33: File outputFile = new File("target/test-data/out/fixed1.txt");
34:
35: IMDLDocument mdlDoc = null;
36: mdlDoc = FormatDefUtil.getMdlDocFromPath(mdlFile
37: .getAbsolutePath());
38:
39: IMessageDefinition msgDef = mdlDoc.getMessageDefinition(mdlDoc
40: .getTargetNamespace(), mdlDoc
41: .getAllMessageDefinitions()[0].getName());
42:
43: Document domDoc = null;
44: LegacyDataParser parser = new LegacyDataParser();
45: try {
46: InputStream is = new FileInputStream(dataFile);
47: domDoc = parser.parse(is, msgDef);
48: } catch (Exception pe) {
49: System.err.println("Error Parsing:");
50: System.err.println(pe.getMessage());
51: System.exit(0);
52: }
53:
54: try {
55: TransformerFactory tFactory = TransformerFactory
56: .newInstance();
57: Transformer transformer = tFactory.newTransformer();
58: transformer.setOutputProperty(OutputKeys.INDENT, "yes");
59: transformer.setOutputProperty(OutputKeys.METHOD, "xml");
60: DOMSource source = new DOMSource(domDoc);
61: StreamResult result = new StreamResult(System.out);
62: transformer.transform(source, result);
63: } catch (TransformerException te) {
64: System.err.println("Error Writing Output");
65: System.err.println(te.getMessage());
66: System.exit(0);
67: }
68:
69: try {
70: LegacyDataSerializer serializer = new LegacyDataSerializer();
71: FileOutputStream fio = new FileOutputStream(outputFile);
72: serializer.serialize(domDoc, msgDef, System.out);
73: serializer.serialize(domDoc, msgDef, fio);
74: String rsuleString = FileUtil
75: .readStringFromFile("target/test-data/out/fixed1.txt");
76: String beginString = FileUtil
77: .readStringFromFile("target/test-data/in/fixed1.dat");
78: assertTrue(rsuleString.equals(beginString));
79: } catch (Exception e) {
80: System.err.println("Error Serializer:");
81: System.err.println(e.getMessage());
82: System.exit(0);
83: }
84: }
85: }
|