package com.bagri.core.server.api.df.xml; import static com.bagri.core.Constants.pn_log_level; import static com.bagri.core.Constants.pn_schema_builder_pretty; import static org.junit.Assert.*; import java.util.List; import java.util.Properties; import javax.json.stream.JsonGenerator; import org.junit.BeforeClass; import org.junit.Test; import com.bagri.core.model.Data; import com.bagri.core.server.api.ModelManagement; import com.bagri.core.server.api.df.json.JsonpBuilder; import com.bagri.core.server.api.df.json.JsonpParser; import com.bagri.core.server.api.impl.ModelManagementImpl; public class XmlStaxParserTest { private static String xml = "<person>\n" + " <firstName>John</firstName>\n" + " <lastName>Smith</lastName>\n" + " <age>25</age>\n" + " <address>\n" + " <streetAddress>21 2nd Street</streetAddress>\n" + " <city>New York</city>\n" + " <state>NY</state>\n" + " <postalCode>10021</postalCode>\n" + " </address>\n" + " <phoneNumbers>\n" + " <phoneNumber>\n" + " <type>home</type>\n" + " <number>212 555-1234</number>\n" + " </phoneNumber>\n" + " <phoneNumber>\n" + " <type>fax</type>\n" + " <number>646 555-4567</number>\n" + " </phoneNumber>\n" + " </phoneNumbers>\n" + " <gender>\n" + " <type>male</type>\n" + " </gender>\n" + "</person>"; @BeforeClass public static void setUpBeforeClass() throws Exception { System.setProperty("logback.configurationFile", "test_logging.xml"); //System.setProperty(pn_log_level, "debug"); } //@AfterClass //public static void tearDownAfterClass() throws Exception { //} //@Before //public void setUp() throws Exception { //} //@After //public void tearDown() throws Exception { //} @Test public void testParse() throws Exception { ModelManagement dict = new ModelManagementImpl(); XmlStaxParser parser = new XmlStaxParser(dict); List<Data> elts = parser.parse(xml); //System.out.println(elts); assertNotNull(elts); assertEquals(31, elts.size()); Data data = elts.get(0); assertEquals("/", data.getPath()); assertNull(data.getValue()); data = elts.get(1); assertEquals("/person", data.getPath()); assertNull(data.getValue()); data = elts.get(2); assertEquals("/person/firstName", data.getPath()); data = elts.get(3); assertEquals("/person/firstName/text()", data.getPath()); assertEquals("John", data.getValue()); //int typeId = 1; //String root = dict.getDocumentRoot(typeId); //assertEquals("", root); -> /firstName } //@Test //public void testConversion() throws Exception { // ModelManagement model = new ModelManagementImpl(); // XmlStaxParser parser = new XmlStaxParser(model); // List<Data> data = parser.parse(xml); // System.out.println(data); // JsonpBuilder builder = new JsonpBuilder(model); // Properties props = new Properties(); // props.setProperty(JsonGenerator.PRETTY_PRINTING, "true"); // builder.init(props); // String content = builder.buildContent(data); // System.out.println(content); // assertNotNull(content); // JsonpParser jParser = new JsonpParser(model); // List<Data> data2 = jParser.parse(content); // // assertNotNull(data2); //} }