Search in sources :

Example 6 with XmlComplexType

use of io.atlasmap.xml.v2.XmlComplexType in project atlasmap by atlasmap.

the class XmlInstanceInspectionTest method testInspectXmlStringAsSourceAT370A.

@Test
public void testInspectXmlStringAsSourceAT370A() throws Exception {
    final String source = "<order>\n" + "   <orders>\n" + "      <order>\n" + "\t      <items>\n" + "\t\t     <item sku=\"4\"/>\n" + "\t\t     <item sku=\"5\"/>\n" + "\t      </items>\n" + "      </order>\n" + "   </orders>\n" + "</order>";
    XmlInspectionService service = new XmlInspectionService();
    XmlDocument xmlDocument = service.inspectXmlDocument(source);
    Assert.assertNotNull(xmlDocument);
    Assert.assertNotNull(xmlDocument.getFields());
    Assert.assertThat(xmlDocument.getFields().getField().size(), Is.is(1));
    XmlComplexType root = (XmlComplexType) xmlDocument.getFields().getField().get(0);
    Assert.assertNotNull(root);
    Assert.assertThat(root.getXmlFields().getXmlField().size(), Is.is(1));
// debugFields(xmlDocument.getFields());
}
Also used : XmlComplexType(io.atlasmap.xml.v2.XmlComplexType) XmlDocument(io.atlasmap.xml.v2.XmlDocument) Test(org.junit.Test)

Example 7 with XmlComplexType

use of io.atlasmap.xml.v2.XmlComplexType in project atlasmap by atlasmap.

the class XmlInstanceInspectionTest method testInspectXmlStringWithNamespaces.

@Test
public void testInspectXmlStringWithNamespaces() throws Exception {
    final String source = "<x:data xmlns:x=\"http://x.namespace.com/\">\n" + "     <x:intField>32000</x:intField>\n" + "     <x:longField>12421</x:longField>\n" + "     <x:stringField>abc</x:stringField>\n" + "     <x:booleanField>true</x:booleanField>\n" + "     <x:doubleField>12.0</x:doubleField>\n" + "     <x:shortField>1000</x:shortField>\n" + "     <x:floatField>234.5f</x:floatField>\n" + "     <x:charField>A</x:charField>\n" + "</x:data>";
    XmlInspectionService service = new XmlInspectionService();
    XmlDocument xmlDocument = service.inspectXmlDocument(source);
    Assert.assertNotNull(xmlDocument);
    Assert.assertNotNull(xmlDocument.getFields());
    // check for namespace
    Assert.assertNotNull(xmlDocument.getXmlNamespaces());
    XmlNamespace namespace = xmlDocument.getXmlNamespaces().getXmlNamespace().get(0);
    Assert.assertThat(xmlDocument.getXmlNamespaces().getXmlNamespace().size(), Is.is(1));
    Assert.assertNotNull(namespace);
    Assert.assertEquals("x", namespace.getAlias());
    Assert.assertEquals("http://x.namespace.com/", namespace.getUri());
    Assert.assertNotNull(xmlDocument.getFields());
    Assert.assertThat(xmlDocument.getFields().getField().size(), Is.is(1));
    XmlComplexType root = (XmlComplexType) xmlDocument.getFields().getField().get(0);
    Assert.assertNotNull(root);
    Assert.assertThat(root.getXmlFields().getXmlField().size(), Is.is(8));
// debugFields(xmlDocument.getFields());
}
Also used : XmlComplexType(io.atlasmap.xml.v2.XmlComplexType) XmlNamespace(io.atlasmap.xml.v2.XmlNamespace) XmlDocument(io.atlasmap.xml.v2.XmlDocument) Test(org.junit.Test)

Example 8 with XmlComplexType

use of io.atlasmap.xml.v2.XmlComplexType in project atlasmap by atlasmap.

the class XmlInstanceInspectionTest method testInspectInstanceFileWithXSIType.

@Test
public void testInspectInstanceFileWithXSIType() throws Exception {
    final String instance = new String(Files.readAllBytes(Paths.get("src/test/resources/inspect/xsi-type-instance.xml")));
    XmlInspectionService service = new XmlInspectionService();
    XmlDocument xmlDocument = service.inspectXmlDocument(instance);
    Assert.assertNotNull(xmlDocument);
    Assert.assertNotNull(xmlDocument.getFields());
    Assert.assertThat(xmlDocument.getFields().getField().size(), Is.is(1));
    XmlComplexType root = (XmlComplexType) xmlDocument.getFields().getField().get(0);
    Assert.assertNotNull(root);
    Assert.assertThat(root.getXmlFields().getXmlField().size(), Is.is(8));
// debugFields(xmlDocument.getFields());
}
Also used : XmlComplexType(io.atlasmap.xml.v2.XmlComplexType) XmlDocument(io.atlasmap.xml.v2.XmlDocument) Test(org.junit.Test)

Example 9 with XmlComplexType

use of io.atlasmap.xml.v2.XmlComplexType in project atlasmap by atlasmap.

the class XmlSchemaInspectionMultipleNamespacesTest method testMultipleNoNamespaceSchemas.

