[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