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:
26: public class TestSpecialDelimiter extends TestCase {
27:
28: public void testSpecialDelimiter() throws Throwable {
29: File mdlFile = new File("target/test-data/in/Rn.mdl");
30: File dataFile = new File("target/test-data/in/Rn.dat");
31: File outputFile = new File("target/test-data/out/Rn.txt");
32:
33: IMDLDocument mdlDoc = FormatDefUtil.getMdlDocFromPath(mdlFile
34: .getAbsolutePath());
35:
36: IMessageDefinition msgDef = mdlDoc.getMessageDefinition(mdlDoc
37: .getTargetNamespace(), mdlDoc
38: .getAllMessageDefinitions()[0].getName());
39:
40: Document domDoc = null;
41: LegacyDataParser parser = new LegacyDataParser();
42: try {
43: InputStream is = new FileInputStream(dataFile);
44: domDoc = parser.parse(is, msgDef);
45: } catch (Exception pe) {
46: System.err.println("Error Parsing:");
47: System.err.println(pe.getMessage());
48: System.exit(0);
49: }
50:
51: try {
52: TransformerFactory tFactory = TransformerFactory
53: .newInstance();
54: Transformer transformer = tFactory.newTransformer();
55: transformer.setOutputProperty(OutputKeys.INDENT, "yes");
56: transformer.setOutputProperty(OutputKeys.METHOD, "xml");
57: DOMSource source = new DOMSource(domDoc);
58: StreamResult result = new StreamResult(System.out);
59: transformer.transform(source, result);
60: } catch (TransformerException te) {
61: System.err.println("Error Writing Output");
62: System.err.println(te.getMessage());
63: System.exit(0);
64: }
65:
66: try {
67: LegacyDataSerializer serializer = new LegacyDataSerializer();
68: FileOutputStream fio = new FileOutputStream(outputFile);
69: serializer.serialize(domDoc, msgDef, System.out);
70: serializer.serialize(domDoc, msgDef, fio);
71: String rsuleString = FileUtil
72: .readStringFromFile("target/test-data/out/Rn.txt");
73: String beginString = FileUtil
74: .readStringFromFile("target/test-data/in/Rn.dat");
75: assertEquals(rsuleString, beginString);
76: } catch (Exception e) {
77: System.err.println("Error Serializer:");
78: System.err.println(e.getMessage());
79: System.exit(0);
80: }
81: }
82: }
|