[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
Fri Aug 23 23:17:50 EDT 2013


Author: putmanb
Date: Fri Aug 23 23:17:50 2013
New Revision: 3432

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3432&view=rev
Log:
In metadata credential resolver, implement credential caching using XMLObject object metadata. 

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/security/MetadataCredentialResolver.java
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/security/MetadataCredentialResolverTest.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=3432&r1=3431&r2=3432&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 Fri Aug 23 23:17:50 2013
@@ -28,8 +28,8 @@
 import javax.annotation.Nonnull;
 import javax.xml.namespace.QName;
 
-import net.shibboleth.utilities.java.support.collection.ClassToInstanceMultiMap;
 import net.shibboleth.utilities.java.support.collection.LazySet;
+import net.shibboleth.utilities.java.support.collection.LockableClassToInstanceMultiMap;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 import net.shibboleth.utilities.java.support.resolver.ResolverException;
 
@@ -526,7 +526,7 @@
         }
 
         /** {@inheritDoc} */
-        @Nonnull public ClassToInstanceMultiMap<Object> getObjectMetadata() {
+        @Nonnull public LockableClassToInstanceMultiMap<Object> getObjectMetadata() {
             // TODO Auto-generated method stub
             return null;
         }

Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/MetadataCredentialResolver.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/MetadataCredentialResolver.java?rev=3432&r1=3431&r2=3432&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/MetadataCredentialResolver.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/MetadataCredentialResolver.java Fri Aug 23 23:17:50 2013
@@ -21,15 +21,16 @@
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.List;
+import java.util.concurrent.locks.ReadWriteLock;
 
 import javax.annotation.Nonnull;
 import javax.xml.namespace.QName;
 
+import net.shibboleth.utilities.java.support.collection.LockableClassToInstanceMultiMap;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 import net.shibboleth.utilities.java.support.resolver.ResolverException;
 
-import org.opensaml.core.xml.XMLObject;
 import org.opensaml.saml.criterion.EntityIdCriterion;
 import org.opensaml.saml.criterion.EntityRoleCriterion;
 import org.opensaml.saml.criterion.ProtocolCriterion;
@@ -162,13 +163,13 @@
             throw new IllegalArgumentException("Entity criteria must be supplied");
         }
         if (mdCriteria == null) {
-            throw new IllegalArgumentException("SAML entityDescriptorResolver criteria must be supplied");
+            throw new IllegalArgumentException("SAML entity metadata criteria must be supplied");
         }
         if (Strings.isNullOrEmpty(entityCriteria.getEntityID())) {
             throw new IllegalArgumentException("Credential owner entity ID criteria value must be supplied");
         }
         if (mdCriteria.getRole() == null) {
-            throw new IllegalArgumentException("Credential entityDescriptorResolver role criteria value must be supplied");
+            throw new IllegalArgumentException("Credential entity role criteria value must be supplied");
         }
     }
 
@@ -189,13 +190,9 @@
             throws ResolverException {
 
         log.debug("Attempting to retrieve credentials from entityDescriptorResolver for entity: {}", entityID);
-        Collection<Credential> credentials = new HashSet<Credential>(3);
+        HashSet<Credential> credentials = new HashSet<Credential>(3);
 
         Iterable<RoleDescriptor> roleDescriptors = getRoleDescriptors(entityID, role, protocol);
-        
-        // TODO call retrieve- and storeCachedCredentials on the KeyInfo objects here appropriately,
-        // to check for and retrieve existing cached creds,
-        // or store the ones resolved from processing the metadata document.
             
         for (RoleDescriptor roleDescriptor : roleDescriptors) {
             List<KeyDescriptor> keyDescriptors = roleDescriptor.getKeyDescriptors();
@@ -206,22 +203,7 @@
                 }

[... 180 lines stripped ...]


More information about the commits mailing list