Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.ui')
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/TransactionalBackgroundAction.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/TransactionalBackgroundAction.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/TransactionalBackgroundAction.java
index 4e3b5c483f..94ca9c1693 100644
--- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/TransactionalBackgroundAction.java
+++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/TransactionalBackgroundAction.java
@@ -42,15 +42,20 @@ public abstract class TransactionalBackgroundAction extends LongRunningAction
return object;
}
- @Override
- protected final void doRun(IProgressMonitor progressMonitor) throws Exception
+ protected CDOTransaction openTransaction(CDOObject object)
{
- progressMonitor.beginTask(Messages.getString("TransactionalBackgroundAction_1"), 100); //$NON-NLS-1$
-
CDOView view = object.cdoView();
CDOTransaction transaction = view.getSession().openTransaction(view.getBranch());
OpenTransactionAction.configureTransaction(transaction);
+ return transaction;
+ }
+
+ @Override
+ protected final void doRun(IProgressMonitor progressMonitor) throws Exception
+ {
+ progressMonitor.beginTask(Messages.getString("TransactionalBackgroundAction_1"), 100); //$NON-NLS-1$
+ CDOTransaction transaction = openTransaction(object);
CDOObject transactionalObject = transaction.getObject(object);
progressMonitor.worked(5);
@@ -70,6 +75,7 @@ public abstract class TransactionalBackgroundAction extends LongRunningAction
if (commitInfo != null)
{
+ CDOView view = object.cdoView();
view.waitForUpdate(commitInfo.getTimeStamp(), 5000);
postRun(view, object);
}

Back to the top