[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