/* Copyright 2013 Pascal Christoph. * Licensed under the Eclipse Public License 1.0 */ package org.lobid.lodmill; import java.io.File; import java.net.URISyntaxException; import org.culturegraph.mf.stream.converter.xml.XmlDecoder; import org.culturegraph.mf.stream.sink.EventList; import org.culturegraph.mf.stream.sink.StreamValidator; import org.culturegraph.mf.stream.source.FileOpener; import org.junit.Test; /** * @author Pascal Christoph * */ @SuppressWarnings("javadoc") public class XmlEntitySplitterTest { @Test public void testFlow() throws URISyntaxException { final FileOpener opener = new FileOpener(); final XmlDecoder xmldecoder = new XmlDecoder(); final XmlEntitySplitter xmlsplitter = new XmlEntitySplitter(); xmlsplitter.setEntityName("Description"); xmlsplitter.setTopLevelElement("rdf:RDF"); final EventList expected = new EventList(); expected.startRecord("0"); expected.literal("entity", xmlsplitter.getXmlDeclaration() + "<rdf:RDF xmlns:rdf=\"ns#\"><rdf:Description rdf:about=\"1\"> <a rdf:resource=\"r1\">1</a></rdf:Description></rdf:RDF>"); expected.endRecord(); expected.startRecord("1"); expected.literal("entity", xmlsplitter.getXmlDeclaration() + "<rdf:RDF xmlns:rdf=\"ns#\"><rdf:Description rdf:about=\"2\"> <a rdf:resource=\"r2\">2</a></rdf:Description></rdf:RDF>"); expected.endRecord(); final StreamValidator validator = new StreamValidator(expected.getEvents()); opener.setReceiver(xmldecoder).setReceiver(xmlsplitter) .setReceiver(validator); File infile = new File(Thread.currentThread().getContextClassLoader() .getResource("xmlEntities.xml").toURI()); opener.process(infile.getAbsolutePath()); opener.closeStream(); } }