[java-opensaml] branch master updated: OSJ-187: Adjust MetadataFilter API to take a passed context

Brent Putman putmanb at georgetown.edu
Wed Jul 31 18:51:31 EDT 2019


This is an automated email from the git hooks/post-receive script.

putmanb pushed a commit to branch master
in repository java-opensaml.

View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=fdad1b8e242424fcb96b052a9d9b60c0e01d758a

The following commit(s) were added to refs/heads/master by this push:
       new  fdad1b8   OSJ-187: Adjust MetadataFilter API to take a passed context
fdad1b8 is described below

commit fdad1b8e242424fcb96b052a9d9b60c0e01d758a
Author: Brent Putman <putmanb at georgetown.edu>
AuthorDate: Wed May 15 21:42:59 2019 -0400

    OSJ-187: Adjust MetadataFilter API to take a passed context
---
 .../metadata/resolver/filter/MetadataFilter.java   |  5 ++++-
 .../resolver/filter/MetadataFilterChain.java       |  5 +++--
 .../resolver/filter/MetadataFilterContext.java     | 22 ++++++++--------------
 .../resolver/filter/impl/AlgorithmFilter.java      |  4 +++-
 .../filter/impl/EntityAttributesFilter.java        |  4 +++-
 .../resolver/filter/impl/EntityRoleFilter.java     |  4 +++-
 .../resolver/filter/impl/NameIDFormatFilter.java   |  4 +++-
 .../filter/impl/NodeProcessingMetadataFilter.java  |  5 ++++-
 .../resolver/filter/impl/PredicateFilter.java      |  4 +++-
 .../filter/impl/RequiredValidUntilFilter.java      |  4 +++-
 .../filter/impl/SchemaValidationFilter.java        |  4 +++-
 .../filter/impl/SignatureValidationFilter.java     |  4 +++-
 .../resolver/impl/AbstractMetadataResolver.java    | 17 ++++++++++++++++-
 .../filter/impl/RequiredValidUntilTest.java        |  5 +++--
 .../SignatureValidationFilterExplicitKeyTest.java  | 15 ++++++++++-----
 .../impl/SignatureValidationFilterPKIXTest.java    |  9 +++++++--
 .../metadata/resolver/impl/MockFailureFilter.java  |  5 ++++-
 17 files changed, 83 insertions(+), 37 deletions(-)

diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilter.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilter.java
index 30bcf75..21bcd0f 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilter.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilter.java
@@ -17,6 +17,7 @@
 
 package org.opensaml.saml.metadata.resolver.filter;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import org.opensaml.core.xml.XMLObject;
