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/branch/CDOBranchImpl.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/branch/CDOBranchImpl.java21
1 files changed, 13 insertions, 8 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 8a638b5135..2073ef2d14 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
@@ -182,13 +182,7 @@ public class CDOBranchImpl extends Container<CDOBranch> implements InternalCDOBr
if (branches == null && loadOnDemand)
{
- SubBranchInfo[] infos = branchManager.getBranchLoader().loadSubBranches(id);
- branches = new InternalCDOBranch[infos.length];
- for (int i = 0; i < infos.length; i++)
- {
- SubBranchInfo info = infos[i];
- branches[i] = branchManager.getBranch(info.getID(), info.getName(), this, info.getBaseTimeStamp());
- }
+ loadBranches();
}
return branches;
@@ -281,7 +275,7 @@ public class CDOBranchImpl extends Container<CDOBranch> implements InternalCDOBr
{
if (branches == null)
{
- branches = new InternalCDOBranch[] { branch };
+ loadBranches();
}
else
{
@@ -333,6 +327,17 @@ public class CDOBranchImpl extends Container<CDOBranch> implements InternalCDOBr
base = baseBranch.getPoint(branchInfo.getBaseTimeStamp());
}
+ private synchronized void loadBranches()
+ {
+ SubBranchInfo[] infos = branchManager.getBranchLoader().loadSubBranches(id);
+ branches = new InternalCDOBranch[infos.length];
+ for (int i = 0; i < infos.length; i++)
+ {
+ SubBranchInfo info = infos[i];
+ branches[i] = branchManager.getBranch(info.getID(), info.getName(), this, info.getBaseTimeStamp());
+ }
+ }
+
/**
* @author Eike Stepper
*/

Back to the top