[java-opensaml COMMIT] in /trunk: opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/IterableMetadataSource.j...

noreply at shibboleth.net noreply at shibboleth.net
Wed Sep 11 20:57:21 EDT 2013


Author: putmanb
Date: Wed Sep 11 20:57:21 2013
New Revision: 3442

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3442&view=rev
Log:
Add new interface for components which can act as an iterable source of metadata.
Have abstract batch metadata resolver implement this interface.

Added:
    trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/IterableMetadataSource.java   (with props)
Modified:
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java

Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java?rev=3442&r1=3441&r2=3442&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java Wed Sep 11 20:57:21 2013
@@ -17,12 +17,16 @@
 
 package org.opensaml.saml.metadata.resolver.impl;
 
+import java.util.Collections;
+import java.util.Iterator;
+
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import net.shibboleth.utilities.java.support.component.ComponentSupport;
 
 import org.opensaml.core.xml.XMLObject;
+import org.opensaml.saml.metadata.IterableMetadataSource;
 import org.opensaml.saml.metadata.resolver.filter.FilterException;
 import org.opensaml.saml.saml2.metadata.EntitiesDescriptor;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
@@ -33,7 +37,7 @@
  * Abstract subclass for metadata resolvers that process and resolve metadata at a given point 
  * in time from a single metadata source document.
  */
-public abstract class AbstractBatchMetadataResolver extends AbstractMetadataResolver {
+public abstract class AbstractBatchMetadataResolver extends AbstractMetadataResolver implements IterableMetadataSource {
     
     /** Class logger. */
     private final Logger log = LoggerFactory.getLogger(AbstractBatchMetadataResolver.class);
@@ -45,6 +49,12 @@
     public AbstractBatchMetadataResolver() {
         super();
         setCacheSourceMetadata(true);
+    }
+    
+    /** {@inheritDoc} */
+    public Iterator<EntityDescriptor> iterator() {
+        ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
+        return Collections.unmodifiableList(getBackingStore().getOrderedDescriptors()).iterator();
     }
 
     /**



More information about the commits mailing list