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

noreply at shibboleth.net noreply at shibboleth.net
Tue Jul 22 09:16:30 EDT 2014


Author: rdw
Date: Tue Jul 22 09:16:29 2014
New Revision: 3975

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3975&view=rev
Log:
OSJ-87 cascade refresh commands down from Chaining and Composite resolvers into their children.

Modified:
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/ChainingMetadataResolver.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/CompositeMetadataResolver.java

Modified: 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-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/ChainingMetadataResolver.java?rev=3975&r1=3974&r2=3975&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/ChainingMetadataResolver.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/ChainingMetadataResolver.java Tue Jul 22 09:16:29 2014
@@ -31,6 +31,7 @@
 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;
@@ -43,7 +44,8 @@
  * the registered resolvers in resolver list order.
  * 
  */
-public class ChainingMetadataResolver extends AbstractIdentifiableInitializableComponent implements MetadataResolver {
+public class ChainingMetadataResolver extends AbstractIdentifiableInitializableComponent implements MetadataResolver,
+        RefreshableMetadataResolver {
 
     /** Class logger. */
     private final Logger log = LoggerFactory.getLogger(ChainingMetadataResolver.class);
@@ -142,6 +144,15 @@
     }
 
     /** {@inheritDoc} */
+    @Override public void refresh() throws ResolverException {
+        for (MetadataResolver resolver : resolvers) {
+            if (resolver instanceof RefreshableMetadataResolver) {
+                ((RefreshableMetadataResolver) resolver).refresh();
+            }
+        }
+    }
+
+    /** {@inheritDoc} */
     @Override protected void doInitialize() throws ComponentInitializationException {
         super.doInitialize();
         if (resolvers == null) {

Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/CompositeMetadataResolver.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/CompositeMetadataResolver.java?rev=3975&r1=3974&r2=3975&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/CompositeMetadataResolver.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/CompositeMetadataResolver.java Tue Jul 22 09:16:29 2014
@@ -28,6 +28,7 @@
 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;
@@ -41,9 +42,9 @@
  * A {@link MetadataResolver} implementation that answers requests by composing the answers of child
  * {@link MetadataResolver}s.
  */
-public class CompositeMetadataResolver extends AbstractIdentifiedInitializableComponent 
-        implements MetadataResolver{
-    
+public class CompositeMetadataResolver extends AbstractIdentifiedInitializableComponent implements MetadataResolver,
+        RefreshableMetadataResolver {
+
     /** Class logger. */
     private final Logger log = LoggerFactory.getLogger(CompositeMetadataResolver.class);
 
@@ -55,7 +56,7 @@
         super();
         resolvers = Collections.EMPTY_LIST;
     }
-    
+
     /**
      * Gets an immutable the list of currently registered resolvers.
      * 
@@ -75,51 +76,45 @@
     public void setResolvers(List<MetadataResolver> newResolvers) throws ResolverException {
         ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
         ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
-        
+
         if (newResolvers == null || newResolvers.isEmpty()) {
             resolvers = Collections.emptyList();
             return;
         }
-        
+
         resolvers = Collections.unmodifiableList(newResolvers);
     }
 
     /** {@inheritDoc} */
-    @Override
-    public boolean isRequireValidMetadata() {
+    @Override public boolean isRequireValidMetadata() {
         log.warn("Attempt to access unsupported requireValidMetadata property on ChainingMetadataResolver");
         return false;
     }
 

[... 127 lines stripped ...]


More information about the commits mailing list