[java-identity-provider] branch master updated: IDP-1619 - Deprecate terms from classes and configuration
Scott Cantor
cantor.2 at osu.edu
Tue Jun 9 22:23:12 UTC 2020
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch master
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=99a9fb4f0d718037d185b356f811e21d7f0c0c2b
The following commit(s) were added to refs/heads/master by this push:
new 99a9fb4f0 IDP-1619 - Deprecate terms from classes and configuration
99a9fb4f0 is described below
commit 99a9fb4f0d718037d185b356f811e21d7f0c0c2b
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Jun 9 18:23:06 2020 -0400
IDP-1619 - Deprecate terms from classes and configuration
https://issues.shibboleth.net/jira/browse/IDP-1619
Rename EntityRole filter.
---
.../src/main/resources/conf/metadata-providers.xml | 2 +-
.../src/test/resources/conf/metadata-providers.xml | 2 +-
.../impl/DeprecatedEntityRoleFilterParser.java | 54 ++++++++++++++++++++++
.../filter/impl/EntityRoleFilterParser.java | 10 +++-
.../metadata/impl/MetadataNamespaceHandler.java | 4 ++
.../filter/EntityRoleFilterParserTest.java | 11 ++---
.../relyingparty/metadata/filter/entityRole.xml | 2 +-
.../metadata/filter/entityRoleParams.xml | 2 +-
.../main/resources/schema/shibboleth-metadata.xsd | 15 +++++-
9 files changed, 88 insertions(+), 14 deletions(-)
diff --git a/idp-conf/src/main/resources/conf/metadata-providers.xml b/idp-conf/src/main/resources/conf/metadata-providers.xml
index 7db56966a..be5fe683f 100644
--- a/idp-conf/src/main/resources/conf/metadata-providers.xml
+++ b/idp-conf/src/main/resources/conf/metadata-providers.xml
@@ -54,7 +54,7 @@
<MetadataFilter xsi:type="SignatureValidation" certificateFile="%{idp.home}/credentials/metaroot.pem" />
<MetadataFilter xsi:type="RequiredValidUntil" maxValidityInterval="P30D"/>
- <MetadataFilter xsi:type="EntityRoleWhiteList">
+ <MetadataFilter xsi:type="EntityRole">
<RetainedRole>md:SPSSODescriptor</RetainedRole>
</MetadataFilter>
</MetadataProvider>
diff --git a/idp-conf/src/test/resources/conf/metadata-providers.xml b/idp-conf/src/test/resources/conf/metadata-providers.xml
index 2df93e010..67faf6ac9 100644
--- a/idp-conf/src/test/resources/conf/metadata-providers.xml
+++ b/idp-conf/src/test/resources/conf/metadata-providers.xml
@@ -39,7 +39,7 @@
</PublicKey>
</MetadataFilter>
<MetadataFilter xsi:type="SchemaValidation"/>
- <MetadataFilter xsi:type="EntityRoleWhiteList">
+ <MetadataFilter xsi:type="EntityRole">
<RetainedRole>md:SPSSODescriptor</RetainedRole>
</MetadataFilter>
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/DeprecatedEntityRoleFilterParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/DeprecatedEntityRoleFilterParser.java
new file mode 100644
index 000000000..99c4c30d8
--- /dev/null
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/DeprecatedEntityRoleFilterParser.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.idp.profile.spring.relyingparty.metadata.filter.impl;
+
+import javax.annotation.Nonnull;
+import javax.xml.namespace.QName;
+
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.xml.ParserContext;
+import org.w3c.dom.Element;
+
+import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
+import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
+import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
+
+
+/**
+ * Parser for a <EntityRoleWhiteListt> filter.
+ *
+ * @deprecated
+ */
+ at Deprecated(forRemoval=true, since="4.1.0")
+public class DeprecatedEntityRoleFilterParser extends EntityRoleFilterParser {
+
+ /** Deprecated Element name. */
+ @Nonnull public static final QName TYPE_NAME = new QName(AbstractMetadataProviderParser.METADATA_NAMESPACE,
+ "EntityRoleWhiteList");
+
+ /** {@inheritDoc} */
+ @Override protected void doParse(final Element element, final ParserContext parserContext,
+ final BeanDefinitionBuilder builder) {
+
+ DeprecationSupport.warn(ObjectType.XSITYPE, TYPE_NAME.getLocalPart(),
+ parserContext.getReaderContext().getResource().getDescription(),
+ EntityRoleFilterParser.TYPE_NAME.getLocalPart());
+ super.doParse(element, parserContext, builder);
+ }
+
+}
\ No newline at end of file
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/EntityRoleFilterParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/EntityRoleFilterParser.java
index d7703dd79..ce802688c 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/EntityRoleFilterParser.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/EntityRoleFilterParser.java
@@ -34,13 +34,18 @@ import org.springframework.beans.factory.xml.ParserContext;
import org.w3c.dom.Element;
/**
- * Parser for a <EntityRoleWhiteList> filter.
+ * Parser for a <EntityRolet> filter.
*/
public class EntityRoleFilterParser extends AbstractSingleBeanDefinitionParser {
/** Element name. */
@Nonnull public static final QName TYPE_NAME = new QName(AbstractMetadataProviderParser.METADATA_NAMESPACE,
- "EntityRoleWhiteList");
+ "EntityRole");
+
+ /** Deprecated Element name. */
+ @Deprecated(forRemoval=true, since="4.1.0")
+ @Nonnull public static final QName DEPRECATED_TYPE_NAME =
+ new QName(AbstractMetadataProviderParser.METADATA_NAMESPACE, "EntityRoleWhiteList");
/** {@inheritDoc} */
@Override protected Class<?> getBeanClass(final Element element) {
@@ -50,6 +55,7 @@ public class EntityRoleFilterParser extends AbstractSingleBeanDefinitionParser {
/** {@inheritDoc} */
@Override protected void doParse(final Element element, final ParserContext parserContext,
final BeanDefinitionBuilder builder) {
+
final List<QName> retainedRoles = new ArrayList<>();
final List<Element> retainedRoleElems =
ElementSupport.getChildElementsByTagNameNS(element, AbstractMetadataProviderParser.METADATA_NAMESPACE,
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/MetadataNamespaceHandler.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/MetadataNamespaceHandler.java
index 09ce2f103..ba12ec0ed 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/MetadataNamespaceHandler.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/MetadataNamespaceHandler.java
@@ -23,6 +23,7 @@ import net.shibboleth.ext.spring.util.BaseSpringNamespaceHandler;
import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
import net.shibboleth.idp.profile.spring.relyingparty.metadata.filter.impl.AlgorithmFilterParser;
import net.shibboleth.idp.profile.spring.relyingparty.metadata.filter.impl.ByReferenceParser;
+import net.shibboleth.idp.profile.spring.relyingparty.metadata.filter.impl.DeprecatedEntityRoleFilterParser;
import net.shibboleth.idp.profile.spring.relyingparty.metadata.filter.impl.EntitiesDescriptorNameParser;
import net.shibboleth.idp.profile.spring.relyingparty.metadata.filter.impl.EntityAttributesFilterParser;
import net.shibboleth.idp.profile.spring.relyingparty.metadata.filter.impl.EntityRoleFilterParser;
@@ -35,6 +36,7 @@ import net.shibboleth.idp.profile.spring.relyingparty.metadata.filter.impl.Schem
import net.shibboleth.idp.profile.spring.relyingparty.metadata.filter.impl.SignatureValidationParser;
/** Namespace handler for <code>urn:mace:shibboleth:2.0:metadata</code>. */
+ at SuppressWarnings("removal")
public class MetadataNamespaceHandler extends BaseSpringNamespaceHandler {
/** Metadata provider element name. */
@@ -68,6 +70,8 @@ public class MetadataNamespaceHandler extends BaseSpringNamespaceHandler {
registerBeanDefinitionParser(EntityAttributesFilterParser.TYPE_NAME, new EntityAttributesFilterParser());
registerBeanDefinitionParser(NameIDFormatFilterParser.TYPE_NAME, new NameIDFormatFilterParser());
registerBeanDefinitionParser(EntityRoleFilterParser.TYPE_NAME, new EntityRoleFilterParser());
+ registerBeanDefinitionParser(DeprecatedEntityRoleFilterParser.TYPE_NAME,
+ new DeprecatedEntityRoleFilterParser());
registerBeanDefinitionParser(PredicateFilterParser.TYPE_NAME, new PredicateFilterParser());
registerBeanDefinitionParser(SchemaValidationParser.TYPE_NAME, new SchemaValidationParser());
registerBeanDefinitionParser(SignatureValidationParser.TYPE_NAME, new SignatureValidationParser());
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/EntityRoleFilterParserTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/EntityRoleFilterParserTest.java
index a946bb64d..ecee12de4 100644
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/EntityRoleFilterParserTest.java
+++ b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/EntityRoleFilterParserTest.java
@@ -35,27 +35,26 @@ import org.testng.annotations.Test;
/**
* test for parser for EntityRoleWhileList filter
*/
- at SuppressWarnings("javadoc")
public class EntityRoleFilterParserTest extends AbstractMetadataParserTest {
@Test public void validUntil() throws IOException {
- MetadataResolver resolver = getBean(MetadataResolver.class, "filter/entityRole.xml");
+ final MetadataResolver resolver = getBean(MetadataResolver.class, "filter/entityRole.xml");
final EntityRoleFilter filter = (EntityRoleFilter) resolver.getMetadataFilter();
Assert.assertEquals(filter.getRemoveEmptyEntitiesDescriptors(), true);
Assert.assertEquals(filter.getRemoveRolelessEntityDescriptors(), true);
- Assert.assertEquals(filter.getRoleWhiteList().size(), 0);
+ Assert.assertEquals(filter.getRetainedRoles().size(), 0);
}
@Test public void param() throws IOException {
- MetadataResolver resolver = getBean(MetadataResolver.class, "filter/entityRoleParams.xml");
+ final MetadataResolver resolver = getBean(MetadataResolver.class, "filter/entityRoleParams.xml");
final EntityRoleFilter filter = (EntityRoleFilter) resolver.getMetadataFilter();
Assert.assertEquals(filter.getRemoveEmptyEntitiesDescriptors(), false);
Assert.assertEquals(filter.getRemoveRolelessEntityDescriptors(), false);
- final List<QName> roles = filter.getRoleWhiteList();
+ final List<QName> roles = filter.getRetainedRoles();
Assert.assertEquals(roles.size(), 2);
- QName r1 = new QName(AbstractMetadataProviderParser.METADATA_NAMESPACE, "qname1");
+ final QName r1 = new QName(AbstractMetadataProviderParser.METADATA_NAMESPACE, "qname1");
Assert.assertTrue(r1.equals(roles.get(0)));
Assert.assertTrue(roles.contains(QNameSupport.constructQName(AbstractMetadataProviderParser.METADATA_NAMESPACE, "qname1", null)));
Assert.assertTrue(roles.contains(QNameSupport.constructQName(SAMLConstants.SAML20MD_NS, "qname2", null)));
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/entityRole.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/entityRole.xml
index 78cd100ea..cdcc3a31c 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/entityRole.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/entityRole.xml
@@ -6,7 +6,7 @@
id="requiredValidUntil" xsi:type="metadata:InlineMetadataProvider">
- <metadata:MetadataFilter xsi:type="metadata:EntityRoleWhiteList"/>
+ <metadata:MetadataFilter xsi:type="metadata:EntityRole"/>
<EntityDescriptor ID="uk001502"
entityID="https://sp.example.org/sp/shibboleth">
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/entityRoleParams.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/entityRoleParams.xml
index 58ba4eb63..75ea2f000 100644
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/entityRoleParams.xml
+++ b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/entityRoleParams.xml
@@ -6,7 +6,7 @@
id="requiredValidUntil" xsi:type="metadata:InlineMetadataProvider">
- <metadata:MetadataFilter xsi:type="metadata:EntityRoleWhiteList" removeEmptyEntitiesDescriptors="false" removeRolelessEntityDescriptors="false">
+ <metadata:MetadataFilter xsi:type="metadata:EntityRole" removeEmptyEntitiesDescriptors="false" removeRolelessEntityDescriptors="false">
<metadata:RetainedRole>metadata:qname1</metadata:RetainedRole>
<metadata:RetainedRole>qname2</metadata:RetainedRole>
</metadata:MetadataFilter>
diff --git a/idp-schema/src/main/resources/schema/shibboleth-metadata.xsd b/idp-schema/src/main/resources/schema/shibboleth-metadata.xsd
index c5b7fa387..d6cf9917f 100644
--- a/idp-schema/src/main/resources/schema/shibboleth-metadata.xsd
+++ b/idp-schema/src/main/resources/schema/shibboleth-metadata.xsd
@@ -918,10 +918,10 @@
</complexContent>
</complexType>
- <complexType name="EntityRoleWhiteList">
+ <complexType name="EntityRole">
<annotation>
<documentation>
- A filter that removes roles from an EntityDescriptor that do not appear in the filter's whitelist.
+ A filter that removes roles from an EntityDescriptor that do not appear in the filter's RetainedRoles.
Optionally an EntityDescriptor may be completely removed if it does not contain at least one role after
the filter. EntitiesDescriptors may be removed if they do not contain at least one entity or entities
descriptor after the filtering.
@@ -960,6 +960,17 @@
</complexContent>
</complexType>
+ <complexType name="EntityRoleWhiteList">
+ <annotation>
+ <documentation>
+ DEPRECATED name for EntityRole filter.
+ </documentation>
+ </annotation>
+ <complexContent>
+ <extension base="shibmd:EntityRole" />
+ </complexContent>
+ </complexType>
+
<complexType name="EntityAttributes">
<annotation>
<documentation>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list