[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