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

noreply at shibboleth.net noreply at shibboleth.net
Tue Oct 7 23:30:58 EDT 2014


Author: scantor
Date: Tue Oct  7 23:30:57 2014
New Revision: 4103

URL: http://svn.shibboleth.net/view/java-opensaml?rev=4103&view=rev
Log:
IDP-72 - Action / unit test to refresh selected metadata source from inside service.
Moved ChainingMetadataResolver into saml-api to enable access to the wrapped resolvers.

Added:
    trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java
      - copied, changed from r4102, trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/ChainingMetadataResolver.java
Modified:
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/ChainingMetadataResolver.java
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/ChainingMetadataResolverTest.java

Copied: trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java (from r4102, trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/ChainingMetadataResolver.java)
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java?p2=trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java&p1=trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/ChainingMetadataResolver.java&r1=4102&r2=4103&rev=4103&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/ChainingMetadataResolver.java (original)
+++ trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java Tue Oct  7 23:30:57 2014
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.opensaml.saml.metadata.resolver.impl;
+package org.opensaml.saml.metadata.resolver;
 
 import java.util.Collections;
 import java.util.Iterator;
@@ -24,58 +24,63 @@
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
+import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
 import net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.component.ComponentSupport;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 import net.shibboleth.utilities.java.support.resolver.ResolverException;
 
-import org.opensaml.saml.metadata.resolver.MetadataResolver;
-import org.opensaml.saml.metadata.resolver.RefreshableMetadataResolver;
 import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
+import com.google.common.base.Predicates;
+import com.google.common.collect.Collections2;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
 
 /**
  * A metadata provider that uses registered resolvers, in turn, to answer queries.
  * 
  * The Iterable of entity descriptors returned is the first non-null and non-empty Iterable found while iterating over
  * the registered resolvers in resolver list order.
- * 
  */
 public class ChainingMetadataResolver extends AbstractIdentifiableInitializableComponent implements MetadataResolver,
         RefreshableMetadataResolver {
 
     /** Class logger. */
-    private final Logger log = LoggerFactory.getLogger(ChainingMetadataResolver.class);
+    @Nonnull private final Logger log = LoggerFactory.getLogger(ChainingMetadataResolver.class);
 
     /** Registered resolvers. */
-    private List<MetadataResolver> resolvers;
+    @Nonnull @NonnullElements private List<MetadataResolver> resolvers;
 
     /** Constructor. */
     public ChainingMetadataResolver() {
-        super();
-        resolvers = Collections.EMPTY_LIST;
+        resolvers = Collections.emptyList();
     }
 
     /**
-     * Gets an immutable the list of currently registered resolvers.
+     * Get an immutable the list of currently registered resolvers.
      * 
      * @return list of currently registered resolvers
      */
-    public List<MetadataResolver> getResolvers() {
-        return resolvers;
+    @Nonnull @NonnullElements @Unmodifiable @NotLive public List<MetadataResolver> getResolvers() {
+        return ImmutableList.copyOf(resolvers);
     }
 
     /**
-     * Sets the current set of metadata resolvers.
+     * Set the registered metadata resolvers.
      * 
      * @param newResolvers the metadata resolvers to use
      * 
-     * @throws ResolverException thrown if there is a problem adding the metadata provider
+     * @throws ResolverException thrown if there is a problem adding the metadata resolvers
      */

[... 92 lines stripped ...]


More information about the commits mailing list