[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