use of com.adaptris.core.MetadataElement in project interlok by adaptris.
the class MultiItemMetadataXpathQueryTest method testResolveXpath.
@Test
public void testResolveXpath() throws Exception {
MultiItemMetadataXpathQuery query = init(create());
Document doc = XmlHelper.createDocument(XML);
AdaptrisMessage msg = AdaptrisMessageFactory.getDefaultInstance().newMessage(XML);
msg.addMetadata("xpathMetadataKey", "//extra[@att='multi']");
MetadataElement result = query.resolveXpath(doc, new XPath(), query.createXpathQuery(msg));
assertEquals("two|three", result.getValue());
}
use of com.adaptris.core.MetadataElement in project interlok by adaptris.
the class ConfiguredXpathQueryTest method testResolveXpath_NamespaceWithNamespaceContext.
// Invalid test
// Namedspaced document with non-namespace xpath never matches with SAXON
// public void testResolveXpath_NamespaceNoNamespaceContext() throws Exception {
// ConfiguredXpathQuery query = init(create(), "count(/schematron-output/failed-assert)");
// Document doc = XmlHelper.createDocument(XML_WITH_NAMESPACE);
// AdaptrisMessage msg = AdaptrisMessageFactory.getDefaultInstance().newMessage(XML_WITH_NAMESPACE, "UTF-8");
//
// MetadataElement result = query.resolveXpath(doc, null, query.createXpathQuery(msg));
// assertEquals("2", result.getValue());
// }
@Test
public void testResolveXpath_NamespaceWithNamespaceContext() throws Exception {
ConfiguredXpathQuery query = init(create(), "count(/svrl:schematron-output/svrl:failed-assert)");
AdaptrisMessage msg = AdaptrisMessageFactory.getDefaultInstance().newMessage(XML_WITH_NAMESPACE);
StaticNamespaceContext ctx = new StaticNamespaceContext();
Document doc = XmlHelper.createDocument(XML_WITH_NAMESPACE, ctx);
MetadataElement result = query.resolveXpath(doc, new XPath(ctx), query.createXpathQuery(msg));
assertEquals("2", result.getValue());
}
use of com.adaptris.core.MetadataElement in project interlok by adaptris.
the class ConfiguredXpathQueryTest method testResolveXpath_Attribute.
@Test
public void testResolveXpath_Attribute() throws Exception {
ConfiguredXpathQuery query = init(create(), "//@att");
Document doc = XmlHelper.createDocument(XML);
AdaptrisMessage msg = AdaptrisMessageFactory.getDefaultInstance().newMessage(XML);
MetadataElement result = query.resolveXpath(doc, new XPath(), query.createXpathQuery(msg));
}
use of com.adaptris.core.MetadataElement in project interlok by adaptris.
the class ConfiguredXpathQueryTest method testResolveXpath_EmptyResults_Allowed.
@Test
public void testResolveXpath_EmptyResults_Allowed() throws Exception {
ConfiguredXpathQuery query = init(create(), "//@MissingAttribute");
query.setAllowEmptyResults(Boolean.TRUE);
Document doc = XmlHelper.createDocument(XML);
AdaptrisMessage msg = AdaptrisMessageFactory.getDefaultInstance().newMessage(XML);
MetadataElement result = query.resolveXpath(doc, new XPath(), query.createXpathQuery(msg));
assertEquals("", result.getValue());
}
use of com.adaptris.core.MetadataElement in project interlok by adaptris.
the class ConfiguredXpathQueryTest method testMessageResolveXpath.
@Test
public void testMessageResolveXpath() throws Exception {
ConfiguredXpathQuery query = init(create(), "//message/extra[%message{which-extra}]");
query.setAllowEmptyResults(Boolean.FALSE);
Document doc = XmlHelper.createDocument(XML);
AdaptrisMessage msg = AdaptrisMessageFactory.getDefaultInstance().newMessage(XML);
msg.addMetadata("which-extra", "1");
MetadataElement result = query.resolveXpath(doc, new XPath(), query.createXpathQuery(msg));
assertEquals("one", result.getValue());
msg.addMetadata("which-extra", "2");
result = query.resolveXpath(doc, new XPath(), query.createXpathQuery(msg));
assertEquals("two", result.getValue());
msg.addMetadata("which-extra", "3");
result = query.resolveXpath(doc, new XPath(), query.createXpathQuery(msg));
assertEquals("three", result.getValue());
}
Aggregations