[java-metadata-aggregator COMMIT] in /trunk/aggregator-pipeline/src: main/java/net/shibboleth/metadata/dom/XSLValidat...
noreply at shibboleth.net
noreply at shibboleth.net
Thu Mar 22 11:57:57 GMT 2012
Author: iay
Date: Thu Mar 22 11:57:56 2012
New Revision: 196
URL: http://svn.shibboleth.net/view/java-metadata-aggregator?rev=196&view=rev
Log:
MDA-45: XSLValidationStage should start from document node, not document element.
Added:
trunk/aggregator-pipeline/src/test/resources/data/mda45.xsl (with props)
Modified:
trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/XSLValidationStage.java
trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XSLValidationStageTest.java
Modified: trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/XSLValidationStage.java
URL: http://svn.shibboleth.net/view/java-metadata-aggregator/trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/XSLValidationStage.java?rev=196&r1=195&r2=196&view=diff
==============================================================================
--- trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/XSLValidationStage.java (original)
+++ trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/XSLValidationStage.java Thu Mar 22 11:57:56 2012
@@ -47,7 +47,7 @@
try {
for (DomElementItem domItem : itemCollection) {
transformer.setErrorListener(new StatusInfoAppendingErrorListener(domItem));
- transformer.transform(new DOMSource(domItem.unwrap()), new DOMResult());
+ transformer.transform(new DOMSource(domItem.unwrap().getOwnerDocument()), new DOMResult());
}
} catch (TransformerException e) {
throw new StageProcessingException("Unable to validate DOM Element", e);
Modified: trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XSLValidationStageTest.java
URL: http://svn.shibboleth.net/view/java-metadata-aggregator/trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XSLValidationStageTest.java?rev=196&r1=195&r2=196&view=diff
==============================================================================
--- trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XSLValidationStageTest.java (original)
+++ trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XSLValidationStageTest.java Thu Mar 22 11:57:56 2012
@@ -92,12 +92,39 @@
Assert.assertEquals(warnings.size(), 1);
Assert.assertEquals(warnings.get(0).getStatusMessage(), "first value");
- // verify the presence of the WarningStatus on the output
+ // verify the presence of the ErrorStatus on the output
List<ErrorStatus> errors = result.getItemMetadata().get(ErrorStatus.class);
Assert.assertEquals(errors.size(), 1);
Assert.assertEquals(errors.get(0).getStatusMessage(), "error value");
}
+ /**
+ * Test for MDA-45.
+ */
+ @Test public void testMDA45() throws Exception {
+
+ ArrayList<DomElementItem> mdCol = new ArrayList<DomElementItem>();
+ mdCol.add(makeInput());
+
+ Resource transform = new ClasspathResource("data/mda45.xsl");
+
+ XSLValidationStage stage = new XSLValidationStage();
+ stage.setId("test");
+ stage.setXslResource(transform);
+ stage.initialize();
+
+ stage.execute(mdCol);
+
+ // The input element should still be the only thing in the collection
+ Assert.assertEquals(mdCol.size(), 1);
+ DomElementItem result = mdCol.get(0);
+
+ // verify the presence of the InfoStatus on the output
+ List<InfoStatus> infos = result.getItemMetadata().get(InfoStatus.class);
+ Assert.assertEquals(infos.size(), 1);
+ Assert.assertEquals(infos.get(0).getStatusMessage(), "values");
+ }
+
/** Simple marker object to test correct passage of {@link ItemMetadata} through pipeline stages. */
private static class TestInfo implements ItemMetadata {
More information about the commits
mailing list