[java-shib-metadata] branch main updated: OSJ-363 - Add activationCondition support to MetadataResolvers
Scott Cantor
cantor.2 at osu.edu
Wed Oct 19 17:10:45 UTC 2022
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-shib-metadata.
View the commit online:
http://git.shibboleth.net/view/?p=java-shib-metadata.git;a=commit;h=79a81c465842c2409dff2c8a2f4df5c3d7b89e58
The following commit(s) were added to refs/heads/main by this push:
new 79a81c46 OSJ-363 - Add activationCondition support to MetadataResolvers
79a81c46 is described below
commit 79a81c465842c2409dff2c8a2f4df5c3d7b89e58
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Wed Oct 19 13:10:42 2022 -0400
OSJ-363 - Add activationCondition support to MetadataResolvers
https://shibboleth.atlassian.net/browse/OSJ-363
Spring parser support.
---
.../spring/metadata/AbstractMetadataProviderParser.java | 5 +++++
.../src/main/resources/schema/shibboleth-metadata.xsd | 7 +++++++
.../spring/metadata/FilesystemMetadataParserTest.java | 15 ++++++++++++++-
.../spring/metadata/fileEntityActivationCondition.xml | 11 +++++++++++
4 files changed, 37 insertions(+), 1 deletion(-)
diff --git a/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/AbstractMetadataProviderParser.java b/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/AbstractMetadataProviderParser.java
index 0aef188b..0cf1c43b 100644
--- a/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/AbstractMetadataProviderParser.java
+++ b/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/AbstractMetadataProviderParser.java
@@ -190,6 +190,11 @@ public abstract class AbstractMetadataProviderParser extends AbstractCustomBeanD
SpringSupport.getStringValueAsBoolean(element.getAttributeNS(null, "requireValidMetadata")));
}
+ if (element.hasAttributeNS(null, "activationConditionRef")) {
+ builder.addPropertyReference("activationCondition",
+ StringSupport.trimOrNull(element.getAttributeNS(null, "activationConditionRef")));
+ }
+
processPredicateOptions(element, parserContext, builder);
final List<Element> filters =
diff --git a/shib-metadata-spring/src/main/resources/schema/shibboleth-metadata.xsd b/shib-metadata-spring/src/main/resources/schema/shibboleth-metadata.xsd
index f7d8f371..5dc245c9 100644
--- a/shib-metadata-spring/src/main/resources/schema/shibboleth-metadata.xsd
+++ b/shib-metadata-spring/src/main/resources/schema/shibboleth-metadata.xsd
@@ -805,6 +805,13 @@
<documentation>A unique identifier that may be used to identify a particular provider.</documentation>
</annotation>
</attribute>
+ <attribute name="activationConditionRef" type="shibmd:string">
+ <annotation>
+ <documentation>
+ Reference to a bean supplying an activation predicate.
+ </documentation>
+ </annotation>
+ </attribute>
<attribute name="requireValidMetadata" type="shibmd:string">
<annotation>
<documentation>
diff --git a/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/FilesystemMetadataParserTest.java b/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/FilesystemMetadataParserTest.java
index 85e9a438..39387d7f 100644
--- a/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/FilesystemMetadataParserTest.java
+++ b/shib-metadata-spring/src/test/java/net/shibboleth/spring/metadata/FilesystemMetadataParserTest.java
@@ -32,7 +32,20 @@ import net.shibboleth.idp.saml.metadata.impl.MetadataProviderContainer;
@SuppressWarnings("javadoc")
public class FilesystemMetadataParserTest extends AbstractMetadataParserTest {
-
+
+ @Test public void inactive() throws Exception {
+
+ FilesystemMetadataResolver resolver = getBean(FilesystemMetadataResolver.class, "fileEntityActivationCondition.xml", "beans.xml");
+
+ Assert.assertEquals(resolver.getId(), "fileEntityActivationCondition");
+
+ final Iterable<EntityDescriptor> entities = resolver.resolve(criteriaFor(IDP_ID));
+ Assert.assertTrue(resolver.isFailFastInitialization());
+ Assert.assertTrue(resolver.isRequireValidMetadata());
+
+ Assert.assertNull(entities);
+ }
+
@Test public void entity() throws Exception {
FilesystemMetadataResolver resolver = getBean(FilesystemMetadataResolver.class, "fileEntity.xml", "beans.xml");
diff --git a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/fileEntityActivationCondition.xml b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/fileEntityActivationCondition.xml
new file mode 100644
index 00000000..087ffe04
--- /dev/null
+++ b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/fileEntityActivationCondition.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata:MetadataProvider xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
+ xmlns:metadata="urn:mace:shibboleth:2.0:metadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd
+ urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
+
+ id="fileEntityActivationCondition" xsi:type="metadata:FilesystemMetadataProvider" metadataFile="%{DIR}/entity.xml"
+ activationConditionRef="predicate.AlwaysFalse">
+
+</metadata:MetadataProvider>
+
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list