diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.ui/src/org/eclipse')
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) { |