Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/UpdateConfigurationJob.java')
-rw-r--r--org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/UpdateConfigurationJob.java53
1 files changed, 26 insertions, 27 deletions
diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/UpdateConfigurationJob.java b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/UpdateConfigurationJob.java
index a630b598..b62ab048 100644
--- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/UpdateConfigurationJob.java
+++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/UpdateConfigurationJob.java
@@ -28,12 +28,13 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.progress.IProgressConstants;
import org.eclipse.m2e.core.MavenPlugin;
import org.eclipse.m2e.core.core.IMavenConstants;
import org.eclipse.m2e.core.project.IMavenProjectFacade;
+import org.eclipse.m2e.core.project.IProjectConfigurationManager;
+import org.eclipse.m2e.core.project.MavenUpdateRequest;
import org.eclipse.m2e.core.ui.internal.actions.OpenMavenConsoleAction;
import org.eclipse.m2e.core.ui.internal.util.M2EUIUtils;
@@ -41,29 +42,28 @@ import org.eclipse.m2e.core.ui.internal.util.M2EUIUtils;
public class UpdateConfigurationJob extends WorkspaceJob {
private static final Logger log = LoggerFactory.getLogger(UpdateConfigurationJob.class);
- private IProject[] projects;
+ private final IProject[] projects;
- private Shell shell;
+ private final boolean offline;
+
+ private final boolean forceUpdate;
public UpdateConfigurationJob(IProject[] projects) {
- this(projects, null);
+ this(projects, MavenPlugin.getMavenConfiguration().isOffline(), false /*forceUpdate*/);
}
- public UpdateConfigurationJob(IProject[] projects, Shell shell) {
- this(shell);
+ public UpdateConfigurationJob(IProject[] projects, boolean offline, boolean forceUpdate) {
+ super(Messages.UpdateSourcesAction_job_update_conf);
this.projects = projects;
- }
+ this.offline = offline;
+ this.forceUpdate = forceUpdate;
- private UpdateConfigurationJob(Shell shell) {
- super(Messages.UpdateSourcesAction_job_update_conf);
- this.shell = shell;
setRule(MavenPlugin.getProjectConfigurationManager().getRule());
}
- /* (non-Javadoc)
- * @see org.eclipse.core.resources.WorkspaceJob#runInWorkspace(org.eclipse.core.runtime.IProgressMonitor)
- */
public IStatus runInWorkspace(IProgressMonitor monitor) {
+ IProjectConfigurationManager configurationManager = MavenPlugin.getProjectConfigurationManager();
+
setProperty(IProgressConstants.ACTION_PROPERTY, new OpenMavenConsoleAction());
monitor.beginTask(getName(), projects.length);
@@ -82,23 +82,23 @@ public class UpdateConfigurationJob extends WorkspaceJob {
monitor.subTask(project.getName());
IMavenProjectFacade projectFacade = MavenPlugin.getMavenProjectRegistry().create(project, monitor);
if(projectFacade != null) {
- try {
- MavenPlugin.getProjectConfigurationManager().updateProjectConfiguration(project, //
- new SubProgressMonitor(monitor, 1));
- } catch(CoreException ex) {
- if(status == null) {
+ try {
+ MavenUpdateRequest request = new MavenUpdateRequest(project, offline, forceUpdate);
+ configurationManager.updateProjectConfiguration(request, new SubProgressMonitor(monitor, 1));
+ } catch(CoreException ex) {
+ if(status == null) {
+ status = new MultiStatus(IMavenConstants.PLUGIN_ID, IStatus.ERROR, //
+ Messages.UpdateSourcesAction_error_cannot_update, null);
+ }
+ status.add(ex.getStatus());
+ updateErrors.put(project.getName(), ex);
+ } catch(IllegalArgumentException e) {
status = new MultiStatus(IMavenConstants.PLUGIN_ID, IStatus.ERROR, //
Messages.UpdateSourcesAction_error_cannot_update, null);
+ updateErrors.put(project.getName(), e);
}
- status.add(ex.getStatus());
- updateErrors.put(project.getName(), ex);
- } catch(IllegalArgumentException e) {
- status = new MultiStatus(IMavenConstants.PLUGIN_ID, IStatus.ERROR, //
- Messages.UpdateSourcesAction_error_cannot_update, null);
- updateErrors.put(project.getName(), e);
}
}
- }
if(updateErrors.size() > 0) {
handleErrors(updateErrors);
}
@@ -112,9 +112,8 @@ public class UpdateConfigurationJob extends WorkspaceJob {
final Display display = Display.getDefault();
if(display != null) {
display.asyncExec(new Runnable() {
-
public void run() {
- M2EUIUtils.showErrorsForProjectsDialog(shell != null ? shell : display.getActiveShell(),
+ M2EUIUtils.showErrorsForProjectsDialog(display.getActiveShell(),
Messages.UpdateSourcesAction_error_title, Messages.UpdateSourcesAction_error_message, updateErrors);
}
});

Back to the top