Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.ui/src/org/eclipse')
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenDurableViewAction.java3
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenTransactionAction.java20
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RemoveResourceActionDelegate.java10
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/TransactionalBackgroundActionDelegate.java8
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/dialogs/OpenSessionDialog.java11
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOSessionsView.java3
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java8
7 files changed, 44 insertions, 19 deletions
diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenDurableViewAction.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenDurableViewAction.java
index 9ac41c0cc8..aae78eb29e 100644
--- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenDurableViewAction.java
+++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenDurableViewAction.java
@@ -16,7 +16,6 @@ import org.eclipse.emf.cdo.internal.ui.dialogs.OpenDurableViewDialog;
import org.eclipse.emf.cdo.internal.ui.messages.Messages;
import org.eclipse.emf.cdo.session.CDOSession;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
-import org.eclipse.emf.cdo.transaction.CDOTransactionCommentator;
import org.eclipse.emf.cdo.ui.shared.SharedIcons;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -59,7 +58,7 @@ public final class OpenDurableViewAction extends AbstractOpenViewAction
{
CDOSession session = getSession();
CDOTransaction transaction = session.openTransaction(areaID);
- new CDOTransactionCommentator(transaction);
+ OpenTransactionAction.configureTransaction(transaction);
}
catch (IllegalStateException ex)
{
diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenTransactionAction.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenTransactionAction.java
index 61317f6d32..5123c5cd5b 100644
--- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenTransactionAction.java
+++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenTransactionAction.java
@@ -17,6 +17,8 @@ import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.emf.cdo.transaction.CDOTransactionCommentator;
import org.eclipse.emf.cdo.ui.shared.SharedIcons;
+import org.eclipse.emf.spi.cdo.CDOMergingConflictResolver;
+
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.ui.IWorkbenchPage;
@@ -37,10 +39,20 @@ public final class OpenTransactionAction extends AbstractOpenViewAction
@Override
protected void doRun(IProgressMonitor progressMonitor) throws Exception
{
- CDOTransaction transaction = getSession().openTransaction();
- new CDOTransactionCommentator(transaction);
+ CDOSession session = getSession();
+ openTransaction(session);
+ }
+
+ public static CDOTransaction openTransaction(CDOSession session)
+ {
+ CDOTransaction transaction = session.openTransaction();
+ configureTransaction(transaction);
+ return transaction;
+ }
- // CDOTransaction transaction = getSession().openTransaction();
- // transaction.options().getConflictResolvers().add(new CDOObjectConflictResolver.MergeLocalChangesPerFeature());
+ public static void configureTransaction(CDOTransaction transaction)
+ {
+ transaction.options().addConflictResolver(new CDOMergingConflictResolver());
+ new CDOTransactionCommentator(transaction);
}
}
diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RemoveResourceActionDelegate.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RemoveResourceActionDelegate.java
index 8d21334bef..3450b46141 100644
--- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RemoveResourceActionDelegate.java
+++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/RemoveResourceActionDelegate.java
@@ -15,10 +15,10 @@ import org.eclipse.emf.cdo.CDOObject;
import org.eclipse.emf.cdo.eresource.CDOResource;
import org.eclipse.emf.cdo.eresource.CDOResourceFolder;
import org.eclipse.emf.cdo.eresource.CDOResourceNode;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-import org.eclipse.emf.cdo.transaction.CDOTransactionCommentator;
import org.eclipse.emf.cdo.internal.ui.bundle.OM;
import org.eclipse.emf.cdo.internal.ui.messages.Messages;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.net4j.util.ui.UIUtil;
@@ -78,12 +78,12 @@ public class RemoveResourceActionDelegate implements IObjectActionDelegate
Map<Integer, CDOTransaction> repositoryToTransaction = new HashMap<Integer, CDOTransaction>();
for (CDOResourceNode node : nodes)
{
- int sessionID = node.cdoView().getSession().getSessionID();
+ CDOSession session = node.cdoView().getSession();
+ int sessionID = session.getSessionID();
CDOTransaction transaction = repositoryToTransaction.get(sessionID);
if (transaction == null)
{
- transaction = node.cdoView().getSession().openTransaction();
- new CDOTransactionCommentator(transaction);
+ transaction = OpenTransactionAction.openTransaction(session);
repositoryToTransaction.put(sessionID, transaction);
}
diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/TransactionalBackgroundActionDelegate.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/TransactionalBackgroundActionDelegate.java
index a2d5fddd07..53bb077505 100644
--- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/TransactionalBackgroundActionDelegate.java
+++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/TransactionalBackgroundActionDelegate.java
@@ -12,9 +12,9 @@
package org.eclipse.emf.cdo.internal.ui.actions;
import org.eclipse.emf.cdo.CDOObject;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-import org.eclipse.emf.cdo.transaction.CDOTransactionCommentator;
import org.eclipse.emf.cdo.internal.ui.messages.Messages;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.emf.cdo.view.CDOView;
import org.eclipse.net4j.util.AdapterUtil;
@@ -104,8 +104,8 @@ public abstract class TransactionalBackgroundActionDelegate extends LongRunningA
*/
protected CDOObject preRun(CDOObject object)
{
- CDOTransaction transaction = object.cdoView().getSession().openTransaction();
- new CDOTransactionCommentator(transaction);
+ CDOSession session = object.cdoView().getSession();
+ CDOTransaction transaction = OpenTransactionAction.openTransaction(session);
CDOObject transactionalObject = transaction.getObject(object);
return transactionalObject;
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 bf4f0a519d..d970fa7e10 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
@@ -17,6 +17,7 @@ import org.eclipse.emf.cdo.ui.widgets.SessionComposite;
import org.eclipse.jface.dialogs.TitleAreaDialog;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
@@ -29,6 +30,10 @@ public class OpenSessionDialog extends TitleAreaDialog
{
public static final String TITLE = Messages.getString("OpenSessionDialog.0"); //$NON-NLS-1$
+ private static final int WIDTH = 380;
+
+ private static final int HEIGHT = 240;
+
private IWorkbenchPage page;
private SessionComposite sessionComposite;
@@ -55,7 +60,11 @@ public class OpenSessionDialog extends TitleAreaDialog
{
super.configureShell(newShell);
newShell.setText(TITLE);
- newShell.setSize(380, 240);
+
+ Rectangle bounds = page.getWorkbenchWindow().getShell().getBounds();
+ int x = bounds.x + (bounds.width - WIDTH) / 2;
+ int y = bounds.y + (bounds.height - HEIGHT) / 2;
+ newShell.setBounds(x, y, WIDTH, HEIGHT);
}
@Override
diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOSessionsView.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOSessionsView.java
index 407b9618a0..3a171e1b5a 100644
--- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOSessionsView.java
+++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOSessionsView.java
@@ -12,6 +12,7 @@ package org.eclipse.emf.cdo.internal.ui.views;
import org.eclipse.emf.cdo.eresource.CDOResourceLeaf;
import org.eclipse.emf.cdo.internal.ui.actions.OpenSessionAction;
+import org.eclipse.emf.cdo.internal.ui.actions.OpenTransactionAction;
import org.eclipse.emf.cdo.internal.ui.transfer.RepositoryTransferDragListener;
import org.eclipse.emf.cdo.session.CDOSession;
import org.eclipse.emf.cdo.transfer.ui.TransferDropAdapter;
@@ -100,7 +101,7 @@ public class CDOSessionsView extends ContainerView
CDOSession session = (CDOSession)object;
if (session.getViews().length == 0)
{
- session.openTransaction();
+ OpenTransactionAction.openTransaction(session);
return;
}
}
diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java
index 2c12579932..48527278e6 100644
--- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java
@@ -678,9 +678,12 @@ public class CDOItemProvider extends ContainerItemProvider<IContainer<Object>>
{
super.elementAdded(element, parent);
+ // TODO Remove listeners?
+
if (element instanceof CDOSession)
{
- ((CDOSession)element).addListener(new IListener()
+ CDOSession session = (CDOSession)element;
+ session.addListener(new IListener()
{
public void notifyEvent(IEvent event)
{
@@ -694,7 +697,8 @@ public class CDOItemProvider extends ContainerItemProvider<IContainer<Object>>
if (element instanceof CDOView)
{
- ((CDOView)element).addListener(new IListener()
+ final CDOView view = (CDOView)element;
+ view.addListener(new IListener()
{
public void notifyEvent(IEvent event)
{

Back to the top