diff options
author | Eike Stepper | 2010-04-03 14:14:05 +0000 |
---|---|---|
committer | Eike Stepper | 2010-04-03 14:14:05 +0000 |
commit | 1f21ea771b07237b4602f5be6bc09a9a6dfda08f (patch) | |
tree | a32595b8121c90887f9470a9f4fca166e5eb8620 /plugins | |
parent | e31eda4c2b5c0b799adf093868fb4af012865e7f (diff) | |
download | cdo-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.java | 13 |
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) |