diff options
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.java | 14 |
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); } |