@Test
public void testMultipleNoNamespaceSchemas() throws Exception {
    File schemaFile = Paths.get("src/test/resources/inspect/multiple-no-namespace-schemas.xml").toFile();
    XmlInspectionService service = new XmlInspectionService();
    XmlDocument answer = service.inspectSchema(schemaFile);
    Assert.assertEquals(1, answer.getXmlNamespaces().getXmlNamespace().size());
    XmlNamespace namespace = answer.getXmlNamespaces().getXmlNamespace().get(0);
    Assert.assertEquals("tns", namespace.getAlias());
    Assert.assertEquals("io.atlasmap.xml.test:Root", namespace.getUri());
    Assert.assertEquals(null, namespace.isTargetNamespace());
    Assert.assertEquals(1, answer.getFields().getField().size());
    XmlComplexType complex = XmlComplexType.class.cast(answer.getFields().getField().get(0));
    Assert.assertEquals("tns:RootDocument", complex.getName());
    Assert.assertEquals(2, complex.getXmlFields().getXmlField().size());
    for (XmlField field : complex.getXmlFields().getXmlField()) {
        switch(field.getName()) {
            case "FirstElement":
                Assert.assertEquals(FieldType.COMPLEX, field.getFieldType());
                Assert.assertEquals("/tns:RootDocument/FirstElement", field.getPath());
                List<XmlField> firstFields = XmlComplexType.class.cast(field).getXmlFields().getXmlField();
                Assert.assertEquals(1, firstFields.size());
                XmlField firstField = firstFields.get(0);
                Assert.assertEquals("FirstValue", firstField.getName());
                Assert.assertEquals(FieldType.STRING, firstField.getFieldType());
                Assert.assertEquals("/tns:RootDocument/FirstElement/FirstValue", firstField.getPath());
                break;
            case "SecondElement":
                Assert.assertEquals(FieldType.COMPLEX, field.getFieldType());
                Assert.assertEquals("/tns:RootDocument/SecondElement", field.getPath());
                List<XmlField> secondFields = XmlComplexType.class.cast(field).getXmlFields().getXmlField();
                Assert.assertEquals(1, secondFields.size());
                XmlField secondField = secondFields.get(0);
                Assert.assertEquals("SecondValue", secondField.getName());
                Assert.assertEquals(FieldType.STRING, secondField.getFieldType());
                Assert.assertEquals("/tns:RootDocument/SecondElement/SecondValue", secondField.getPath());
                break;
            default:
                Assert.fail(String.format("Unknown field '%s'", field.getPath()));
        }
    }
}
Also used : XmlComplexType(io.atlasmap.xml.v2.XmlComplexType) XmlNamespace(io.atlasmap.xml.v2.XmlNamespace) XmlField(io.atlasmap.xml.v2.XmlField) XmlDocument(io.atlasmap.xml.v2.XmlDocument) File(java.io.File) Test(org.junit.Test)

Example 10 with XmlComplexType

use of io.atlasmap.xml.v2.XmlComplexType in project atlasmap by atlasmap.

the class XmlSchemaInspectionTest method testInspectSchemaString.

@Test
public void testInspectSchemaString() throws Exception {
    final String source = "<xs:schema attributeFormDefault=\"unqualified\" elementFormDefault=\"qualified\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n" + "  <xs:element name=\"data\">\n" + "    <xs:complexType>\n" + "      <xs:sequence>\n" + "        <xs:element type=\"xs:int\" name=\"intField\"/>\n" + "        <xs:element type=\"xs:long\" name=\"longField\"/>\n" + "        <xs:element type=\"xs:string\" name=\"stringField\"/>\n" + "        <xs:element type=\"xs:boolean\" name=\"booleanField\"/>\n" + "        <xs:element type=\"xs:double\" name=\"doubleField\"/>\n" + "        <xs:element type=\"xs:short\" name=\"shortField\"/>\n" + "        <xs:element type=\"xs:float\" name=\"floatField\"/>\n" + "        <xs:element type=\"xs:string\" name=\"charField\"/>\n" + "      </xs:sequence>\n" + "    </xs:complexType>\n" + "  </xs:element>\n" + "</xs:schema>";
    XmlInspectionService service = new XmlInspectionService();
    XmlDocument xmlDocument = service.inspectSchema(source);
    Assert.assertNotNull(xmlDocument);
    Assert.assertNotNull(xmlDocument.getFields());
    Assert.assertThat(xmlDocument.getFields().getField().size(), Is.is(1));
    XmlComplexType root = (XmlComplexType) xmlDocument.getFields().getField().get(0);
    Assert.assertNotNull(root);
    Assert.assertThat(root.getXmlFields().getXmlField().size(), Is.is(8));
// debugFields(xmlDocument.getFields());
}
Also used : XmlComplexType(io.atlasmap.xml.v2.XmlComplexType) XmlDocument(io.atlasmap.xml.v2.XmlDocument) Test(org.junit.Test)

Aggregations

XmlComplexType (io.atlasmap.xml.v2.XmlComplexType)28 XmlDocument (io.atlasmap.xml.v2.XmlDocument)20 Test (org.junit.Test)20 XmlField (io.atlasmap.xml.v2.XmlField)13 XmlNamespace (io.atlasmap.xml.v2.XmlNamespace)9 File (java.io.File)8 Field (io.atlasmap.v2.Field)3 XmlFields (io.atlasmap.xml.v2.XmlFields)2 XSAttributeDecl (com.sun.xml.xsom.XSAttributeDecl)1 XSAttributeUse (com.sun.xml.xsom.XSAttributeUse)1 XSElementDecl (com.sun.xml.xsom.XSElementDecl)1 XSRestrictionSimpleType (com.sun.xml.xsom.XSRestrictionSimpleType)1 XSSchema (com.sun.xml.xsom.XSSchema)1 XSSimpleType (com.sun.xml.xsom.XSSimpleType)1 FieldType (io.atlasmap.v2.FieldType)1 Restriction (io.atlasmap.xml.v2.Restriction)1 XmlInspectionRequest (io.atlasmap.xml.v2.XmlInspectionRequest)1 XmlInspectionResponse (io.atlasmap.xml.v2.XmlInspectionResponse)1 Files (java.nio.file.Files)1 Paths (java.nio.file.Paths)1