Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2012-04-18 10:18:08 +0000
committerEike Stepper2012-04-18 10:18:08 +0000
commit604d4fb599ca3c0faba611e7fb4ec6f993ed97a4 (patch)
tree2811de5216db264c3c60fb994ec7a7ac934541a6 /plugins/org.eclipse.emf.cdo.dawn.ui
parentfe4ee6fcdf34bc2c5a73037781a97b3b577abeb8 (diff)
downloadcdo-604d4fb599ca3c0faba611e7fb4ec6f993ed97a4.tar.gz
cdo-604d4fb599ca3c0faba611e7fb4ec6f993ed97a4.tar.xz
cdo-604d4fb599ca3c0faba611e7fb4ec6f993ed97a4.zip
[376582] [UI] Possibility to choose the Editor for CDO resources
https://bugs.eclipse.org/bugs/show_bug.cgi?id=376582
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.dawn.ui')
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/views/DawnExplorer.java345
1 files changed, 172 insertions, 173 deletions
diff --git a/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/views/DawnExplorer.java b/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/views/DawnExplorer.java
index 983b024c29..f01675a6f6 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/views/DawnExplorer.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.ui/src/org/eclipse/emf/cdo/dawn/ui/views/DawnExplorer.java
@@ -1,173 +1,172 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.ui.views;
-
-import org.eclipse.emf.cdo.dawn.internal.ui.bundle.OM;
-import org.eclipse.emf.cdo.dawn.preferences.PreferenceConstants;
-import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
-import org.eclipse.emf.cdo.dawn.ui.helper.EditorDescriptionHelper;
-import org.eclipse.emf.cdo.dawn.util.connection.CDOConnectionUtil;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.internal.ui.editor.CDOEditor;
-import org.eclipse.emf.cdo.internal.ui.views.CDOSessionsView;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-import org.eclipse.emf.cdo.ui.CDOEditorInput;
-import org.eclipse.emf.cdo.ui.CDOEditorUtil;
-import org.eclipse.emf.cdo.view.CDOView;
-
-import org.eclipse.net4j.connector.ConnectorException;
-import org.eclipse.net4j.util.container.IContainer;
-import org.eclipse.net4j.util.om.trace.ContextTracer;
-import org.eclipse.net4j.util.ui.views.ContainerItemProvider;
-import org.eclipse.net4j.util.ui.views.IElementFilter;
-
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.PartInitException;
-
-/**
- * @author Martin Fluegge
- */
-public class DawnExplorer extends CDOSessionsView
-{
- private static final int DEFAULT_SLEEP_INTERVAL = 5000;
-
- private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DawnExplorer.class);
-
- public static final String ID = "org.eclipse.emf.cdo.dawn.ui.views.DawnExplorer";
-
- private CDOView view;
-
- public CDOView getView()
- {
- return view;
- }
-
- /**
- * The constructor.
- */
- public DawnExplorer()
- {
- boolean initialize = initialize();
-
- if (!initialize)
- {
- Thread thread = new Thread(new Runnable()
- {
- public void run()
- {
- while (!initialize())
- {
- try
- {
- Thread.sleep(DEFAULT_SLEEP_INTERVAL);
- }
- catch (InterruptedException ex)
- {
- ex.printStackTrace();
- }
- }
- }
- });
- thread.start();
- }
- }
-
- /**
- * Initializes the view of the DawnExplorer
- */
- private boolean initialize()
- {
- try
- {
- CDOConnectionUtil.instance.init(PreferenceConstants.getRepositoryName(), PreferenceConstants.getProtocol(),
- PreferenceConstants.getServerName());
- CDOSession session = CDOConnectionUtil.instance.openSession();
- view = CDOConnectionUtil.instance.openView(session);
- }
- catch (ConnectorException ex)
- {
- return false;
- }
- return true;
- }
-
- @Override
- public void dispose()
- {
- // actually no one else should use this view
- view.close();
- }
-
- @Override
- protected ContainerItemProvider<IContainer<Object>> createContainerItemProvider()
- {
- return new DawnItemProvider(getSite().getPage(), this, new IElementFilter()
- {
- public boolean filter(Object element)
- {
- return element instanceof CDOSession;
- }
- });
- }
-
- @Override
- protected void hookDoubleClick()
- {
- getViewer().addDoubleClickListener(new IDoubleClickListener()
- {
- public void doubleClick(DoubleClickEvent event)
- {
- Object obj = ((IStructuredSelection)event.getSelection()).getFirstElement();
- if (obj instanceof CDOResource)
- {
- CDOResource resource = (CDOResource)obj;
-
- if (TRACER.isEnabled())
- {
- TRACER.format("Opening CDOResource {0} ", resource); //$NON-NLS-1$
- }
-
- String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resource.getName());
-
- if (editorID != null && !editorID.equals(""))
- {
- try
- {
- DawnEditorInput editorInput = new DawnEditorInput(resource.getURI());
- DawnExplorer.this.getSite().getPage().openEditor(editorInput, editorID);
- }
- catch (PartInitException e)
- {
- e.printStackTrace();
- }
- }
- else
- {
- CDOTransaction transaction = view.getSession().openTransaction();
- CDOEditorInput editorInput = CDOEditorUtil.createCDOEditorInput(transaction, ((CDOResource)obj).getPath(),
- true);
- try
- {
- DawnExplorer.this.getSite().getPage().openEditor(editorInput, CDOEditor.EDITOR_ID);
- }
- catch (PartInitException e)
- {
- e.printStackTrace();
- }
- }
- }
- }
- });
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.ui.views;
+
+import org.eclipse.emf.cdo.dawn.internal.ui.bundle.OM;
+import org.eclipse.emf.cdo.dawn.preferences.PreferenceConstants;
+import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
+import org.eclipse.emf.cdo.dawn.ui.helper.EditorDescriptionHelper;
+import org.eclipse.emf.cdo.dawn.util.connection.CDOConnectionUtil;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.internal.ui.views.CDOSessionsView;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.ui.CDOEditorInput;
+import org.eclipse.emf.cdo.ui.CDOEditorUtil;
+import org.eclipse.emf.cdo.view.CDOView;
+
+import org.eclipse.net4j.connector.ConnectorException;
+import org.eclipse.net4j.util.container.IContainer;
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+import org.eclipse.net4j.util.ui.views.ContainerItemProvider;
+import org.eclipse.net4j.util.ui.views.IElementFilter;
+
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnExplorer extends CDOSessionsView
+{
+ private static final int DEFAULT_SLEEP_INTERVAL = 5000;
+
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, DawnExplorer.class);
+
+ public static final String ID = "org.eclipse.emf.cdo.dawn.ui.views.DawnExplorer";
+
+ private CDOView view;
+
+ public CDOView getView()
+ {
+ return view;
+ }
+
+ /**
+ * The constructor.
+ */
+ public DawnExplorer()
+ {
+ boolean initialize = initialize();
+
+ if (!initialize)
+ {
+ Thread thread = new Thread(new Runnable()
+ {
+ public void run()
+ {
+ while (!initialize())
+ {
+ try
+ {
+ Thread.sleep(DEFAULT_SLEEP_INTERVAL);
+ }
+ catch (InterruptedException ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ }
+ });
+ thread.start();
+ }
+ }
+
+ /**
+ * Initializes the view of the DawnExplorer
+ */
+ private boolean initialize()
+ {
+ try
+ {
+ CDOConnectionUtil.instance.init(PreferenceConstants.getRepositoryName(), PreferenceConstants.getProtocol(),
+ PreferenceConstants.getServerName());
+ CDOSession session = CDOConnectionUtil.instance.openSession();
+ view = CDOConnectionUtil.instance.openView(session);
+ }
+ catch (ConnectorException ex)
+ {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public void dispose()
+ {
+ // actually no one else should use this view
+ view.close();
+ }
+
+ @Override
+ protected ContainerItemProvider<IContainer<Object>> createContainerItemProvider()
+ {
+ return new DawnItemProvider(getSite().getPage(), this, new IElementFilter()
+ {
+ public boolean filter(Object element)
+ {
+ return element instanceof CDOSession;
+ }
+ });
+ }
+
+ @Override
+ protected void hookDoubleClick()
+ {
+ getViewer().addDoubleClickListener(new IDoubleClickListener()
+ {
+ public void doubleClick(DoubleClickEvent event)
+ {
+ Object obj = ((IStructuredSelection)event.getSelection()).getFirstElement();
+ if (obj instanceof CDOResource)
+ {
+ CDOResource resource = (CDOResource)obj;
+
+ if (TRACER.isEnabled())
+ {
+ TRACER.format("Opening CDOResource {0} ", resource); //$NON-NLS-1$
+ }
+
+ String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resource.getName());
+
+ if (editorID != null && !editorID.equals(""))
+ {
+ try
+ {
+ DawnEditorInput editorInput = new DawnEditorInput(resource.getURI());
+ DawnExplorer.this.getSite().getPage().openEditor(editorInput, editorID);
+ }
+ catch (PartInitException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ else
+ {
+ CDOTransaction transaction = view.getSession().openTransaction();
+ CDOEditorInput editorInput = CDOEditorUtil.createCDOEditorInput(transaction, ((CDOResource)obj).getPath(),
+ true);
+ try
+ {
+ DawnExplorer.this.getSite().getPage().openEditor(editorInput, CDOEditorUtil.getEditorID());
+ }
+ catch (PartInitException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+ });
+ }
+}

Back to the top