Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2010-04-03 14:14:05 +0000
committerEike Stepper2010-04-03 14:14:05 +0000
commit1f21ea771b07237b4602f5be6bc09a9a6dfda08f (patch)
treea32595b8121c90887f9470a9f4fca166e5eb8620 /plugins
parente31eda4c2b5c0b799adf093868fb4af012865e7f (diff)
downloadcdo-1f21ea771b07237b4602f5be6bc09a9a6dfda08f.tar.gz
cdo-1f21ea771b07237b4602f5be6bc09a9a6dfda08f.tar.xz
cdo-1f21ea771b07237b4602f5be6bc09a9a6dfda08f.zip
[256936] Support for Offline Mode
https://bugs.eclipse.org/bugs/show_bug.cgi?id=256936
Diffstat (limited to 'plugins')
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java
index 26d77a687e..31bd51c473 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java
@@ -95,8 +95,10 @@ import org.eclipse.emf.ecore.EcorePackage;
import java.text.MessageFormat;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -1019,7 +1021,16 @@ public class Repository extends Container<Object> implements InternalRepository
private void getBaselineSegments(long startTime, InternalCDOBranch branch, List<CDOChangeSetSegment> segments)
{
- for (InternalCDOBranch subBranch : branch.getBranches())
+ InternalCDOBranch[] branches = branch.getBranches();
+ Arrays.sort(branches, new Comparator<CDOBranch>()
+ {
+ public int compare(CDOBranch o1, CDOBranch o2)
+ {
+ return CDOCommonUtil.compareTimeStamps(o1.getBase().getTimeStamp(), o2.getBase().getTimeStamp());
+ }
+ });
+
+ for (InternalCDOBranch subBranch : branches)
{
long baseTimeStamp = subBranch.getBase().getTimeStamp();
if (baseTimeStamp > startTime)

Back to the top