[java-identity-provider COMMIT] in /trunk: idp-conf/src/main/resources/system/conf/services-system.xml idp-profile-sp...

noreply at shibboleth.net noreply at shibboleth.net
Wed Jul 9 04:20:35 EDT 2014


Author: rdw
Date: Wed Jul  9 04:20:34 2014
New Revision: 6251

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=6251&view=rev
Log:
IDP-429 Handle multiple metadata files.

If we encounter multiple top level metadata resolver elements when we
have parsed all the input files we need to wrap them all into a
chaining resolver (order arbitrary) and then wrap that into a
RelyingPartyMetadataResolver to provide the ServiceableComponent
interface.

Added:
    trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/MetadataResolverServiceStrategy.java
    trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/multipleResolvers.xml
Modified:
    trunk/idp-conf/src/main/resources/system/conf/services-system.xml
    trunk/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/InlineMetadataParserTest.java

Modified: trunk/idp-conf/src/main/resources/system/conf/services-system.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/system/conf/services-system.xml?rev=6251&r1=6250&r2=6251&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/system/conf/services-system.xml (original)
+++ trunk/idp-conf/src/main/resources/system/conf/services-system.xml Wed Jul  9 04:20:34 2014
@@ -77,8 +77,7 @@
         <constructor-arg name="claz"
             value="org.opensaml.saml.metadata.resolver.MetadataResolver" />
         <constructor-arg name="strategy">
-            <bean class="net.shibboleth.idp.service.ClassBasedServiceStrategy"
-                c:serviceableClaz="net.shibboleth.idp.saml.metadata.impl.RelyingPartyMetadataProvider" />
+            <bean class="net.shibboleth.idp.profile.spring.relyingparty.metadata.MetadataResolverServiceStrategy" />
         </constructor-arg>
         <property name="beanPostProcessors">
             <bean

Modified: trunk/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/InlineMetadataParserTest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/InlineMetadataParserTest.java?rev=6251&r1=6250&r2=6251&view=diff
==============================================================================
--- trunk/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/InlineMetadataParserTest.java (original)
+++ trunk/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/InlineMetadataParserTest.java Wed Jul  9 04:20:34 2014
@@ -20,40 +20,88 @@
 import java.io.IOException;
 import java.util.Iterator;
 
+import net.shibboleth.ext.spring.config.DurationToLongConverter;
+import net.shibboleth.ext.spring.config.StringToIPRangeConverter;
+import net.shibboleth.ext.spring.context.FilesystemGenericApplicationContext;
+import net.shibboleth.idp.service.ReloadableSpringService;
+import net.shibboleth.idp.service.ServiceableComponent;
 import net.shibboleth.utilities.java.support.resolver.ResolverException;
 
+import org.opensaml.saml.metadata.resolver.MetadataResolver;
 import org.opensaml.saml.metadata.resolver.impl.DOMMetadataResolver;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
+import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
+import org.springframework.context.support.ConversionServiceFactoryBean;
+import org.springframework.context.support.GenericApplicationContext;
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.core.io.Resource;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
+import com.google.common.collect.Sets;
+
 public class InlineMetadataParserTest extends AbstractMetadataParserTest {
-    
+
     @Test public void entity() throws ResolverException, IOException {
         DOMMetadataResolver resolver = getBean(DOMMetadataResolver.class, "inLineEntity.xml");
-        
+
         Assert.assertEquals(resolver.getId(), "inLineEntity");
-   
+
         final Iterator<EntityDescriptor> entities = resolver.resolve(criteriaFor(IDP_ID)).iterator();
         Assert.assertTrue(resolver.isFailFastInitialization());
         Assert.assertTrue(resolver.isRequireValidMetadata());
-        
+
         Assert.assertEquals(entities.next().getEntityID(), IDP_ID);
         Assert.assertFalse(entities.hasNext());
-        
+
     }
-    
+
     @Test public void entities() throws ResolverException, IOException {
         DOMMetadataResolver resolver = getBean(DOMMetadataResolver.class, "inLineEntities.xml");
-        
+
         Assert.assertEquals(resolver.getId(), "inLineEntities");
-        
+
         Assert.assertFalse(resolver.isFailFastInitialization());
         Assert.assertFalse(resolver.isRequireValidMetadata());
-           
+
         Assert.assertNull(resolver.resolveSingle(criteriaFor(IDP_ID)));

[... 42 lines stripped ...]


More information about the commits mailing list