[java-identity-provider COMMIT] in /trunk: idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/fil...

noreply at shibboleth.net noreply at shibboleth.net
Sat Jun 21 06:53:17 EDT 2014


Author: rdw
Date: Sat Jun 21 06:53:17 2014
New Revision: 6139

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=6139&view=rev
Log:
IdP 376.  Add a new Functor "EntityAttributeInMetadata".  Tests pending.

Modified:
    trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeFilterSAMLNamespaceHandler.java
    trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeInMetadataRuleParser.java
    trunk/idp-schema/src/main/resources/schema/shibboleth-afp-mf-saml.xsd

Modified: trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeFilterSAMLNamespaceHandler.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeFilterSAMLNamespaceHandler.java?rev=6139&r1=6138&r2=6139&view=diff
==============================================================================
--- trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeFilterSAMLNamespaceHandler.java (original)
+++ trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeFilterSAMLNamespaceHandler.java Sat Jun 21 06:53:17 2014
@@ -52,9 +52,12 @@
         registerBeanDefinitionParser(AttributeRequesterInEntityGroupRuleParser.SCHEMA_TYPE,
                 new AttributeRequesterInEntityGroupRuleParser());
 
-        registerBeanDefinitionParser(AttributeInMetadataRuleParser.SCHEMA_TYPE, new AttributeInMetadataRuleParser());
+        registerBeanDefinitionParser(AttributeInMetadataRuleParser.ATTRIBUTE_IN_METADATA,
+                new AttributeInMetadataRuleParser());
+        registerBeanDefinitionParser(AttributeInMetadataRuleParser.ENTITY_ATTRIBUTE_IN_METADATA,
+                new AttributeInMetadataRuleParser());
 
-        registerBeanDefinitionParser(RegistrationAuthorityRuleParser.SCHEMA_TYPE, 
+        registerBeanDefinitionParser(RegistrationAuthorityRuleParser.SCHEMA_TYPE,
                 new RegistrationAuthorityRuleParser());
     }
 }

Modified: trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeInMetadataRuleParser.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeInMetadataRuleParser.java?rev=6139&r1=6138&r2=6139&view=diff
==============================================================================
--- trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeInMetadataRuleParser.java (original)
+++ trunk/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeInMetadataRuleParser.java Sat Jun 21 06:53:17 2014
@@ -24,7 +24,9 @@
 import net.shibboleth.idp.attribute.filter.policyrule.saml.impl.AttributeInMetadataPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.policyrule.BasePolicyRuleParser;
 import net.shibboleth.idp.saml.profile.config.navigate.AttributeConsumerServiceLookupFunction;
+import net.shibboleth.idp.saml.profile.config.navigate.EntityDescriptorLookupFunction;
 import net.shibboleth.utilities.java.support.xml.AttributeSupport;
+import net.shibboleth.utilities.java.support.xml.ElementSupport;
 
 import org.opensaml.messaging.context.navigate.ChildContextLookup;
 import org.opensaml.saml.common.messaging.context.AttributeConsumingServiceContext;
@@ -42,8 +44,12 @@
 public class AttributeInMetadataRuleParser extends BasePolicyRuleParser {
 
     /** Schema type. */
-    public static final QName SCHEMA_TYPE = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE,
+    public static final QName ATTRIBUTE_IN_METADATA = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE,
             "AttributeInMetadata");
+
+    /** Schema type. */
+    public static final QName ENTITY_ATTRIBUTE_IN_METADATA = new QName(AttributeFilterSAMLNamespaceHandler.NAMESPACE,
+            "EntityAttributeInMetadata");
 
     /** {@inheritDoc} */
     @Override
@@ -80,8 +86,12 @@
         }
         builder.addPropertyValue("matchIfMetadataSilent ", matchIfMetadataSilent);
         
-        builder.addPropertyValue("objectStrategy", Functions.compose(new AttributeConsumerServiceLookupFunction(),
-                new ChildContextLookup<SAMLMetadataContext, AttributeConsumingServiceContext>(
-                        AttributeConsumingServiceContext.class)));
+        if (ElementSupport.isElementNamed(config, ENTITY_ATTRIBUTE_IN_METADATA)) {
+            builder.addPropertyValue("objectStrategy", new EntityDescriptorLookupFunction());
+        } else {
+            builder.addPropertyValue("objectStrategy", Functions.compose(new AttributeConsumerServiceLookupFunction(),
+                    new ChildContextLookup<SAMLMetadataContext, AttributeConsumingServiceContext>(

[... 50 lines stripped ...]


More information about the commits mailing list