diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java | 26 |
1 files changed, 16 insertions, 10 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 52bbe71196..3cf440b6ea 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 @@ -115,6 +115,7 @@ import org.eclipse.emf.ecore.EcorePackage; import org.eclipse.emf.spi.cdo.CDOSessionProtocol.LockObjectsResult; import org.eclipse.emf.spi.cdo.CDOSessionProtocol.UnlockObjectsResult; +import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.Platform; import java.io.IOException; @@ -145,7 +146,7 @@ public class Repository extends Container<Object> implements InternalRepository private Type type = Type.MASTER; - private State state = State.ONLINE; + private State state = State.INITIAL; private Map<String, String> properties; @@ -295,6 +296,11 @@ public class Repository extends Container<Object> implements InternalRepository } } + public boolean waitWhileInitial(IProgressMonitor monitor) + { + return CDOCommonUtil.waitWhileInitial(this, this, monitor); + } + public synchronized Map<String, String> getProperties() { if (properties == null) @@ -1203,10 +1209,10 @@ public class Repository extends Container<Object> implements InternalRepository throws IOException { final int fromBranchID = lastReplicatedBranchID + 1; - final int toBranchID = getStore().getLastBranchID(); + final int toBranchID = store.getLastBranchID(); final long fromCommitTime = lastReplicatedCommitTime + 1L; - final long toCommitTime = getStore().getLastCommitTime(); + final long toCommitTime = store.getLastCommitTime(); out.writeInt(toBranchID); out.writeLong(toCommitTime); @@ -1822,6 +1828,11 @@ public class Repository extends Container<Object> implements InternalRepository } } + protected void setPostActivateState() + { + setState(State.ONLINE); + } + @Override protected void doBeforeActivate() throws Exception { @@ -1897,15 +1908,10 @@ public class Repository extends Container<Object> implements InternalRepository readPackageUnits(); readRootResource(); } - - // This check does not work for CDOWorkspace: - // if (CDOIDUtil.isNull(rootResourceID)) - // { - // throw new IllegalStateException("Root resource ID is null"); - // } } - LifecycleUtil.activate(getLockingManager()); // Needs an initialized main branch / branch manager + LifecycleUtil.activate(lockingManager); // Needs an initialized main branch / branch manager + setPostActivateState(); } @Override |