[java-opensaml COMMIT] in /trunk/opensaml-saml-impl/src: main/java/org/opensaml/saml/metadata/resolver/impl/AbstractB...

noreply at shibboleth.net noreply at shibboleth.net
Fri Sep 30 17:31:12 EDT 2016


Author: putmanb
Date: Fri Sep 30 17:31:11 2016
New Revision: 4506

URL: http://svn.shibboleth.net/view/java-opensaml?rev=4506&view=rev
Log:
Refactor metadata index support components such that indexed items are generically parameterized.

This is to support potential re-use in the dynamic resolvers, where we may want to index
entityIDs rather than EntityDescriptors. 

Modified:
    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/index/impl/MetadataIndexManager.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/MetadataIndexStore.java
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/index/impl/MetadataIndexManagerTest.java
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/index/impl/MetadataIndexStoreTest.java

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=4506&r1=4505&r2=4506&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	Fri Sep 30 17:31:11 2016
@@ -199,7 +199,7 @@
      */
     @Nonnull @NonnullElements 
     protected Optional<Set<EntityDescriptor>> lookupByIndexes(@Nonnull final CriteriaSet criteria) {
-        return getBackingStore().getSecondaryIndexManager().lookupEntityDescriptors(criteria);
+        return getBackingStore().getSecondaryIndexManager().lookupIndexedItems(criteria);
     }
     
     /** {@inheritDoc} */
@@ -316,7 +316,7 @@
         private XMLObject cachedFilteredMetadata;
         
         /** Manager for secondary indexes. */
-        private MetadataIndexManager secondaryIndexManager;
+        private MetadataIndexManager<EntityDescriptor> secondaryIndexManager;
         
         /**
          * Constructor.
@@ -326,7 +326,8 @@
         protected BatchEntityBackingStore(
                 @Nullable @NonnullElements @Unmodifiable @NotLive final Set<MetadataIndex> initIndexes) {
             super();
-            secondaryIndexManager = new MetadataIndexManager(initIndexes);
+            secondaryIndexManager = new MetadataIndexManager(initIndexes, 
+                    new MetadataIndexManager.IdentityExtractionFunction());
         }
 
         /**
@@ -370,7 +371,7 @@
          * 
          * @return the manager for secondary indexes
          */
-        public MetadataIndexManager getSecondaryIndexManager() {
+        public MetadataIndexManager<EntityDescriptor> getSecondaryIndexManager() {
             return secondaryIndexManager;
         }
         

Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/MetadataIndexManager.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/MetadataIndexManager.java?rev=4506&r1=4505&r2=4506&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/MetadataIndexManager.java	(original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/MetadataIndexManager.java	Fri Sep 30 17:31:11 2016
@@ -32,6 +32,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.base.Function;
 import com.google.common.base.Optional;
 import com.google.common.collect.ImmutableSet;
 
@@ -40,27 +41,41 @@
 import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
 import net.shibboleth.utilities.java.support.collection.LazySet;
 import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 
 /**
- * High-level component which handles index and lookup of {@link EntityDescriptor} instances,
+ * High-level component which handles index and lookup of instances of particular type of data item,
+ * for example {@link org.opensaml.saml.saml2.metadata.EntityDescriptor},
  * based on a set of {@link MetadataIndex} instances currently held.
+ * 
+ * @param <T> the type of data being indexed
  */
-public class MetadataIndexManager {
+public class MetadataIndexManager<T> {
     
     /** Logger. */
     private Logger log = LoggerFactory.getLogger(MetadataIndexManager.class);
     
     /** Storage for secondary indexes. */
-    private Map<MetadataIndex, MetadataIndexStore> indexes;

[... 534 lines stripped ...]


More information about the commits mailing list