[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