diff options
author | Eike Stepper | 2012-06-09 07:59:18 +0000 |
---|---|---|
committer | Eike Stepper | 2012-06-09 07:59:18 +0000 |
commit | 8d9d8fe58e3fdde6305437581eca7238c99e4934 (patch) | |
tree | 23449a4617496bc339688308d6b78685aa23adba /plugins/org.eclipse.emf.cdo.ui.admin | |
parent | 0cef74d91520f43c6b7e1ab3bebb8d7e650190c4 (diff) | |
download | cdo-8d9d8fe58e3fdde6305437581eca7238c99e4934.tar.gz cdo-8d9d8fe58e3fdde6305437581eca7238c99e4934.tar.xz cdo-8d9d8fe58e3fdde6305437581eca7238c99e4934.zip |
[381472] Design a repository administration API
https://bugs.eclipse.org/bugs/show_bug.cgi?id=381472
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.ui.admin')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.ui.admin/src/org/eclipse/emf/cdo/ui/internal/admin/CDOAdminView.java | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/plugins/org.eclipse.emf.cdo.ui.admin/src/org/eclipse/emf/cdo/ui/internal/admin/CDOAdminView.java b/plugins/org.eclipse.emf.cdo.ui.admin/src/org/eclipse/emf/cdo/ui/internal/admin/CDOAdminView.java index 7172356690..411e8f054e 100644 --- a/plugins/org.eclipse.emf.cdo.ui.admin/src/org/eclipse/emf/cdo/ui/internal/admin/CDOAdminView.java +++ b/plugins/org.eclipse.emf.cdo.ui.admin/src/org/eclipse/emf/cdo/ui/internal/admin/CDOAdminView.java @@ -18,7 +18,10 @@ import org.eclipse.emf.cdo.net4j.CDONet4jSession; import org.eclipse.emf.cdo.ui.internal.admin.bundle.OM; import org.eclipse.emf.cdo.ui.shared.SharedIcons; +import org.eclipse.emf.internal.cdo.session.CDOSessionFactory; + import org.eclipse.net4j.util.container.IContainer; +import org.eclipse.net4j.util.container.IManagedContainer; import org.eclipse.net4j.util.ui.actions.LongRunningAction; import org.eclipse.net4j.util.ui.views.ContainerItemProvider; import org.eclipse.net4j.util.ui.views.ContainerView; @@ -51,6 +54,8 @@ public class CDOAdminView extends ContainerView private IAction addConnectionAction; + private int lastSessionNumber; + public CDOAdminView() { } @@ -61,6 +66,11 @@ public class CDOAdminView extends ContainerView return adminManager; } + protected int getNextSessionNumber() + { + return ++lastSessionNumber; + } + @Override protected ContainerItemProvider<IContainer<Object>> createContainerItemProvider() { @@ -151,7 +161,7 @@ public class CDOAdminView extends ContainerView else if (obj instanceof CDOAdminClientRepository) { CDOAdminClientRepository repository = (CDOAdminClientRepository)obj; - manager.add(new OpenSessionAction(adminManager, repository)); + manager.add(new OpenSessionAction(repository)); } } } @@ -221,17 +231,14 @@ public class CDOAdminView extends ContainerView /** * @author Eike Stepper */ - public static class OpenSessionAction extends LongRunningAction + public class OpenSessionAction extends LongRunningAction { - private CDOAdminClientManager adminManager; - private CDOAdminClientRepository repository; - public OpenSessionAction(CDOAdminClientManager adminManager, CDOAdminClientRepository repository) + public OpenSessionAction(CDOAdminClientRepository repository) { super("Open Session", "Open a new session to this repository", SharedIcons .getDescriptor(SharedIcons.ETOOL_OPEN_SESSION)); - this.adminManager = adminManager; this.repository = repository; } @@ -246,7 +253,9 @@ public class CDOAdminView extends ContainerView CDONet4jSession session = repository.openSession(); if (session != null) { - adminManager.getContainer().putElement(NSFieldE) + IManagedContainer container = adminManager.getContainer(); + String description = "session" + getNextSessionNumber(); + container.putElement(CDOSessionFactory.PRODUCT_GROUP, "admin", description, session); } } } |