use of com.adaptris.core.services.splitter.PooledSplitJoinService in project interlok by adaptris.
the class MimeAggregatorTest method testService_ContentEncoding.
@Test
public void testService_ContentEncoding() throws Exception {
// This is a 100 line message, so we expect to get 11 parts.
AdaptrisMessage msg = SplitterCase.createLineCountMessageInput();
PooledSplitJoinService service = new PooledSplitJoinService();
// The service doesn't actually matter right now.
service.setService(new NullService());
service.setTimeout(new TimeInterval(10L, TimeUnit.SECONDS));
service.setSplitter(new LineCountSplitter());
MimeAggregator aggr = createAggregatorForTests().withEncoding("base64");
service.setAggregator(aggr);
execute(service, msg);
BodyPartIterator input = MimeHelper.createBodyPartIterator(msg);
assertEquals(11, input.size());
}
use of com.adaptris.core.services.splitter.PooledSplitJoinService in project interlok by adaptris.
the class MimeAggregatorTest method testService_ContentIdProvided.
@Test
public void testService_ContentIdProvided() throws Exception {
// This is a 100 line message, so we expect to get 11 parts.
AdaptrisMessage msg = SplitterCase.createLineCountMessageInput();
msg.addMetadata(getName(), msg.getUniqueId());
PooledSplitJoinService service = new PooledSplitJoinService();
// The service doesn't actually matter right now.
service.setService(createAddMetadataService(getName()));
service.setTimeout(new TimeInterval(10L, TimeUnit.SECONDS));
service.setSplitter(new LineCountSplitter());
MimeAggregator aggr = createAggregatorForTests();
aggr.setPartContentId("%message{" + getName() + "}");
service.setAggregator(aggr);
execute(service, msg);
BodyPartIterator input = MimeHelper.createBodyPartIterator(msg);
assertEquals(11, input.size());
}
use of com.adaptris.core.services.splitter.PooledSplitJoinService in project interlok by adaptris.
the class XmlAggregatorTest method testSplitJoinService_WithExplicitDocumentEnoding.
@Test
public void testSplitJoinService_WithExplicitDocumentEnoding() throws Exception {
// This is a XML doc with 3 iterable elements...
AdaptrisMessage msg = AdaptrisMessageFactory.getDefaultInstance().newMessage(SplitterCase.XML_MESSAGE);
PooledSplitJoinService service = new PooledSplitJoinService();
// The service doesn't actually matter right now.
service.setService(asCollection(new NullService()));
service.setTimeout(new TimeInterval(10L, TimeUnit.SECONDS));
service.setSplitter(new XpathMessageSplitter(ENVELOPE_DOCUMENT, ENCODING_UTF8));
XmlDocumentAggregator aggr = new XmlDocumentAggregator(new InsertNode(XPATH_ENVELOPE));
aggr.setDocumentEncoding("UTF-8");
service.setAggregator(aggr);
execute(service, msg);
// Should now be 6 document nodes
XPath xpath = new XPath();
assertEquals(6, xpath.selectNodeList(XmlHelper.createDocument(msg, true), ENVELOPE_DOCUMENT).getLength());
assertEquals("UTF-8", msg.getContentEncoding());
}
use of com.adaptris.core.services.splitter.PooledSplitJoinService in project interlok by adaptris.
the class IgnoreOriginalMimeAggregatorTest method testService_MimeSplitter.
@Test
public void testService_MimeSplitter() throws Exception {
// This is a 3 part message, so that should generate 3 split messages; which should generate 3 parts at the end.
AdaptrisMessage msg = MimeJunitHelper.create();
PooledSplitJoinService service = new PooledSplitJoinService();
// The service doesn't actually matter right now.
service.setService(new NullService());
service.setTimeout(new TimeInterval(10L, TimeUnit.SECONDS));
service.setSplitter(new MimePartSplitter());
MimeAggregator aggr = createAggregatorForTests();
aggr.setEncoding("base64");
service.setAggregator(aggr);
execute(service, msg);
BodyPartIterator input = MimeHelper.createBodyPartIterator(msg);
assertEquals(3, input.size());
}
use of com.adaptris.core.services.splitter.PooledSplitJoinService in project interlok by adaptris.
the class IgnoreOriginalXmlAggregatorTest method testSplitJoinService_WithExplicitDocumentEnoding.
@Test
public void testSplitJoinService_WithExplicitDocumentEnoding() throws Exception {
// This is a XML doc with 3 iterable elements...
AdaptrisMessage msg = AdaptrisMessageFactory.getDefaultInstance().newMessage(SplitterCase.XML_MESSAGE);
PooledSplitJoinService service = new PooledSplitJoinService();
// The service doesn't actually matter right now.
service.setService(asCollection(new NullService()));
service.setTimeout(new TimeInterval(10L, TimeUnit.SECONDS));
service.setSplitter(new XpathMessageSplitter(ENVELOPE_DOCUMENT, ENCODING_UTF8));
IgnoreOriginalXmlDocumentAggregator aggr = new IgnoreOriginalXmlDocumentAggregator("<new/>", new InsertNode("/new"));
aggr.setDocumentEncoding("UTF-8");
service.setAggregator(aggr);
execute(service, msg);
// Should now be 3 document nodes
// because we ignore the original
XPath xpath = new XPath();
assertEquals(3, xpath.selectNodeList(XmlHelper.createDocument(msg, true), "/new/document").getLength());
assertEquals("UTF-8", msg.getContentEncoding());
}
Aggregations