[java-opensaml COMMIT] in /trunk: opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/Metadata...
noreply at shibboleth.net
noreply at shibboleth.net
Wed Sep 11 20:02:55 EDT 2013
Author: putmanb
Date: Wed Sep 11 20:02:55 2013
New Revision: 3439
URL: http://svn.shibboleth.net/view/java-opensaml?rev=3439&view=rev
Log:
OSJ-41: Allow metadata filters to completely filter out a metadata set.
Fundamental approach is to modify MetadataFilter interface to return the filtered XMLObject.
Returning null may then be used to indicate filtering out of the top-level element.
Modified:
trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilter.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityRoleFilter.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/MetadataFilterChain.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilFilter.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SchemaValidationFilter.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilter.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractMetadataResolver.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractReloadingMetadataResolver.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/FileBackedHTTPMetadataResolver.java
trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilTest.java
trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilterTest.java
Modified: trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilter.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilter.java?rev=3439&r1=3438&r2=3439&view=diff
==============================================================================
--- trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilter.java (original)
+++ trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilter.java Wed Sep 11 20:02:55 2013
@@ -17,14 +17,27 @@
package org.opensaml.saml.metadata.resolver.filter;
+import javax.annotation.Nullable;
+
import org.opensaml.core.xml.XMLObject;
+import org.opensaml.saml.saml2.metadata.EntitiesDescriptor;
+import org.opensaml.saml.saml2.metadata.EntityDescriptor;
/**
- * A metadata filter is used to process a metadata document after it has been unmarshalled into object.
+ * A metadata filter is used to process a metadata document after it has been unmarshalled into an
+ * instance of {@link XMLObject}, either an {@link EntityDescriptor} or an {@link EntitiesDescriptor}.
*
+ * <p>
* Some example filters might remove everything but identity providers roles, decreasing the data a service provider
* needs to work with, or a filter could be used to perform integrity checking on the retrieved metadata by verifying a
* digital signature.
+ * </p>
+ *
+ * <p>
+ * If a filter wishes to completely remove the top-level document element, or otherwise indicate that it
+ * has successfully produced an empty data set from the input document, <code>null</code> may be returned
+ * by the filter's {@link #filter(XMLObject)} method.
+ * </p>
*/
public interface MetadataFilter {
@@ -33,7 +46,11 @@
*
* @param metadata the metadata to be filtered.
*
+ * @return the filtered XMLObject, which may or may not be the same as the XMLObject instance
+ * passed in to the method. Maybe be null, for example if the top-level element
+ * was removed by the filter.
+ *
* @throws FilterException thrown if an error occurs during the filtering process
*/
- public void doFilter(XMLObject metadata) throws FilterException;
+ @Nullable public XMLObject filter(@Nullable XMLObject metadata) throws FilterException;
}
Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityRoleFilter.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityRoleFilter.java?rev=3439&r1=3438&r2=3439&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityRoleFilter.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityRoleFilter.java Wed Sep 11 20:02:55 2013
@@ -131,9 +131,9 @@
}
/** {@inheritDoc} */
- public void doFilter(XMLObject metadata) throws FilterException {
+ public XMLObject filter(XMLObject metadata) throws FilterException {
[... 461 lines stripped ...]
More information about the commits
mailing list