@@ -44,6 +45,7 @@ public interface MetadataFilter {
      * Filters the given metadata, perhaps to remove elements that are not wanted.
      * 
      * @param metadata the metadata to be filtered.
+     * @param context the metadata filter context
      * 
      * @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 
@@ -51,5 +53,6 @@ public interface MetadataFilter {
      * 
      * @throws FilterException thrown if an error occurs during the filtering process
      */
-    @Nullable XMLObject filter(@Nullable final XMLObject metadata) throws FilterException;
+    @Nullable XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
+            throws FilterException;
 }
\ No newline at end of file
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilterChain.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilterChain.java
index cb52b7b..13235f5 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilterChain.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilterChain.java
@@ -56,7 +56,8 @@ public class MetadataFilterChain implements MetadataFilter {
 
     /** {@inheritDoc} */
     @Override
-    @Nullable public final XMLObject filter(@Nullable final XMLObject xmlObject) throws FilterException {
+    @Nullable public final XMLObject filter(@Nullable final XMLObject xmlObject,
+            @Nonnull final MetadataFilterContext context) throws FilterException {
         if (xmlObject == null) {
             return null;
         }
@@ -73,7 +74,7 @@ public class MetadataFilterChain implements MetadataFilter {
                     return null;
                 }
                 log.debug("Applying filter {}", filter.getClass().getName());
-                current = filter.filter(current);
+                current = filter.filter(current, context);
             }
             
             return current;
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/MockFailureFilter.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilterContext.java
similarity index 60%
copy from opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/MockFailureFilter.java
copy to opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilterContext.java
index 85e365f..b2db6d4 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/MockFailureFilter.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilterContext.java
@@ -15,22 +15,16 @@
  * limitations under the License.
  */
 
-package org.opensaml.saml.metadata.resolver.impl;
+package org.opensaml.saml.metadata.resolver.filter;
 
-import javax.annotation.Nullable;
-
-import org.opensaml.core.xml.XMLObject;
-import org.opensaml.saml.metadata.resolver.filter.FilterException;
-import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
+import net.shibboleth.utilities.java.support.collection.ClassIndexedSet;
 
 /**
- * Mock filter to test init failures.
+ * Class used to provide contextual information at runtime to {@link MetadataFilter} implementations.
  */
-public class MockFailureFilter implements MetadataFilter {
-
-    /** {@inheritDoc} */
-    @Nullable public XMLObject filter(@Nullable XMLObject metadata) throws FilterException {
-        throw new FilterException("Something really terrible happened");
-    }
+public class MetadataFilterContext extends ClassIndexedSet<MetadataFilterContext.Data> {
+    
+    /** Marker interface for data classes to be used with {@link MetadataFilterContext}. */
+    public interface Data {}
 
-}
+}
\ No newline at end of file
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilter.java
index 1381b1e..ad02441 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilter.java
@@ -40,6 +40,7 @@ import org.opensaml.saml.ext.saml2alg.DigestMethod;
 import org.opensaml.saml.ext.saml2alg.SigningMethod;
 import org.opensaml.saml.metadata.resolver.filter.FilterException;
 import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
+import org.opensaml.saml.metadata.resolver.filter.MetadataFilterContext;
 import org.opensaml.saml.saml2.metadata.EncryptionMethod;
 import org.opensaml.saml.saml2.metadata.EntitiesDescriptor;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
@@ -100,7 +101,8 @@ public class AlgorithmFilter extends AbstractInitializableComponent implements M
 
     /** {@inheritDoc} */
     @Override
-    @Nullable public XMLObject filter(@Nullable final XMLObject metadata) throws FilterException {
+    @Nullable public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
+            throws FilterException {
         if (metadata == null) {
             return null;
         }
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilter.java
index d6c758a..14d5665 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilter.java
@@ -42,6 +42,7 @@ import org.opensaml.saml.common.SAMLObjectBuilder;
 import org.opensaml.saml.ext.saml2mdattr.EntityAttributes;
 import org.opensaml.saml.metadata.resolver.filter.FilterException;
 import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
+import org.opensaml.saml.metadata.resolver.filter.MetadataFilterContext;
 import org.opensaml.saml.saml2.core.Attribute;
 import org.opensaml.saml.saml2.metadata.EntitiesDescriptor;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
@@ -127,7 +128,8 @@ public class EntityAttributesFilter extends AbstractInitializableComponent imple
 
     /** {@inheritDoc} */
     @Override
-    @Nullable public XMLObject filter(@Nullable final XMLObject metadata) throws FilterException {
+    @Nullable public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
+            throws FilterException {
         if (metadata == null) {
             return null;
         }
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityRoleFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityRoleFilter.java
index 177fe7b..229375e 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityRoleFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityRoleFilter.java
@@ -30,6 +30,7 @@ import org.opensaml.core.xml.XMLObject;
 import org.opensaml.saml.common.xml.SAMLConstants;
 import org.opensaml.saml.metadata.resolver.filter.FilterException;
 import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
+import org.opensaml.saml.metadata.resolver.filter.MetadataFilterContext;
 import org.opensaml.saml.saml2.metadata.EntitiesDescriptor;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
 import org.opensaml.saml.saml2.metadata.RoleDescriptor;
@@ -141,7 +142,8 @@ public class EntityRoleFilter implements MetadataFilter {
 
     /** {@inheritDoc} */
     @Override
-    @Nullable public XMLObject filter(@Nullable final XMLObject metadata) throws FilterException {
+    @Nullable public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
+            throws FilterException {
         if (metadata == null) {
             return null;
         }
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NameIDFormatFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NameIDFormatFilter.java
index a2a0b5c..5d6c3dc 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NameIDFormatFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NameIDFormatFilter.java
@@ -36,6 +36,7 @@ import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
 import org.opensaml.saml.common.SAMLObjectBuilder;
 import org.opensaml.saml.metadata.resolver.filter.FilterException;
 import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
+import org.opensaml.saml.metadata.resolver.filter.MetadataFilterContext;
 import org.opensaml.saml.saml2.metadata.AttributeAuthorityDescriptor;
 import org.opensaml.saml.saml2.metadata.EntitiesDescriptor;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
@@ -110,7 +111,8 @@ public class NameIDFormatFilter extends AbstractInitializableComponent implement
 
     /** {@inheritDoc} */
     @Override
-    @Nullable public XMLObject filter(@Nullable final XMLObject metadata) throws FilterException {
+    @Nullable public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
+            throws FilterException {
         ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
         
         if (metadata == null) {
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NodeProcessingMetadataFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NodeProcessingMetadataFilter.java
index 8354e13..6fdea93 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NodeProcessingMetadataFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NodeProcessingMetadataFilter.java
@@ -33,6 +33,7 @@ import net.shibboleth.utilities.java.support.logic.Constraint;
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.saml.metadata.resolver.filter.FilterException;
 import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
+import org.opensaml.saml.metadata.resolver.filter.MetadataFilterContext;
 import org.opensaml.saml.metadata.resolver.filter.MetadataNodeProcessor;
 
 import com.google.common.base.Predicates;
@@ -76,7 +77,9 @@ public class NodeProcessingMetadataFilter extends AbstractInitializableComponent
     }
 
     /** {@inheritDoc} */
-    @Override @Nullable public XMLObject filter(@Nullable final XMLObject metadata) throws FilterException {
+    @Override
+    @Nullable public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
+            throws FilterException {
         ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
 
         if (metadata == null) {
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/PredicateFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/PredicateFilter.java
index 77548fd..7b790f5 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/PredicateFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/PredicateFilter.java
@@ -30,6 +30,7 @@ import net.shibboleth.utilities.java.support.logic.Constraint;
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.saml.metadata.resolver.filter.FilterException;
 import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
+import org.opensaml.saml.metadata.resolver.filter.MetadataFilterContext;
 import org.opensaml.saml.saml2.metadata.EntitiesDescriptor;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
 import org.slf4j.Logger;
@@ -115,7 +116,8 @@ public class PredicateFilter implements MetadataFilter {
 
     /** {@inheritDoc} */
     @Override
-    public XMLObject filter(@Nullable final XMLObject metadata) throws FilterException {
+    public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
+            throws FilterException {
         
         if (metadata == null) {
             return null;
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilFilter.java
index fd72b43..532551c 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilFilter.java
@@ -26,6 +26,7 @@ import javax.annotation.Nullable;
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.saml.metadata.resolver.filter.FilterException;
 import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
+import org.opensaml.saml.metadata.resolver.filter.MetadataFilterContext;
 import org.opensaml.saml.saml2.metadata.EntitiesDescriptor;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
 import org.slf4j.Logger;
@@ -77,7 +78,8 @@ public class RequiredValidUntilFilter implements MetadataFilter {
     }
 
     /** {@inheritDoc} */
-    @Nullable public XMLObject filter(@Nullable final XMLObject metadata) throws FilterException {
+    @Nullable public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
+            throws FilterException {
         if (metadata == null) {
             return null;
         }
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SchemaValidationFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SchemaValidationFilter.java
index 323c543..b1d2fc6 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SchemaValidationFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SchemaValidationFilter.java
@@ -28,6 +28,7 @@ import org.opensaml.core.xml.XMLObject;
 import org.opensaml.saml.common.xml.SAMLSchemaBuilder;
 import org.opensaml.saml.metadata.resolver.filter.FilterException;
 import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
+import org.opensaml.saml.metadata.resolver.filter.MetadataFilterContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.xml.sax.SAXException;
@@ -107,7 +108,8 @@ public class SchemaValidationFilter implements MetadataFilter {
         
     /** {@inheritDoc} */
     @Override
-    @Nullable public XMLObject filter(@Nullable final XMLObject metadata) throws FilterException {
+    @Nullable public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
+            throws FilterException {
         if (metadata == null) {
             return null;
         }
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilter.java
index 2f7520a..a713cb3 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilter.java
@@ -28,6 +28,7 @@ import javax.annotation.Nullable;
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.saml.metadata.resolver.filter.FilterException;
 import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
+import org.opensaml.saml.metadata.resolver.filter.MetadataFilterContext;
 import org.opensaml.saml.saml2.metadata.AffiliationDescriptor;
 import org.opensaml.saml.saml2.metadata.EntitiesDescriptor;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
@@ -225,7 +226,8 @@ public class SignatureValidationFilter implements MetadataFilter {
 
     /** {@inheritDoc} */
     @Override
-    @Nullable public XMLObject filter(@Nullable final XMLObject metadata) throws FilterException {
+    @Nullable public XMLObject filter(@Nullable final XMLObject metadata, @Nonnull final MetadataFilterContext context)
+            throws FilterException {
         if (metadata == null) {
             return null;
         }
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractMetadataResolver.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractMetadataResolver.java
index 5e329cc..0e0fbee 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractMetadataResolver.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractMetadataResolver.java
@@ -57,6 +57,7 @@ import org.opensaml.saml.metadata.criteria.entity.impl.EntityDescriptorCriterion
 import org.opensaml.saml.metadata.resolver.MetadataResolver;
 import org.opensaml.saml.metadata.resolver.filter.FilterException;
 import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
+import org.opensaml.saml.metadata.resolver.filter.MetadataFilterContext;
 import org.opensaml.saml.saml2.common.SAML2Support;
 import org.opensaml.saml.saml2.metadata.EntitiesDescriptor;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
@@ -374,13 +375,27 @@ public abstract class AbstractMetadataResolver extends AbstractIdentifiableIniti
     @Nullable protected XMLObject filterMetadata(@Nullable final XMLObject metadata) throws FilterException {
         if (getMetadataFilter() != null) {
             log.debug("{} Applying metadata filter", getLogPrefix());
-            return getMetadataFilter().filter(metadata);
+            return getMetadataFilter().filter(metadata, newFilterContext());
         } else {
             return metadata;
         }
     }
 
     /**
+     * Get a new instance of {@link MetadataFilterContext} to be used when filtering metadata.
+     *
+     * <p>
+     * This default implementation will just return an empty context.  Subclasses would override
+     * to add contextual info specific to the implementation.
+     * </p>
+     *
+     * @return the new filter context instance
+     */
+    @Nonnull protected MetadataFilterContext newFilterContext() {
+        return new MetadataFilterContext();
+    }
+
+    /**
      * Releases the DOM representation from the metadata object.
      * 
      * @param metadata the metadata object
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilTest.java
index 3702c4a..4d043fe 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilTest.java
@@ -27,6 +27,7 @@ import net.shibboleth.utilities.java.support.component.ComponentInitializationEx
 import org.opensaml.core.xml.XMLObjectBaseTestCase;
 import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
 import org.opensaml.saml.common.SAMLObjectBuilder;
+import org.opensaml.saml.metadata.resolver.filter.MetadataFilterContext;
 import org.opensaml.saml.metadata.resolver.impl.FilesystemMetadataResolver;
 import org.opensaml.saml.metadata.resolver.impl.FilesystemMetadataResolverTest;
 import org.opensaml.saml.saml2.metadata.EntitiesDescriptor;
@@ -90,10 +91,10 @@ public class RequiredValidUntilTest extends XMLObjectBaseTestCase {
 
         RequiredValidUntilFilter filter = new RequiredValidUntilFilter();
         filter.setMaxValidityInterval(Duration.ofSeconds(-1));
-        filter.filter(descriptor);
+        filter.filter(descriptor, new MetadataFilterContext());
         
         filter = new RequiredValidUntilFilter();
-        filter.filter(descriptor);
+        filter.filter(descriptor, new MetadataFilterContext());
     }
     
 }
\ No newline at end of file
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilterExplicitKeyTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilterExplicitKeyTest.java
index c9b2040..0a3661a 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilterExplicitKeyTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilterExplicitKeyTest.java
@@ -29,6 +29,7 @@ import org.opensaml.core.xml.XMLObject;
 import org.opensaml.core.xml.XMLObjectBaseTestCase;
 import org.opensaml.core.xml.io.UnmarshallingException;
 import org.opensaml.saml.metadata.resolver.filter.FilterException;
+import org.opensaml.saml.metadata.resolver.filter.MetadataFilterContext;
 import org.opensaml.saml.metadata.resolver.impl.DOMMetadataResolver;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
 import org.opensaml.security.credential.CredentialSupport;
@@ -95,6 +96,8 @@ public class SignatureValidationFilterExplicitKeyTest extends XMLObjectBaseTestC
     
     private KeyInfoCredentialResolver kiResolver;
     
+    private MetadataFilterContext filterContext;
+
     @BeforeClass
     public void buildKeyInfoCredentialResolver() {
         kiResolver = DefaultSecurityConfigurationBootstrap.buildBasicInlineKeyInfoCredentialResolver();
@@ -109,6 +112,8 @@ public class SignatureValidationFilterExplicitKeyTest extends XMLObjectBaseTestC
         X509Credential switchCred = CredentialSupport.getSimpleCredential(switchCert, null);
         StaticCredentialResolver switchCredResolver = new StaticCredentialResolver(switchCred);
         switchSigTrustEngine = new ExplicitKeySignatureTrustEngine(switchCredResolver, kiResolver);
+
+        filterContext = new MetadataFilterContext();
     }
 
     @Test
@@ -118,7 +123,7 @@ public class SignatureValidationFilterExplicitKeyTest extends XMLObjectBaseTestC
         
         SignatureValidationFilter filter = new SignatureValidationFilter(switchSigTrustEngine);
         try {
-            filter.filter(xmlObject);
+            filter.filter(xmlObject, filterContext);
         } catch (FilterException e) {
             Assert.fail("Filter failed validation, should have succeeded: " + e.getMessage());
         }
@@ -136,7 +141,7 @@ public class SignatureValidationFilterExplicitKeyTest extends XMLObjectBaseTestC
         CriteriaSet defaultCriteriaSet = new CriteriaSet(new SignatureValidationParametersCriterion(sigParams));
         filter.setDefaultCriteria(defaultCriteriaSet);
         
-        filter.filter(xmlObject);
+        filter.filter(xmlObject, filterContext);
     }
     
     @Test
@@ -146,7 +151,7 @@ public class SignatureValidationFilterExplicitKeyTest extends XMLObjectBaseTestC
         
         SignatureValidationFilter filter = new SignatureValidationFilter(switchSigTrustEngine);
         try {
-            filter.filter(xmlObject);
+            filter.filter(xmlObject, filterContext);
             Assert.fail("Filter passed validation, should have failed");
         } catch (FilterException e) {
             // do nothing, should fail
@@ -170,7 +175,7 @@ public class SignatureValidationFilterExplicitKeyTest extends XMLObjectBaseTestC
         
         SignatureValidationFilter filter = new SignatureValidationFilter(trustEngine);
         try {
-            filter.filter(ed);
+            filter.filter(ed, filterContext);
         } catch (FilterException e) {
             Assert.fail("Filter failed validation, should have succeeded: " + e.getMessage());
         }
@@ -193,7 +198,7 @@ public class SignatureValidationFilterExplicitKeyTest extends XMLObjectBaseTestC
         
         SignatureValidationFilter filter = new SignatureValidationFilter(trustEngine);
         try {
-            filter.filter(xmlObject);
+            filter.filter(xmlObject, filterContext);
             Assert.fail("Filter passed validation, should have failed");
         } catch (FilterException e) {
             // do nothing, should fail
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilterPKIXTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilterPKIXTest.java
index c78f5b0..bf13782 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilterPKIXTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilterPKIXTest.java
@@ -32,6 +32,7 @@ import org.opensaml.core.xml.io.UnmarshallingException;
 import org.opensaml.core.xml.util.XMLObjectSupport;
 import org.opensaml.saml.common.SignableSAMLObject;
 import org.opensaml.saml.metadata.resolver.filter.FilterException;
+import org.opensaml.saml.metadata.resolver.filter.MetadataFilterContext;
 import org.opensaml.security.SecurityException;
 import org.opensaml.security.credential.Credential;
 import org.opensaml.security.crypto.KeySupport;
@@ -64,10 +65,14 @@ public class SignatureValidationFilterPKIXTest extends XMLObjectBaseTestCase {
     
     private SignatureValidationFilter filter;
     
+    private MetadataFilterContext filterContext;
+
     @BeforeMethod
     public void setUp() {
         filter = new SignatureValidationFilter(buildTrustEngine());
         filter.setDynamicTrustedNamesStrategy(new BasicDynamicTrustedNamesStrategy());
+
+        filterContext = new MetadataFilterContext();
     }
     
     @Test
@@ -75,7 +80,7 @@ public class SignatureValidationFilterPKIXTest extends XMLObjectBaseTestCase {
         Credential signingCredential = buildSigningCredential("entity.key", "entity.crt", "ca.crt");
         XMLObject entityDescriptor = generateSignedMetadata(signingCredential, "EntityDescriptor.xml");
         
-        filter.filter(entityDescriptor);
+        filter.filter(entityDescriptor, filterContext);
     }
     
     @Test(expectedExceptions=FilterException.class)
@@ -86,7 +91,7 @@ public class SignatureValidationFilterPKIXTest extends XMLObjectBaseTestCase {
         // will not match.
         XMLObject entityDescriptor = generateSignedMetadata(signingCredential, "EntityDescriptor-invalid-entityid.xml");
         
-        filter.filter(entityDescriptor);
+        filter.filter(entityDescriptor, filterContext);
     }
 
     private XMLObject generateSignedMetadata(Credential signingCredential, String unsignedMetadata) 
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/MockFailureFilter.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/MockFailureFilter.java
index 85e365f..08e0e53 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/MockFailureFilter.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/MockFailureFilter.java
@@ -17,11 +17,13 @@
 
 package org.opensaml.saml.metadata.resolver.impl;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.saml.metadata.resolver.filter.FilterException;
 import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
+import org.opensaml.saml.metadata.resolver.filter.MetadataFilterContext;
 
 /**
  * Mock filter to test init failures.
@@ -29,7 +31,8 @@ import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
 public class MockFailureFilter implements MetadataFilter {
 
     /** {@inheritDoc} */
-    @Nullable public XMLObject filter(@Nullable XMLObject metadata) throws FilterException {
+    @Nullable public XMLObject filter(@Nullable XMLObject metadata, @Nonnull final MetadataFilterContext context)
+            throws FilterException {
         throw new FilterException("Something really terrible happened");
     }
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list