[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 <AnonymousRelyingParty><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