Bug fix for removing loaded data sets

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@41632 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tuna Aksoy
2012-09-16 19:43:42 +00:00
parent d4d164f765
commit 65e4c7707e

View File

@@ -7,7 +7,9 @@ import java.io.Reader;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.Set; import java.util.Set;
import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.error.AlfrescoRuntimeException;
@@ -315,12 +317,14 @@ public class DataSetServiceImpl implements DataSetService, RecordsManagementMode
// Filter the data sets which have already been loaded // Filter the data sets which have already been loaded
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
ArrayList<String> loadedDataSetIds = (ArrayList<String>) dataSetIds; ArrayList<String> loadedDataSetIds = (ArrayList<String>) dataSetIds;
for (Map.Entry<String, DataSet> entry : availableDataSets.entrySet()) Iterator<Map.Entry<String, DataSet>> iterator = availableDataSets.entrySet().iterator();
while (iterator.hasNext())
{ {
Entry<String, DataSet> entry = iterator.next();
String key = entry.getKey(); String key = entry.getKey();
if (!loadedDataSetIds.contains(key)) if (!loadedDataSetIds.contains(key))
{ {
availableDataSets.remove(key); iterator.remove();
} }
} }
return availableDataSets; return availableDataSets;