[java-opensaml COMMIT] in /trunk: opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/common/SAML2Support.java op...

noreply at shibboleth.net noreply at shibboleth.net
Sat Jun 21 00:53:23 EDT 2014


Author: putmanb
Date: Sat Jun 21 00:53:22 2014
New Revision: 3937

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3937&view=rev
Log:
Initial draft of fix for OSJ-68:  Metadata resolvers need to gracefully handle case where metadata is invalid on initial load.
Also make sure resolver classes consistently invoke superclass constructor via super(...).

Added:
    trunk/opensaml-saml-impl/src/test/resources/data/org/opensaml/saml/saml2/metadata/simple-metadata-expired.xml   (with props)
Modified:
    trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/common/SAML2Support.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.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/FilesystemMetadataResolver.java
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/FileBackedHTTPMetadataResolverTest.java
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/FilesystemMetadataResolverTest.java
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/HTTPMetadataResolverTest.java

Modified: trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/common/SAML2Support.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/common/SAML2Support.java?rev=3937&r1=3936&r2=3937&view=diff
==============================================================================
--- trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/common/SAML2Support.java (original)
+++ trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/common/SAML2Support.java Sat Jun 21 00:53:22 2014
@@ -69,7 +69,7 @@
      * 
      * @return the earliest expiration time
      */
-    @Nullable public static DateTime getEarliestExpiration(@Nonnull final XMLObject xmlObject) {
+    @Nullable public static DateTime getEarliestExpiration(@Nullable final XMLObject xmlObject) {
         DateTime now = new DateTime();
         return getEarliestExpiration(xmlObject, null, now);
     }
@@ -84,7 +84,7 @@
      * @return the earliest expiration instant within a metadata tree. May be null if the input candiateTime 
      *          was null, otherwise will always be non-null.
      */
-    @Nullable public static DateTime getEarliestExpiration(@Nonnull final XMLObject xmlObject, 
+    @Nullable public static DateTime getEarliestExpiration(@Nullable final XMLObject xmlObject, 
             @Nullable DateTime candidateTime, @Nonnull DateTime now) {
         
         DateTime earliestExpiration = candidateTime;
@@ -101,11 +101,13 @@
         }
 
         // Inspect children
-        List<XMLObject> children = xmlObject.getOrderedChildren();
-        if (children != null) {
-            for (XMLObject child : xmlObject.getOrderedChildren()) {
-                if (child != null) {
-                    earliestExpiration = getEarliestExpiration(child, earliestExpiration, now);
+        if (xmlObject != null) {
+            List<XMLObject> children = xmlObject.getOrderedChildren();
+            if (children != null) {
+                for (XMLObject child : xmlObject.getOrderedChildren()) {
+                    if (child != null) {
+                        earliestExpiration = getEarliestExpiration(child, earliestExpiration, now);
+                    }
                 }
             }
         }

Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java?rev=3937&r1=3936&r2=3937&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractBatchMetadataResolver.java Sat Jun 21 00:53:22 2014
@@ -23,6 +23,7 @@
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
+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;
@@ -52,6 +53,8 @@
     
     /** Constructor. */
     public AbstractBatchMetadataResolver() {
+        super();
+        
         setCacheSourceMetadata(true);
     }
     
@@ -110,6 +113,16 @@
     @Override
     @Nonnull protected BatchEntityBackingStore getBackingStore() {
         return (BatchEntityBackingStore) super.getBackingStore();
+    }
+    
+    /** {@inheritDoc} */
+    @Override

[... 153 lines stripped ...]


More information about the commits mailing list