[java-identity-provider] branch master updated: IDP-1629 - Clean up Spring parser and docs for MappedAttributeInMetadata
Scott Cantor
cantor.2 at osu.edu
Mon Jun 29 14:23:27 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=3d7b6007ee321ce2c33ea42428b13ce7cda14932
The following commit(s) were added to refs/heads/master by this push:
new 3d7b6007e IDP-1629 - Clean up Spring parser and docs for MappedAttributeInMetadata
3d7b6007e is described below
commit 3d7b6007ee321ce2c33ea42428b13ce7cda14932
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Jun 29 10:23:09 2020 -0400
IDP-1629 - Clean up Spring parser and docs for MappedAttributeInMetadata
https://issues.shibboleth.net/jira/browse/IDP-1629
---
.../saml/impl/AttributeInMetadataRuleParser.java | 9 ++++----
.../impl/MappedAttributeInMetadataRuleParser.java | 24 +++-------------------
.../MappedAttributeInMetadataRuleParserTest.java | 4 ++--
.../attribute/filter/matcher/mappedInMetadata.xml | 4 +---
.../src/main/resources/schema/shibboleth-afp.xsd | 2 +-
5 files changed, 12 insertions(+), 31 deletions(-)
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeInMetadataRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeInMetadataRuleParser.java
index eacbc9d2c..e58b474d7 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeInMetadataRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeInMetadataRuleParser.java
@@ -20,6 +20,7 @@ package net.shibboleth.idp.attribute.filter.spring.saml.impl;
import javax.annotation.Nonnull;
import javax.xml.namespace.QName;
+import net.shibboleth.ext.spring.util.SpringSupport;
import net.shibboleth.idp.attribute.filter.matcher.saml.impl.AttributeInMetadataMatcher;
import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
import net.shibboleth.idp.attribute.filter.spring.matcher.BaseAttributeValueMatcherParser;
@@ -49,13 +50,13 @@ public class AttributeInMetadataRuleParser extends BaseAttributeValueMatcherPars
super.doParse(config, builder);
if (config.hasAttributeNS(null, "onlyIfRequired")) {
- builder.addPropertyValue("onlyIfRequired",
- StringSupport.trimOrNull(config.getAttributeNS(null, "onlyIfRequired")));
+ builder.addPropertyValue("onlyIfRequired", SpringSupport.getStringValueAsBoolean(
+ StringSupport.trimOrNull(config.getAttributeNS(null, "onlyIfRequired"))));
}
if (config.hasAttributeNS(null, "matchIfMetadataSilent")) {
- builder.addPropertyValue("matchIfMetadataSilent",
- StringSupport.trimOrNull(config.getAttributeNS(null, "matchIfMetadataSilent")));
+ builder.addPropertyValue("matchIfMetadataSilent", SpringSupport.getStringValueAsBoolean(
+ config.getAttributeNS(null, "matchIfMetadataSilent")));
}
if (config.hasAttributeNS(null, "attributeName")) {
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/MappedAttributeInMetadataRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/MappedAttributeInMetadataRuleParser.java
index 0ce1e7431..6f6b33187 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/MappedAttributeInMetadataRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/MappedAttributeInMetadataRuleParser.java
@@ -20,22 +20,19 @@ package net.shibboleth.idp.attribute.filter.spring.saml.impl;
import javax.annotation.Nonnull;
import javax.xml.namespace.QName;
-import net.shibboleth.ext.spring.util.SpringSupport;
import net.shibboleth.idp.attribute.filter.matcher.saml.impl.AttributeInMetadataMatcher;
import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.matcher.BaseAttributeValueMatcherParser;
import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
import org.w3c.dom.Element;
/**
- * Bean definition parser for {@link AttributeInMetadataMatcher}.
+ * Bean definition parser for deprecated variant of {@link AttributeInMetadataMatcher}.
*/
-public class MappedAttributeInMetadataRuleParser extends BaseAttributeValueMatcherParser {
+public class MappedAttributeInMetadataRuleParser extends AttributeInMetadataRuleParser {
/** Schema type. */
public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
@@ -55,22 +52,7 @@ public class MappedAttributeInMetadataRuleParser extends BaseAttributeValueMatch
parserContext.getReaderContext().getResource().getDescription(),
AttributeInMetadataRuleParser.SCHEMA_TYPE.toString());
- super.doParse(config, builder);
-
- if (config.hasAttributeNS(null, "onlyIfRequired")) {
- builder.addPropertyValue("onlyIfRequired", SpringSupport.getStringValueAsBoolean(
- StringSupport.trimOrNull(config.getAttributeNS(null, "onlyIfRequired"))));
- }
-
- if (config.hasAttributeNS(null, "matchIfMetadataSilent")) {
- builder.addPropertyValue("matchIfMetadataSilent", SpringSupport.getStringValueAsBoolean(
- config.getAttributeNS(null, "matchIfMetadataSilent")));
- }
-
- if (config.hasAttributeNS(null, "objectStrategyRef")) {
- builder.addPropertyReference("objectStrategyRef",
- StringSupport.trimOrNull(config.getAttributeNS(null, "objectStrategyRef")));
- }
+ super.doNativeParse(config, parserContext, builder);
}
}
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/MappedAttributeInMetadataRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/MappedAttributeInMetadataRuleParserTest.java
index 58570d952..d8b978d0c 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/MappedAttributeInMetadataRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/MappedAttributeInMetadataRuleParserTest.java
@@ -46,15 +46,15 @@ public class MappedAttributeInMetadataRuleParserTest extends BaseAttributeFilte
rule.initialize();
AttributeInMetadataMatcher matcher = (AttributeInMetadataMatcher) rule.getMatcher();
+ assertTrue(matcher.getId().endsWith(":PermitRule"));
assertEquals(matcher.getMatchIfMetadataSilent(), metadataSilentResult);
assertTrue(matcher.getOnlyIfRequired());
- assertTrue(matcher.getId().endsWith(":PermitRule"));
final PolicyFromMatcher policyRule = (PolicyFromMatcher) getPolicyRuleFromAttributeFilterPolicy(context);
matcher = (AttributeInMetadataMatcher) policyRule.getMatcher();
+ assertTrue(matcher.getId().endsWith(":PRR"));
assertTrue(matcher.getMatchIfMetadataSilent());
assertEquals(matcher.getOnlyIfRequired(), onlyResult);
- assertTrue(matcher.getId().endsWith(":PRR"));
}
public void test(final String propValue, final boolean result) throws ComponentInitializationException {
diff --git a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/mappedInMetadata.xml b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/mappedInMetadata.xml
index 378ba8c29..82e4642c3 100644
--- a/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/mappedInMetadata.xml
+++ b/idp-attribute-filter-spring/src/test/resources/net/shibboleth/idp/attribute/filter/matcher/mappedInMetadata.xml
@@ -6,9 +6,7 @@
onlyIfRequired="%{prop}"
matchIfMetadataSilent="true"/>
- <AttributeRule attributeID="email" xmlns="urn:mace:shibboleth:2.0:afp"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd">
+ <AttributeRule attributeID="email">
<PermitValueRule xsi:type="MappedAttributeInMetadata"
id="PermitRule"
diff --git a/idp-schema/src/main/resources/schema/shibboleth-afp.xsd b/idp-schema/src/main/resources/schema/shibboleth-afp.xsd
index 4d634c443..f8bbf7ba8 100644
--- a/idp-schema/src/main/resources/schema/shibboleth-afp.xsd
+++ b/idp-schema/src/main/resources/schema/shibboleth-afp.xsd
@@ -885,7 +885,7 @@
</attribute>
<attribute name="objectStrategyRef" type="afp:string">
<annotation>
- <documentation>Reference to locate XMLObject source of mapped attributes.</documentation>
+ <documentation>DEPRECATED, ignored</documentation>
</annotation>
</attribute>
</extension>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list