[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 Dec 9 15:11:09 EST 2014
Author: scantor
Date: Tue Dec 9 15:11:08 2014
New Revision: 4182
URL: http://svn.shibboleth.net/view/java-opensaml?rev=4182&view=rev
Log:
IDP-92 - get last update/refresh of metadata exposed
Modified:
trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java
trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/RefreshableMetadataResolver.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractReloadingMetadataResolver.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/CompositeMetadataResolver.java
Modified: trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java?rev=4182&r1=4181&r2=4182&view=diff
==============================================================================
--- trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java (original)
+++ trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java Tue Dec 9 15:11:08 2014
@@ -33,6 +33,7 @@
import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
import net.shibboleth.utilities.java.support.resolver.ResolverException;
+import org.joda.time.DateTime;
import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
import org.opensaml.saml.saml2.metadata.EntityDescriptor;
import org.slf4j.Logger;
@@ -161,6 +162,38 @@
}
/** {@inheritDoc} */
+ @Override
+ @Nullable public DateTime getLastUpdate() {
+ DateTime ret = null;
+ for (final MetadataResolver resolver : resolvers) {
+ if (resolver instanceof RefreshableMetadataResolver) {
+ final DateTime lastUpdate = ((RefreshableMetadataResolver) resolver).getLastUpdate();
+ if (ret == null || ret.isBefore(lastUpdate)) {
+ ret = lastUpdate;
+ }
+ }
+ }
+
+ return ret;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ @Nullable public DateTime getLastRefresh() {
+ DateTime ret = null;
+ for (final MetadataResolver resolver : resolvers) {
+ if (resolver instanceof RefreshableMetadataResolver) {
+ final DateTime lastRefresh = ((RefreshableMetadataResolver) resolver).getLastRefresh();
+ if (ret == null || ret.isBefore(lastRefresh)) {
+ ret = lastRefresh;
+ }
+ }
+ }
+
+ return ret;
+ }
+
+ /** {@inheritDoc} */
@Override protected void doInitialize() throws ComponentInitializationException {
super.doInitialize();
if (resolvers == null) {
Modified: trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/RefreshableMetadataResolver.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/RefreshableMetadataResolver.java?rev=4182&r1=4181&r2=4182&view=diff
==============================================================================
--- trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/RefreshableMetadataResolver.java (original)
+++ trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/RefreshableMetadataResolver.java Tue Dec 9 15:11:08 2014
@@ -16,6 +16,10 @@
*/
package org.opensaml.saml.metadata.resolver;
+
+import javax.annotation.Nullable;
+
+import org.joda.time.DateTime;
import net.shibboleth.utilities.java.support.resolver.ResolverException;
@@ -36,4 +40,20 @@
*/
void refresh() throws ResolverException;
+ /**
+ * Gets the time the last refresh cycle occurred.
+ *
+ * @return time the last refresh cycle occurred
+ */
+ @Nullable DateTime getLastRefresh();
+
+ /**
+ * Get the time that the currently available metadata was last updated. Note, this may be different than the time
+ * retrieved by {@link #getLastRefresh()} is the metadata was known not to have changed during the last refresh
+ * cycle.
+ *
+ * @return time when the currently metadata was last updated, null if metadata has never successfully been read in
+ */
+ @Nullable DateTime getLastUpdate();
+
}
Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractReloadingMetadataResolver.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractReloadingMetadataResolver.java?rev=4182&r1=4181&r2=4182&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractReloadingMetadataResolver.java (original)
[... 202 lines stripped ...]
More information about the commits
mailing list