use of io.atlasmap.xml.v2.XmlInspectionRequest in project atlasmap by atlasmap.
the class XmlService method inspectClass.
public Response inspectClass(XmlInspectionRequest request) {
long startTime = System.currentTimeMillis();
XmlInspectionResponse response = new XmlInspectionResponse();
XmlDocument d = null;
try {
if (request.getType() == null) {
response.setErrorMessage("Instance or Schema type must be specified in request");
} else {
XmlInspectionService s = new XmlInspectionService();
switch(request.getType()) {
case INSTANCE:
d = s.inspectXmlDocument(request.getXmlData());
break;
case SCHEMA:
d = s.inspectSchema(request.getXmlData());
break;
default:
response.setErrorMessage("Unsupported inspection type: " + request.getType());
break;
}
}
} catch (Exception e) {
LOG.error("Error inspecting xml: " + e.getMessage(), e);
response.setErrorMessage(e.getMessage());
} finally {
response.setExecutionTime(System.currentTimeMillis() - startTime);
}
response.setXmlDocument(d);
return Response.ok().entity(toJson(response)).build();
}
use of io.atlasmap.xml.v2.XmlInspectionRequest in project atlasmap by atlasmap.
the class XmlServiceTest method testValidJsonData.
@Test
public void testValidJsonData() 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>";
XmlInspectionRequest request = new XmlInspectionRequest();
request.setType(InspectionType.SCHEMA);
request.setXmlData(source);
Response res = xmlService.inspectClass(request);
Object entity = res.getEntity();
assertEquals(byte[].class, entity.getClass());
XmlInspectionResponse inspectionResponse = Json.mapper().readValue((byte[]) entity, XmlInspectionResponse.class);
XmlDocument xmlDoc = inspectionResponse.getXmlDocument();
assertEquals(1, xmlDoc.getFields().getField().size());
XmlComplexType root = (XmlComplexType) xmlDoc.getFields().getField().get(0);
assertNotNull(root);
assertEquals(8, root.getXmlFields().getXmlField().size());
}
Aggregations