use of org.codice.ddf.transformer.xml.streaming.SaxEventHandlerFactory in project ddf by codice.
the class TestGenericXmlLib method testNormalTransform.
@Test
public void testNormalTransform() throws FileNotFoundException, CatalogTransformerException {
InputStream inputStream = new FileInputStream("src/test/resources/metacard2.xml");
SaxEventHandlerFactory saxEventHandlerFactory = mock(SaxEventHandlerFactory.class);
when(saxEventHandlerFactory.getId()).thenReturn("test");
SaxEventHandler handler = getNewHandler();
when(saxEventHandlerFactory.getNewSaxEventHandler()).thenReturn(handler);
XmlInputTransformer xmlInputTransformer = new XmlInputTransformer();
xmlInputTransformer.setSaxEventHandlerConfiguration(Collections.singletonList("test"));
xmlInputTransformer.setSaxEventHandlerFactories(Collections.singletonList(saxEventHandlerFactory));
Metacard metacard = null;
try {
metacard = xmlInputTransformer.transform(inputStream, "test");
} catch (IOException e) {
fail();
}
assertThat(metacard.getAttribute(Metacard.METADATA).getValue(), notNullValue());
assertThat(metacard.getAttribute(Metacard.ID).getValue(), is("test"));
}
use of org.codice.ddf.transformer.xml.streaming.SaxEventHandlerFactory in project ddf by codice.
the class TestGenericXmlLib method testNullInputTransform.
@Test(expected = CatalogTransformerException.class)
public void testNullInputTransform() throws FileNotFoundException, CatalogTransformerException {
SaxEventHandlerFactory saxEventHandlerFactory = mock(SaxEventHandlerFactory.class);
when(saxEventHandlerFactory.getId()).thenReturn("test");
SaxEventHandler handler = getNewHandler();
when(saxEventHandlerFactory.getNewSaxEventHandler()).thenReturn(handler);
XmlInputTransformer xmlInputTransformer = new XmlInputTransformer();
xmlInputTransformer.setSaxEventHandlerConfiguration(Collections.singletonList("test"));
xmlInputTransformer.setSaxEventHandlerFactories(Collections.singletonList(saxEventHandlerFactory));
try {
xmlInputTransformer.transform(null, "test");
} catch (IOException e) {
fail();
}
}
use of org.codice.ddf.transformer.xml.streaming.SaxEventHandlerFactory in project ddf by codice.
the class TestXmlInputTransformer method testGml3Conversion.
@Test
public void testGml3Conversion() throws FileNotFoundException, CatalogTransformerException {
inputStream = new FileInputStream("src/test/resources/metacard1.xml");
xmlInputTransformer = new XmlInputTransformer();
xmlInputTransformer.setSaxEventHandlerConfiguration(Collections.singletonList("gml-handler"));
GmlHandlerFactory factory = new GmlHandlerFactory();
factory.setGml3ToWkt(gml3ToWkt);
xmlInputTransformer.setSaxEventHandlerFactories(Collections.singletonList((SaxEventHandlerFactory) factory));
Metacard metacard = xmlInputTransformer.transform(inputStream);
assertThat(metacard.getAttribute(Metacard.GEOGRAPHY).getValue(), is("POLYGON ((35 10, 10 20, 15 40, 45 45, 35 10), (20 30, 35 35, 30 20, 20 30))"));
}
Aggregations