diff options
author | Eike Stepper | 2010-12-21 17:27:30 +0000 |
---|---|---|
committer | Eike Stepper | 2010-12-21 17:27:30 +0000 |
commit | 8dcd7476ad955bc0e2caca3b8090fb070da2e119 (patch) | |
tree | 807c6eb31becf37e6c7dd9ddbf62cf6f48f0ac84 /plugins | |
parent | f11d91bf691b173dc7790ae9567a083cb1f4f440 (diff) | |
download | cdo-8dcd7476ad955bc0e2caca3b8090fb070da2e119.tar.gz cdo-8dcd7476ad955bc0e2caca3b8090fb070da2e119.tar.xz cdo-8dcd7476ad955bc0e2caca3b8090fb070da2e119.zip |
[332355] Provide OSGi console commands to start/stop/list/export/import repositories
https://bugs.eclipse.org/bugs/show_bug.cgi?id=332355
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/bundle/CDOCommandProvider.java | 45 |
1 files changed, 20 insertions, 25 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/bundle/CDOCommandProvider.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/bundle/CDOCommandProvider.java index 4d421b9243..43b26fcd6a 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/bundle/CDOCommandProvider.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/bundle/CDOCommandProvider.java @@ -1,14 +1,11 @@ package org.eclipse.emf.cdo.internal.server.bundle; -import org.eclipse.emf.cdo.CDOObject; -import org.eclipse.emf.cdo.common.id.CDOID; -import org.eclipse.emf.cdo.common.id.CDOIDUtil; import org.eclipse.emf.cdo.internal.server.RepositoryConfigurator; import org.eclipse.emf.cdo.server.CDOServerExporter; import org.eclipse.emf.cdo.server.CDOServerImporter; import org.eclipse.emf.cdo.server.CDOServerUtil; import org.eclipse.emf.cdo.server.IRepository; -import org.eclipse.emf.cdo.server.StoreThreadLocal; +import org.eclipse.emf.cdo.spi.common.branch.InternalCDOBranch; import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageInfo; import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageRegistry; import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageUnit; @@ -17,7 +14,6 @@ import org.eclipse.emf.cdo.spi.server.InternalSession; import org.eclipse.emf.cdo.spi.server.InternalSessionManager; import org.eclipse.emf.cdo.spi.server.InternalView; import org.eclipse.emf.cdo.spi.server.RepositoryFactory; -import org.eclipse.emf.cdo.view.CDOView; import org.eclipse.net4j.util.container.IPluginContainer; import org.eclipse.net4j.util.io.IOUtil; @@ -55,6 +51,7 @@ public class CDOCommandProvider implements CommandProvider buffer.append("\tcdo import - import the contents of a repository from an XML file\n"); buffer.append("\tcdo sessions - dump the sessions of a repository\n"); buffer.append("\tcdo packages - dump the packages of a repository\n"); + buffer.append("\tcdo branches - dump the branches of a repository\n"); return buffer.toString(); } @@ -105,27 +102,9 @@ public class CDOCommandProvider implements CommandProvider return null; } - if ("test".equals(cmd)) + if ("branches".equals(cmd)) { - InternalRepository repository = getRepository(interpreter, "error1"); - InternalSession session = repository.getSessionManager().openSession(null); - StoreThreadLocal.setSession(session); - - try - { - CDOView view = CDOServerUtil - .openView(session, repository.getBranchManager().getMainBranch().getHead(), false); - - CDOID id = CDOIDUtil.createLong(Long.valueOf(nextArgument(interpreter, "error2"))); - CDOObject object = view.getObject(id); - System.out.println(object); - } - finally - { - StoreThreadLocal.release(); - session.close(); - } - + branches(interpreter); return null; } @@ -256,6 +235,22 @@ public class CDOCommandProvider implements CommandProvider } } + protected void branches(CommandInterpreter interpreter) + { + InternalRepository repository = getRepository(interpreter, "Syntax: cdo branches <repository-name>"); + branches(interpreter, repository.getBranchManager().getMainBranch(), ""); + } + + private void branches(CommandInterpreter interpreter, InternalCDOBranch branch, String prefix) + { + interpreter.println(prefix + branch); + prefix += " "; + for (InternalCDOBranch child : branch.getBranches()) + { + branches(interpreter, child, prefix); + } + } + private String nextArgument(CommandInterpreter interpreter, String syntax) { String argument = interpreter.nextArgument(); |