Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common')
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/branch/CDOBranchImpl.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/branch/CDOBranchManagerImpl.java18
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/io/CDODataInputImpl.java8
3 files changed, 21 insertions, 7 deletions
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/branch/CDOBranchImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/branch/CDOBranchImpl.java
index e94ee08574..1be11d9cfa 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/branch/CDOBranchImpl.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/branch/CDOBranchImpl.java
@@ -126,7 +126,7 @@ public class CDOBranchImpl implements InternalCDOBranch
for (int i = 0; i < infos.length; i++)
{
SubBranchInfo info = infos[i];
- branches[i] = branchManager.getBranch(info.getID(), info.getName(), info.getBaseTimeStamp(), this);
+ branches[i] = branchManager.getBranch(info.getID(), info.getName(), this, info.getBaseTimeStamp());
}
}
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/branch/CDOBranchManagerImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/branch/CDOBranchManagerImpl.java
index f28ec9a680..674be07218 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/branch/CDOBranchManagerImpl.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/branch/CDOBranchManagerImpl.java
@@ -12,6 +12,7 @@ package org.eclipse.emf.cdo.internal.common.branch;
import org.eclipse.emf.cdo.common.branch.CDOBranch;
import org.eclipse.emf.cdo.common.branch.CDOBranchCreatedEvent;
+import org.eclipse.emf.cdo.common.branch.CDOBranchHandler;
import org.eclipse.emf.cdo.common.branch.CDOBranchManager;
import org.eclipse.emf.cdo.common.branch.CDOBranchPoint;
import org.eclipse.emf.cdo.common.util.CDOTimeProvider;
@@ -108,19 +109,19 @@ public class CDOBranchManagerImpl extends Lifecycle implements InternalCDOBranch
return branch;
}
- public InternalCDOBranch getBranch(int id, String name, long baseTimeStamp, InternalCDOBranch base)
+ public InternalCDOBranch getBranch(int id, String name, InternalCDOBranch baseBranch, long baseTimeStamp)
{
synchronized (branches)
{
InternalCDOBranch branch = branches.get(id);
if (branch == null)
{
- branch = new CDOBranchImpl(id, name, CDOBranchUtil.createBranchPoint(base, baseTimeStamp));
+ branch = new CDOBranchImpl(id, name, baseBranch.getPoint(baseTimeStamp));
putBranch(branch);
}
else if (branch.isProxy())
{
- branch.setBranchInfo(name, base, baseTimeStamp);
+ branch.setBranchInfo(name, baseBranch, baseTimeStamp);
}
return branch;
@@ -150,6 +151,12 @@ public class CDOBranchManagerImpl extends Lifecycle implements InternalCDOBranch
return null;
}
+ public int getBranches(int startID, int endID, CDOBranchHandler handler)
+ {
+ checkActive();
+ return branchLoader.loadBranches(startID, endID, handler);
+ }
+
public InternalCDOBranch createBranch(String name, InternalCDOBranch baseBranch, long baseTimeStamp)
{
checkActive();
@@ -160,6 +167,11 @@ public class CDOBranchManagerImpl extends Lifecycle implements InternalCDOBranch
}
int branchID = branchLoader.createBranch(new BranchInfo(name, baseBranch.getID(), baseTimeStamp));
+ return createBranch(branchID, name, baseBranch, baseTimeStamp);
+ }
+
+ public InternalCDOBranch createBranch(int branchID, String name, InternalCDOBranch baseBranch, long baseTimeStamp)
+ {
CDOBranchPoint base = CDOBranchUtil.createBranchPoint(baseBranch, baseTimeStamp);
InternalCDOBranch branch = new CDOBranchImpl(branchID, name, base);
synchronized (branches)
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/io/CDODataInputImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/io/CDODataInputImpl.java
index 3606df6d46..717dd4fbf5 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/io/CDODataInputImpl.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/io/CDODataInputImpl.java
@@ -225,7 +225,7 @@ public abstract class CDODataInputImpl extends ExtendedDataInput.Delegating impl
return new CDOCommitDataImpl(newPackageUnits, newObjects, changedObjects, detachedObjects);
}
- public CDOCommitInfo readCDOCommitInfo(CDOCommitInfoManager commitInfoManager) throws IOException
+ public CDOCommitInfo readCDOCommitInfo() throws IOException
{
CDOBranch branch = readCDOBranch();
long timeStamp = readLong();
@@ -233,8 +233,8 @@ public abstract class CDODataInputImpl extends ExtendedDataInput.Delegating impl
String comment = readString();
CDOCommitData commitData = readCDOCommitData();
- return ((InternalCDOCommitInfoManager)commitInfoManager).createCommitInfo(branch, timeStamp, userID, comment,
- commitData);
+ InternalCDOCommitInfoManager commitInfoManager = (InternalCDOCommitInfoManager)getCommitInfoManager();
+ return commitInfoManager.createCommitInfo(branch, timeStamp, userID, comment, commitData);
}
public CDOID readCDOID() throws IOException
@@ -503,6 +503,8 @@ public abstract class CDODataInputImpl extends ExtendedDataInput.Delegating impl
protected abstract CDOBranchManager getBranchManager();
+ protected abstract CDOCommitInfoManager getCommitInfoManager();
+
protected abstract CDORevisionFactory getRevisionFactory();
protected abstract CDOListFactory getListFactory();

Back to the top