[java-opensaml] branch master updated: Introduce new temporary Extended- metadata resolver interfaces.

Brent Putman putmanb at georgetown.edu
Fri Jun 23 18:31:27 EDT 2017


This is an automated email from the git hooks/post-receive script.

putmanb pushed a commit to branch master
in repository java-opensaml.

View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=8fd2dfb7a8d08e7b883638f0fb28407b13daf8d0

The following commit(s) were added to refs/heads/master by this push:
       new  8fd2dfb   Introduce new temporary Extended- metadata resolver interfaces.
8fd2dfb is described below

commit 8fd2dfb7a8d08e7b883638f0fb28407b13daf8d0
Author: Brent Putman <putmanb at georgetown.edu>
AuthorDate: Fri Jun 23 18:29:45 2017 -0400

    Introduce new temporary Extended- metadata resolver interfaces.
    
    We don't want the IdP modules having deps on opensaml impl modules.
    So IdP needs to cast to an -api interface rather than a -impl class.
    These will be removed in 4.0.0 (OSJ-206).
---
 .../metadata/resolver/BatchMetadataResolver.java   |  2 +-
 ...ver.java => ExtendedBatchMetadataResolver.java} | 28 +++++++++++++++----
 ...va => ExtendedRefreshableMetadataResolver.java} | 27 ++++++++++++++----
 .../resolver/RefreshableMetadataResolver.java      |  3 +-
 .../impl/AbstractBatchMetadataResolver.java        | 32 ++++++++--------------
 .../impl/AbstractReloadingMetadataResolver.java    | 28 +++++++------------
 6 files changed, 68 insertions(+), 52 deletions(-)

diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/BatchMetadataResolver.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/BatchMetadataResolver.java
index 23e1235..35a1ce6 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/BatchMetadataResolver.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/BatchMetadataResolver.java
@@ -25,6 +25,6 @@ package org.opensaml.saml.metadata.resolver;
  */
 public interface BatchMetadataResolver extends MetadataResolver {
 
-    //TODO For 4.0: promote getRootValidUntil() and isRootValid() from AbstractBatchMetadataResolver
+    //TODO For 4.0: promote getRootValidUntil() and isRootValid() from ExtendedBatchMetadataResolver
 
 }
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/BatchMetadataResolver.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ExtendedBatchMetadataResolver.java
similarity index 53%
copy from opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/BatchMetadataResolver.java
copy to opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ExtendedBatchMetadataResolver.java
index 23e1235..84a0ec3 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/BatchMetadataResolver.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ExtendedBatchMetadataResolver.java
@@ -17,14 +17,30 @@
 
 package org.opensaml.saml.metadata.resolver;
 
+import javax.annotation.Nullable;
+
+import org.joda.time.DateTime;
+import org.opensaml.core.xml.XMLObject;
+
 /**
- * Marker interface for {@link MetadataResolver} implementations which resolve
- * metadata from a batch of data loaded and processed in advance of resolution operations,
- * for example by loading an XML document from a file or HTTP resource at component initialization 
- * time.
+ * Extended {@link BatchMetadataResolver}.
  */
