Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushOperationUI.java')
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushOperationUI.java57
1 files changed, 16 insertions, 41 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushOperationUI.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushOperationUI.java
index c948725f0d..f859481db8 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushOperationUI.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/push/PushOperationUI.java
@@ -19,19 +19,14 @@ import java.util.List;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.egit.core.op.PushOperation;
import org.eclipse.egit.core.op.PushOperationResult;
import org.eclipse.egit.core.op.PushOperationSpecification;
import org.eclipse.egit.ui.Activator;
-import org.eclipse.egit.ui.JobFamilies;
import org.eclipse.egit.ui.UIPreferences;
import org.eclipse.egit.ui.internal.UIText;
import org.eclipse.egit.ui.internal.credentials.EGitCredentialsProvider;
-import org.eclipse.egit.ui.internal.jobs.RepositoryJob;
-import org.eclipse.jface.action.IAction;
import org.eclipse.jgit.errors.NotSupportedException;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.transport.CredentialsProvider;
@@ -218,48 +213,28 @@ public class PushOperationUI {
}
/**
- * Starts the operation asynchronously showing a confirmation dialog after
- * completion
+ * Starts the operation asynchronously.
*/
public void start() {
final Repository repo = repository;
if (repo == null) {
return;
}
- Job job = new RepositoryJob(NLS.bind(UIText.PushOperationUI_PushJobName,
- destinationString)) {
-
- private PushOperationResult result;
-
- @Override
- protected IStatus performJob(IProgressMonitor monitor) {
- try {
- result = execute(monitor);
- } catch (CoreException e) {
- return Activator.createErrorStatus(e.getStatus()
- .getMessage(), e);
- }
- return Status.OK_STATUS;
- }
-
- @Override
- protected IAction getAction() {
- if (expectedResult == null || !expectedResult.equals(result)) {
- return new ShowPushResultAction(repo, result,
- destinationString, showConfigureButton);
- }
- return null;
- }
-
- @Override
- public boolean belongsTo(Object family) {
- if (JobFamilies.PUSH.equals(family)) {
- return true;
- }
- return super.belongsTo(family);
- }
-
- };
+ try {
+ createPushOperation();
+ } catch (CoreException e) {
+ Activator.showErrorStatus(e.getLocalizedMessage(), e.getStatus());
+ return;
+ }
+ if (credentialsProvider != null) {
+ op.setCredentialsProvider(credentialsProvider);
+ } else {
+ op.setCredentialsProvider(new EGitCredentialsProvider());
+ }
+ Job job = new PushJob(
+ NLS.bind(UIText.PushOperationUI_PushJobName, destinationString),
+ repo, op, expectedResult, destinationString,
+ showConfigureButton);
job.setUser(true);
job.schedule();
}

Back to the top