public void test_filtering() throws IOException, SAXException { Smooks smooks = new Smooks(); BasicExecutionEventListener eventListener = new BasicExecutionEventListener(); smooks.addConfigurations("config2.xml", getClass().getResourceAsStream("config2.xml")); // Create an exec context - no profiles.... ExecutionContext executionContext = smooks.createExecutionContext(); CharArrayWriter outputWriter = new CharArrayWriter(); // Filter the input message to the outputWriter, using the execution context... executionContext.setEventListener(eventListener); smooks.filterSource( executionContext, new StreamSource(getClass().getResourceAsStream("testxml1.xml")), new StreamResult(outputWriter)); log.debug(outputWriter.toString()); byte[] expected = StreamUtils.readStream(getClass().getResourceAsStream("testxml1-expected.xml")); assertTrue( StreamUtils.compareCharStreams( new ByteArrayInputStream(expected), new ByteArrayInputStream(outputWriter.toString().getBytes()))); assertEquals(32, eventListener.getEvents().size()); }
public void test_phase_selection() throws IOException, SAXException { Smooks smooks = new Smooks(); ExecutionContext execContext; DOMContentDeliveryConfig config; smooks.addConfigurations("config1.xml", getClass().getResourceAsStream("config1.xml")); execContext = smooks.createExecutionContext(); config = (DOMContentDeliveryConfig) execContext.getDeliveryConfig(); // Check the assembly units... List<ContentHandlerConfigMap<DOMVisitBefore>> assemblyVBs = config.getAssemblyVisitBefores().getMappings("a"); List<ContentHandlerConfigMap<DOMVisitAfter>> assemblyVAs = config.getAssemblyVisitAfters().getMappings("a"); assertEquals(2, assemblyVBs.size()); assertTrue(assemblyVBs.get(0).getContentHandler() instanceof AssemblyVisitor1); assertTrue(assemblyVBs.get(1).getContentHandler() instanceof ConfigurableVisitor); assertEquals(2, assemblyVAs.size()); assertTrue(assemblyVAs.get(0).getContentHandler() instanceof ConfigurableVisitor); assertTrue(assemblyVAs.get(1).getContentHandler() instanceof AssemblyVisitor1); List<ContentHandlerConfigMap<DOMVisitBefore>> processingVBs = config.getProcessingVisitBefores().getMappings("a"); List<ContentHandlerConfigMap<DOMVisitAfter>> processingVAs = config.getProcessingVisitAfters().getMappings("a"); assertEquals(2, processingVBs.size()); assertTrue(processingVBs.get(0).getContentHandler() instanceof ProcessorVisitor1); assertTrue(processingVBs.get(1).getContentHandler() instanceof ConfigurableVisitor); assertEquals(2, processingVAs.size()); assertTrue(processingVAs.get(0).getContentHandler() instanceof ConfigurableVisitor); assertTrue(processingVAs.get(1).getContentHandler() instanceof ProcessorVisitor1); }