[java-metadata-aggregator COMMIT] in /trunk: aggregator-parent/doc/RELEASE-NOTES.txt aggregator-pipeline/src/main/jav...
noreply at shibboleth.net
noreply at shibboleth.net
Mon Oct 14 05:29:00 EDT 2013
Author: iay
Date: Mon Oct 14 05:29:00 2013
New Revision: 279
URL: http://svn.shibboleth.net/view/java-metadata-aggregator?rev=279&view=rev
Log:
MDA-102: allow configuration of URI resolver for XSLT stages
Added:
trunk/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/XSLTransformationStage-included2.xsl (with props)
trunk/aggregator-pipeline/src/test/resources/net/shibboleth/metadata/dom/XSLTransformationStage-output2.xml (with props)
Modified:
trunk/aggregator-parent/doc/RELEASE-NOTES.txt
trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/AbstractXSLProcessingStage.java
trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XSLTtransformationStageTest.java
Modified: trunk/aggregator-parent/doc/RELEASE-NOTES.txt
URL: http://svn.shibboleth.net/view/java-metadata-aggregator/trunk/aggregator-parent/doc/RELEASE-NOTES.txt?rev=279&r1=278&r2=279&view=diff
==============================================================================
--- trunk/aggregator-parent/doc/RELEASE-NOTES.txt (original)
+++ trunk/aggregator-parent/doc/RELEASE-NOTES.txt Mon Oct 14 05:29:00 2013
@@ -48,6 +48,7 @@
** New Feature
* [MDA-88] - assist debugging of signature creation by making pre-digest data available
* [MDA-91] - allow checking that SAML metadata is signed using ID, not empty reference
+ * [MDA-102] - allow configuration of URI resolver for XSLT stages
* [MDA-120] - signature validation stage should allow algorithm blacklisting
** Task
Modified: trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/AbstractXSLProcessingStage.java
URL: http://svn.shibboleth.net/view/java-metadata-aggregator/trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/AbstractXSLProcessingStage.java?rev=279&r1=278&r2=279&view=diff
==============================================================================
--- trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/AbstractXSLProcessingStage.java (original)
+++ trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/AbstractXSLProcessingStage.java Mon Oct 14 05:29:00 2013
@@ -32,6 +32,7 @@
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.URIResolver;
import javax.xml.transform.stream.StreamSource;
import net.shibboleth.metadata.ErrorStatus;
@@ -86,6 +87,9 @@
* If not set, an empty collection.
*/
private Map<String, Object> transformParameters = Collections.emptyMap();
+
+ /** {@link URIResolver} to use in the transformer. Default value: <code>null</code>. */
+ @Nullable private URIResolver uriResolver;
/**
* Gets the resource that provides the XSL document.
@@ -203,6 +207,28 @@
}
transformParameters = Collections.unmodifiableMap(newParams);
+ }
+
+ /**
+ * Gets the {@link URIResolver} set for this transform, if any.
+ *
+ * @return the {@link URIResolver}, or <code>null</code>
+ */
+ @Nullable public URIResolver getURIResolver() {
+ return uriResolver;
+ }
+
+ /**
+ * Set the {@link URIResolver} for this transform, or <code>null</code> to
+ * specify none.
+ *
+ * @param resolver the {@link URIResolver} to use, or <code>null</code>
+ */
+ public synchronized void setURIResolver(@Nullable final URIResolver resolver) {
+ ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
+ ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+
+ uriResolver = resolver;
}
/** {@inheritDoc} */
@@ -241,6 +267,7 @@
transformAttributes = null;
transformFeatures = null;
transformParameters = null;
+ uriResolver = null;
super.doDestroy();
}
@@ -272,6 +299,10 @@
for (Entry<String, Boolean> features : transformFeatures.entrySet()) {
tfactory.setFeature(features.getKey(), features.getValue());
+ }
+
+ if (uriResolver != null) {
+ tfactory.setURIResolver(uriResolver);
}
log.debug("{} pipeline stage compiling XSL file {}", getId(), xslResource);
Modified: trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XSLTtransformationStageTest.java
URL: http://svn.shibboleth.net/view/java-metadata-aggregator/trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XSLTtransformationStageTest.java?rev=279&r1=278&r2=279&view=diff
==============================================================================
--- trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XSLTtransformationStageTest.java (original)
+++ trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/XSLTtransformationStageTest.java Mon Oct 14 05:29:00 2013
@@ -24,12 +24,19 @@
import java.util.Map;
import java.util.Set;
+import javax.xml.transform.Source;
+import javax.xml.transform.TransformerException;
[... 72 lines stripped ...]
More information about the commits
mailing list