Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2009-01-12 18:13:41 +0000
committerEike Stepper2009-01-12 18:13:41 +0000
commit264dbfbd5f7a0ee20ff95a0fb7268314e60a05ad (patch)
tree90047a254aff5b28fee537adae4e64e093f6a5e1 /plugins/org.eclipse.emf.cdo.ui
parent2e75a92216de7bdc8d86c38160fea0b321ee06fe (diff)
downloadcdo-264dbfbd5f7a0ee20ff95a0fb7268314e60a05ad.tar.gz
cdo-264dbfbd5f7a0ee20ff95a0fb7268314e60a05ad.tar.xz
cdo-264dbfbd5f7a0ee20ff95a0fb7268314e60a05ad.zip
factor out SessionComposite
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.ui')
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/.settings/org.eclipse.jdt.core.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/META-INF/MANIFEST.MF12
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenSessionAction.java55
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/OpenSessionDialog.java51
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/widgets/SessionComposite.java64
5 files changed, 82 insertions, 103 deletions
diff --git a/plugins/org.eclipse.emf.cdo.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.emf.cdo.ui/.settings/org.eclipse.jdt.core.prefs
index 4a9b13a84e..fc74bbcd7f 100644
--- a/plugins/org.eclipse.emf.cdo.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.emf.cdo.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Fri Aug 01 21:17:01 CEST 2008
+#Mon Jan 12 18:11:19 CET 2009
eclipse.preferences.version=1
org.eclipse.jdt.core.codeComplete.argumentPrefixes=
org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +8,7 @@ org.eclipse.jdt.core.codeComplete.localPrefixes=
org.eclipse.jdt.core.codeComplete.localSuffixes=
org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
diff --git a/plugins/org.eclipse.emf.cdo.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.ui/META-INF/MANIFEST.MF
index 8af7fa1df7..af813a9007 100644
--- a/plugins/org.eclipse.emf.cdo.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.ui/META-INF/MANIFEST.MF
@@ -18,13 +18,13 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.net4j.util.ui;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.cdo;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.cdo.edit;bundle-version="[2.0.0,3.0.0)";visibility:=reexport
-Export-Package: org.eclipse.emf.cdo.internal.ui;version="2.0.0";x-friends:="org.eclipse.emf.cdo.ui.defs",
- org.eclipse.emf.cdo.internal.ui.actions;version="2.0.0";x-friends:="org.eclipse.emf.cdo.ui.defs",
+Export-Package: org.eclipse.emf.cdo.internal.ui;version="2.0.0";x-friends:="org.eclipse.emf.cdo.ui.defs,org.eclipse.emf.cdo.ui.ide",
+ org.eclipse.emf.cdo.internal.ui.actions;version="2.0.0";x-friends:="org.eclipse.emf.cdo.ui.defs,org.eclipse.emf.cdo.ui.ide",
org.eclipse.emf.cdo.internal.ui.bundle;version="2.0.0";x-internal:=true,
- org.eclipse.emf.cdo.internal.ui.dialogs;version="2.0.0";x-friends:="org.eclipse.emf.cdo.ui.defs",
- org.eclipse.emf.cdo.internal.ui.editor;version="2.0.0";x-friends:="org.eclipse.emf.cdo.ui.defs",
- org.eclipse.emf.cdo.internal.ui.preferences;version="2.0.0";x-friends:="org.eclipse.emf.cdo.ui.defs",
- org.eclipse.emf.cdo.internal.ui.views;version="2.0.0";x-friends:="org.eclipse.emf.cdo.ui.defs",
+ org.eclipse.emf.cdo.internal.ui.dialogs;version="2.0.0";x-friends:="org.eclipse.emf.cdo.ui.defs,org.eclipse.emf.cdo.ui.ide",
+ org.eclipse.emf.cdo.internal.ui.editor;version="2.0.0";x-friends:="org.eclipse.emf.cdo.ui.defs,org.eclipse.emf.cdo.ui.ide",
+ org.eclipse.emf.cdo.internal.ui.preferences;version="2.0.0";x-friends:="org.eclipse.emf.cdo.ui.defs,org.eclipse.emf.cdo.ui.ide",
+ org.eclipse.emf.cdo.internal.ui.views;version="2.0.0";x-friends:="org.eclipse.emf.cdo.ui.defs,org.eclipse.emf.cdo.ui.ide",
org.eclipse.emf.cdo.ui;version="2.0.0",
org.eclipse.emf.cdo.ui.widgets;version="2.0.0"
Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenSessionAction.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenSessionAction.java
index 2c0a4c37c2..68319ab34b 100644
--- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenSessionAction.java
+++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenSessionAction.java
@@ -10,15 +10,11 @@
*/
package org.eclipse.emf.cdo.internal.ui.actions;
-import org.eclipse.emf.cdo.common.protocol.CDOProtocolConstants;
import org.eclipse.emf.cdo.internal.ui.bundle.OM;
import org.eclipse.emf.cdo.internal.ui.dialogs.OpenSessionDialog;
import org.eclipse.emf.cdo.internal.ui.views.CDOSessionsView;
-import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.session.CDOSessionProvider;
-import org.eclipse.emf.internal.cdo.session.CDOSessionFactory;
-
-import org.eclipse.net4j.util.container.IPluginContainer;
import org.eclipse.net4j.util.ui.actions.LongRunningAction;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -34,7 +30,7 @@ public final class OpenSessionAction extends LongRunningAction
private static final String TOOL_TIP = "Open a new CDO session";
- private String description;
+ private CDOSessionProvider sessionProvider;
public OpenSessionAction(IWorkbenchPage page)
{
@@ -47,16 +43,7 @@ public final class OpenSessionAction extends LongRunningAction
OpenSessionDialog dialog = new OpenSessionDialog(getPage());
if (dialog.open() == OpenSessionDialog.OK)
{
- StringBuilder builder = new StringBuilder();
- builder.append(dialog.getServerDescription());
- builder.append("?repositoryName=");
- builder.append(dialog.getRepositoryName());
- if (dialog.isAutomaticPackageRegistry())
- {
- builder.append("&automaticPackageRegistry=true");
- }
-
- description = builder.toString();
+ sessionProvider = dialog.getSessionComposite();
}
else
{
@@ -67,41 +54,21 @@ public final class OpenSessionAction extends LongRunningAction
@Override
protected void doRun(IProgressMonitor progressMonitor) throws Exception
{
- CDOSession session = null;
-
try
{
- String productGroup = CDOSessionFactory.PRODUCT_GROUP;
- String type = CDOProtocolConstants.PROTOCOL_NAME;
- session = (CDOSession)IPluginContainer.INSTANCE.getElement(productGroup, type, description);
+ sessionProvider.getSession();
}
- catch (RuntimeException ex)
+ catch (final RuntimeException ex)
{
OM.LOG.error(ex);
- }
-
- if (session == null)
- {
- try
+ getShell().getDisplay().syncExec(new Runnable()
{
- getShell().getDisplay().syncExec(new Runnable()
+ public void run()
{
- public void run()
- {
- try
- {
- MessageDialog.openError(getShell(), getText(), "Unable to open a session on the specified repository.\n"
- + description);
- }
- catch (RuntimeException ignoe)
- {
- }
- }
- });
- }
- catch (RuntimeException ignoe)
- {
- }
+ MessageDialog.openError(getShell(), getText(), "Unable to open a session on the specified repository.\n"
+ + ex.getMessage());
+ }
+ });
}
}
}
diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/OpenSessionDialog.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/OpenSessionDialog.java
index cfbfba2456..215ec312f1 100644
--- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/OpenSessionDialog.java
+++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/OpenSessionDialog.java
@@ -11,16 +11,12 @@
package org.eclipse.emf.cdo.internal.ui.dialogs;
import org.eclipse.emf.cdo.internal.ui.SharedIcons;
-import org.eclipse.emf.cdo.internal.ui.bundle.OM;
import org.eclipse.emf.cdo.ui.widgets.SessionComposite;
-import org.eclipse.net4j.util.ui.widgets.PreferenceButton;
-
import org.eclipse.jface.dialogs.TitleAreaDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchPage;
@@ -33,15 +29,7 @@ public class OpenSessionDialog extends TitleAreaDialog
private IWorkbenchPage page;
- private PreferenceButton automaticButton;
-
- private SessionComposite composite;
-
- private boolean automaticPackageRegistry;
-
- private String serverDescription;
-
- private String repositoryName;
+ private SessionComposite sessionComposite;
public OpenSessionDialog(IWorkbenchPage page)
{
@@ -55,19 +43,9 @@ public class OpenSessionDialog extends TitleAreaDialog
return page;
}
- public String getServerDescription()
- {
- return serverDescription;
- }
-
- public String getRepositoryName()
- {
- return repositoryName;
- }
-
- public boolean isAutomaticPackageRegistry()
+ public SessionComposite getSessionComposite()
{
- return automaticPackageRegistry;
+ return sessionComposite;
}
@Override
@@ -80,28 +58,9 @@ public class OpenSessionDialog extends TitleAreaDialog
@Override
protected Control createDialogArea(Composite parent)
{
- composite = new SessionComposite(parent, SWT.NONE);
-
setTitle(TITLE);
setTitleImage(SharedIcons.getImage(SharedIcons.WIZBAN_PACKAGE_MANAGER));
-
- new Label(composite, SWT.NONE);
- automaticButton = new PreferenceButton(composite, SWT.CHECK, "Automatic Package Registry",
- OM.PREF_AUTOMATIC_PACKAGE_REGISTRY);
-
- return composite;
- }
-
- @Override
- protected void okPressed()
- {
- serverDescription = composite.getServerDescription();
- repositoryName = composite.getRepositoryName();
- automaticPackageRegistry = automaticButton.getSelection(true);
- super.okPressed();
- }
-
- public void closeWithSuccess()
- {
+ sessionComposite = new SessionComposite(parent, SWT.NONE);
+ return sessionComposite;
}
}
diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/widgets/SessionComposite.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/widgets/SessionComposite.java
index 9227d4d84e..35fca1eb25 100644
--- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/widgets/SessionComposite.java
+++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/widgets/SessionComposite.java
@@ -12,11 +12,15 @@
package org.eclipse.emf.cdo.ui.widgets;
import org.eclipse.emf.cdo.internal.ui.bundle.OM;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.session.CDOSessionProvider;
import org.eclipse.net4j.util.collection.IHistory;
import org.eclipse.net4j.util.collection.PreferenceHistory;
+import org.eclipse.net4j.util.container.IPluginContainer;
import org.eclipse.net4j.util.ui.UIUtil;
import org.eclipse.net4j.util.ui.widgets.HistoryText;
+import org.eclipse.net4j.util.ui.widgets.PreferenceButton;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.FocusEvent;
@@ -29,7 +33,7 @@ import org.eclipse.swt.widgets.Label;
/**
* @author Victor Roldan Betancort
*/
-public class SessionComposite extends Composite
+public class SessionComposite extends Composite implements CDOSessionProvider
{
private IHistory<String> connectorHistory = new PreferenceHistory(OM.PREF_HISTORY_CONNECTORS);
@@ -41,6 +45,10 @@ public class SessionComposite extends Composite
private HistoryText repositoryText;
+ private PreferenceButton automaticButton;
+
+ private String sessionDescription;
+
public SessionComposite(Composite parent, int style)
{
super(parent, style);
@@ -55,7 +63,7 @@ public class SessionComposite extends Composite
{
new Label(this, SWT.NONE);
exampleLabel = new Label(this, SWT.NONE);
- exampleLabel.setText("for example 'tcp://estepper@dev.eclipse.org:2036'");
+ exampleLabel.setText("for example 'tcp://dev.eclipse.org:2036'");
exampleLabel.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY));
}
@@ -82,15 +90,59 @@ public class SessionComposite extends Composite
}
}
});
+
+ new Label(this, SWT.NONE);
+ automaticButton = new PreferenceButton(this, SWT.CHECK, "Automatic Package Registry",
+ OM.PREF_AUTOMATIC_PACKAGE_REGISTRY);
+ }
+
+ @Override
+ public void dispose()
+ {
+ assembleSessionDescription();
+ super.dispose();
+ }
+
+ public CDOSession getSession()
+ {
+ String description = getSessionDescription();
+ return (CDOSession)getContainer().getElement("org.eclipse.emf.cdo.sessions", "cdo", description);
+ }
+
+ public String getSessionDescription()
+ {
+ try
+ {
+ String description = sessionDescription;
+ if (description == null)
+ {
+ description = assembleSessionDescription();
+ }
+
+ return description;
+ }
+ finally
+ {
+ sessionDescription = null;
+ }
}
- public String getServerDescription()
+ protected IPluginContainer getContainer()
{
- return connectorText.getText(true);
+ return IPluginContainer.INSTANCE;
}
- public String getRepositoryName()
+ protected String assembleSessionDescription()
{
- return repositoryText.getText(true);
+ StringBuilder builder = new StringBuilder();
+ builder.append(connectorText.getText(true));
+ builder.append("?repositoryName=");
+ builder.append(repositoryText.getText(true));
+ if (automaticButton.getSelection(true))
+ {
+ builder.append("&automaticPackageRegistry=true");
+ }
+
+ return builder.toString();
}
}

Back to the top