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

noreply at shibboleth.net noreply at shibboleth.net
Fri Nov 7 19:39:54 EST 2014


Author: putmanb
Date: Fri Nov  7 19:39:54 2014
New Revision: 4138

URL: http://svn.shibboleth.net/view/java-opensaml?rev=4138&view=rev
Log:
Some cleanup on maintenance task.

Modified:
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java

Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java?rev=4138&r1=4137&r2=4138&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java Fri Nov  7 19:39:54 2014
@@ -407,9 +407,6 @@
             return;
         }
         
-        // TODO handling case where exists already one (or more) entries for a given entityID when this is called
-        // - either have to overwrite, or somehow pick one or the otheri, or (?) merge.
-        
         if (filteredMetadata instanceof EntityDescriptor) {
             EntityDescriptor entityDescriptor = (EntityDescriptor) filteredMetadata;
             if (!Objects.equals(entityDescriptor.getEntityID(), expectedEntityID)) {
@@ -595,27 +592,6 @@
             }
         }
         
-        /**
-         * Remove management data instances which have been orphaned, meaning there is
-         * no metadata for the corresponding entityID in the backing store.
-         */
-        public void cleanupOrphanedManagementData() {
-            // TODO think have a race condition here 
-            for (String entityID : mgmtDataMap.keySet()) {
-                Lock writeLock = mgmtDataMap.get(entityID).getReadWriteLock().writeLock();
-                try {
-                    writeLock.lock();
-                    
-                    if (!getIndexedDescriptors().containsKey(entityID)) {
-                        removeManagementData(entityID);
-                    }
-                    
-                } finally {
-                    writeLock.unlock();
-                }
-            }
-        }
-        
     }
     
     /**
@@ -742,9 +718,6 @@
             }
             
             removeExpiredAndIdleMetadata();
-            
-            // Cleanup mgmt data entries that don't have any indexed descriptors associated with them
-            getBackingStore().cleanupOrphanedManagementData();
         }
 
         /**
@@ -759,11 +732,10 @@
             Map<String, List<EntityDescriptor>> indexedDescriptors = backingStore.getIndexedDescriptors();
             
             for (String entityID : indexedDescriptors.keySet()) {
-                Lock writeLock = backingStore.getManagementData(entityID).getReadWriteLock().writeLock();
+                EntityManagementData mgmtData = backingStore.getManagementData(entityID);
+                Lock writeLock = mgmtData.getReadWriteLock().writeLock();
                 try {
                     writeLock.lock();
-                    
-                    EntityManagementData mgmtData = backingStore.getManagementData(entityID);
                     
                     if (isRemoveData(mgmtData, now, earliestValidLastAccessed)) {
                         removeByEntityID(entityID, backingStore);



More information about the commits mailing list