[java-identity-provider COMMIT] in /trunk: idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relying...

noreply at shibboleth.net noreply at shibboleth.net
Wed Mar 19 13:25:41 EDT 2014


Author: rdw
Date: Wed Mar 19 13:25:41 2014
New Revision: 5609

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=5609&view=rev
Log:
IDP-277  Wire in parsing of the <MetadataProviders> into the relyingparty parser such that a second bean is created.  This will allow two services to borrow the same parser code.

Added:
    trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/MetadataNamespaceHandler.java   (with props)
    trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/metadata/
    trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/metadata/RelyingPartyMetadataProvider.java   (with props)
    trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/metadata/package-info.java   (with props)
Modified:
    trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyGroupParser.java
    trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyNamespaceHandler.java
    trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/MetadataProviderParser.java
    trunk/idp-profile-spring/src/main/resources/META-INF/spring.handlers
    trunk/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyGroupTest.java

Modified: trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyGroupParser.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyGroupParser.java?rev=5609&r1=5608&r2=5609&view=diff
==============================================================================
--- trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyGroupParser.java (original)
+++ trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyGroupParser.java Wed Mar 19 13:25:41 2014
@@ -24,6 +24,7 @@
 
 import net.shibboleth.idp.profile.spring.relyingparty.metadata.MetadataProviderParser;
 import net.shibboleth.idp.relyingparty.impl.DefaultRelyingPartyConfigurationResolver;
+import net.shibboleth.idp.saml.impl.metadata.RelyingPartyMetadataProvider;
 import net.shibboleth.idp.spring.SpringSupport;
 import net.shibboleth.utilities.java.support.xml.ElementSupport;
 
@@ -38,7 +39,8 @@
  * 
  * Parser for &lt;AnonymousRelyingParty&gt;<br/>
  * This parser summons up two (TODO three) beans a {@link DefaultRelyingPartyConfigurationResolver} which deals with the
- * RelyingParty bit of the file and a {@link TBD} which deals with the metadata and security configuration.
+ * RelyingParty bit of the file, a series of {@link RelyingPartyMetadataProvider}s which deal with the metadata
+ * configuration and a series of {@link TBD} which deals with the security configuration.
  */
 public class RelyingPartyGroupParser extends AbstractSingleBeanDefinitionParser {
 
@@ -56,7 +58,7 @@
         final Map<QName, List<Element>> configChildren = ElementSupport.getIndexedChildElements(element);
 
         builder.addPropertyValue("id", "RelyingPartyGroup");
-        
+
         // All the Relying Parties
         final List<BeanDefinition> relyingParties =
                 SpringSupport.parseCustomElements(configChildren.get(RelyingPartyParser.ELEMENT_NAME), parserContext);
@@ -73,9 +75,24 @@
                         parserContext);
         builder.addPropertyValue("anonymousConfiguration", anonRps.get(0));
 
-        // TODO Metadata
-        SpringSupport.parseCustomElements(configChildren.get(MetadataProviderParser.ELEMENT_NAME), parserContext);
+        // Metadata
 
+        final List<BeanDefinition> metadataProviders =
+                SpringSupport.parseCustomElements(configChildren.get(MetadataProviderParser.ELEMENT_NAME),
+                        parserContext);
+
+        if (metadataProviders != null && metadataProviders.size() > 0) {
+            for (BeanDefinition metadataProvider : metadataProviders) {
+                final BeanDefinitionBuilder metadataBuilder =
+                        BeanDefinitionBuilder.genericBeanDefinition(RelyingPartyMetadataProvider.class);
+
+                metadataBuilder.setInitMethodName("initialize");
+                metadataBuilder.addConstructorArgValue(metadataProvider);
+                BeanDefinition rpDefinition = metadataBuilder.getBeanDefinition();
+                parserContext.getRegistry().registerBeanDefinition(
+                        parserContext.getReaderContext().generateBeanName(rpDefinition), rpDefinition);
+            }
+        }
         // TODO Security
     }
 

Modified: trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyNamespaceHandler.java

[... 201 lines stripped ...]


More information about the commits mailing list