diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/CDORevisionCacheNonAuditing.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/CDORevisionCacheNonAuditing.java | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/CDORevisionCacheNonAuditing.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/CDORevisionCacheNonAuditing.java index 1e817ebb5c..89935ec366 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/CDORevisionCacheNonAuditing.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/CDORevisionCacheNonAuditing.java @@ -30,6 +30,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.function.Consumer; /** * @author Eike Stepper @@ -113,6 +114,13 @@ public class CDORevisionCacheNonAuditing extends AbstractCDORevisionCache public List<CDORevision> getCurrentRevisions() { List<CDORevision> currentRevisions = new ArrayList<>(); + forEachCurrentRevision(r -> currentRevisions.add(r)); + return currentRevisions; + } + + @Override + public void forEachCurrentRevision(Consumer<CDORevision> consumer) + { synchronized (revisions) { for (Reference<InternalCDORevision> ref : revisions.values()) @@ -120,12 +128,10 @@ public class CDORevisionCacheNonAuditing extends AbstractCDORevisionCache InternalCDORevision revision = ref.get(); if (revision != null && !revision.isHistorical()) { - currentRevisions.add(revision); + consumer.accept(revision); } } } - - return currentRevisions; } @Override |