-public interface BatchMetadataResolver extends MetadataResolver {
+public interface ExtendedBatchMetadataResolver extends BatchMetadataResolver {
+    
+    //TODO promote methods up and remove in 4.0.0
+    
+    /**
+     * Get the validUntil of of the metadata batch root element, if present.
+     *
+     * @return the validUntil date/time of the root element, or null if not available
+     */
+    @Nullable public DateTime getRootValidUntil();
 
-    //TODO For 4.0: promote getRootValidUntil() and isRootValid() from AbstractBatchMetadataResolver
+    /**
+     * Get the validity state of the metadata batch root element, as determined by {@link #isValid(XMLObject)}.
+     *
+     * @return true if root element is valid, false if not valid, null if indeterminate
+     */
+    @Nullable public Boolean isRootValid();
 
 }
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/BatchMetadataResolver.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ExtendedRefreshableMetadataResolver.java
similarity index 58%
copy from opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/BatchMetadataResolver.java
copy to opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ExtendedRefreshableMetadataResolver.java
index 23e1235..f5735ff 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/BatchMetadataResolver.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ExtendedRefreshableMetadataResolver.java
@@ -17,14 +17,29 @@
 
 package org.opensaml.saml.metadata.resolver;
 
+import javax.annotation.Nullable;
+
+import org.joda.time.DateTime;
+
 /**
- * Marker interface for {@link MetadataResolver} implementations which resolve
- * metadata from a batch of data loaded and processed in advance of resolution operations,
- * for example by loading an XML document from a file or HTTP resource at component initialization 
- * time.
+ *
  */
-public interface BatchMetadataResolver extends MetadataResolver {
+public interface ExtendedRefreshableMetadataResolver extends RefreshableMetadataResolver {
+    
+    //TODO promote methods up and remove in 4.0.0
+    
+    /**
+     * Gets the time the last successful refresh cycle occurred.
+     * 
+     * @return time the last successful refresh cycle occurred
+     */
+    @Nullable public DateTime getLastSuccessfulRefresh();
 
-    //TODO For 4.0: promote getRootValidUntil() and isRootValid() from AbstractBatchMetadataResolver
+    /**
+     * Gets whether the last refresh cycle was successful.
+     * 
+     * @return true if last refresh cycle was successful, false if not
+     */
+    @Nullable public Boolean wasLastRefreshSuccess();
 
 }
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/RefreshableMetadataResolver.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/RefreshableMetadataResolver.java
index 737970f..c9ce871 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/RefreshableMetadataResolver.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/RefreshableMetadataResolver.java
@@ -56,6 +56,7 @@ public interface RefreshableMetadataResolver extends MetadataResolver {
      */
     @Nullable DateTime getLastUpdate();
     
-    //TODO For 4.0: promote getLastSuccessfulRefresh() and wasLastRefreshSuccess() from AbstractReloadingMetadataResolver
+    //TODO For 4.0: promote getLastSuccessfulRefresh() and wasLastRefreshSuccess() 
+    //     from ExtendedRefreshableMetadataResolver
     
 }
\ No newline at end of file
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java
index 3211a6c..055b614 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java
@@ -25,19 +25,11 @@ import java.util.Set;
 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.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.joda.time.DateTime;
 import org.opensaml.core.criterion.EntityIdCriterion;
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.saml.metadata.IterableMetadataSource;
-import org.opensaml.saml.metadata.resolver.BatchMetadataResolver;
+import org.opensaml.saml.metadata.resolver.ExtendedBatchMetadataResolver;
 import org.opensaml.saml.metadata.resolver.filter.FilterException;
 import org.opensaml.saml.metadata.resolver.index.MetadataIndex;
 import org.opensaml.saml.metadata.resolver.index.impl.MetadataIndexManager;
@@ -53,12 +45,20 @@ import com.google.common.collect.Collections2;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
 
+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.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;
+
 /**
  * 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 
-        implements BatchMetadataResolver, IterableMetadataSource {
+        implements ExtendedBatchMetadataResolver, IterableMetadataSource {
     
     /** Class logger. */
     private final Logger log = LoggerFactory.getLogger(AbstractBatchMetadataResolver.class);
@@ -153,11 +153,7 @@ public abstract class AbstractBatchMetadataResolver extends AbstractMetadataReso
         resolveViaPredicatesOnly = flag;
     }
 
-    /**
-     * Get the validUntil of of the metadata batch root element, if present.
-     *
-     * @return the validUntil date/time of the root element, or null if not available
-     */
+    /** {@inheritDoc} */
     @Nullable public DateTime getRootValidUntil() {
         XMLObject cached = getBackingStore().getCachedOriginalMetadata();
         if (cached != null && cached instanceof TimeBoundSAMLObject) {
@@ -167,11 +163,7 @@ public abstract class AbstractBatchMetadataResolver extends AbstractMetadataReso
         }
     }
 
-    /**
-     * Get the validity state of the metadata batch root element, as determined by {@link #isValid(XMLObject)}.
-     *
-     * @return true if root element is valid, false if not valid, null if indeterminate
-     */
+    /** {@inheritDoc} */
     @Nullable public Boolean isRootValid() {
         XMLObject cached = getBackingStore().getCachedOriginalMetadata();
         if (cached == null) {
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractReloadingMetadataResolver.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractReloadingMetadataResolver.java
index da4e714..1318031 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractReloadingMetadataResolver.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractReloadingMetadataResolver.java
@@ -27,18 +27,12 @@ import java.util.TimerTask;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
-import net.shibboleth.utilities.java.support.annotation.Duration;
-import net.shibboleth.utilities.java.support.annotation.constraint.Positive;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.ComponentSupport;
-import net.shibboleth.utilities.java.support.resolver.ResolverException;
-
 import org.joda.time.DateTime;
 import org.joda.time.DateTimeZone;
 import org.joda.time.chrono.ISOChronology;
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.core.xml.io.UnmarshallingException;
-import org.opensaml.saml.metadata.resolver.RefreshableMetadataResolver;
+import org.opensaml.saml.metadata.resolver.ExtendedRefreshableMetadataResolver;
 import org.opensaml.saml.metadata.resolver.filter.FilterException;
 import org.opensaml.saml.saml2.common.SAML2Support;
 import org.opensaml.saml.saml2.common.TimeBoundSAMLObject;
@@ -46,6 +40,12 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
 
+import net.shibboleth.utilities.java.support.annotation.Duration;
+import net.shibboleth.utilities.java.support.annotation.constraint.Positive;
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.utilities.java.support.component.ComponentSupport;
+import net.shibboleth.utilities.java.support.resolver.ResolverException;
+
 /**
  * Base class for metadata providers that cache and periodically refresh their metadata.
  * 
@@ -61,7 +61,7 @@ import org.w3c.dom.Document;
  * expires.
  */
 public abstract class AbstractReloadingMetadataResolver extends AbstractBatchMetadataResolver 
-        implements RefreshableMetadataResolver {
+        implements ExtendedRefreshableMetadataResolver {
 
     /** Class logger. */
     private final Logger log = LoggerFactory.getLogger(AbstractReloadingMetadataResolver.class);
@@ -171,20 +171,12 @@ public abstract class AbstractReloadingMetadataResolver extends AbstractBatchMet
         return lastRefresh;
     }
     
-    /**
-     * Gets the time the last successful refresh cycle occurred.
-     * 
-     * @return time the last successful refresh cycle occurred
-     */
+    /** {@inheritDoc} */
     @Nullable public DateTime getLastSuccessfulRefresh() {
         return lastSuccessfulRefresh;
     }
 
-    /**
-     * Gets whether the last refresh cycle was successful.
-     * 
-     * @return true if last refresh cycle was successful, false if not
-     */
+    /** {@inheritDoc} */
     @Nullable public Boolean wasLastRefreshSuccess() {
         return wasLastRefreshSuccess;
     }

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list