Author: snjeza
Date: 2012-05-25 18:00:05 -0400 (Fri, 25 May 2012)
New Revision: 41451
Added:
trunk/maven/plugins/org.jboss.tools.maven.ui/icons/resolved.gif
trunk/maven/plugins/org.jboss.tools.maven.ui/icons/unresolved.gif
Modified:
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/internal/markers/ConfigureMavenRepositoriesMarkerResolution.java
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/internal/markers/MavenDependencyMarkerResolutionGenerator.java
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/wizard/AddRepositoryDialog.java
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/wizard/ConfigureMavenRepositoriesWizard.java
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/wizard/ConfigureMavenRepositoriesWizardPage.java
Log:
JBIDE-11953 - UI challenges with "Configure maven repositories"
Added: trunk/maven/plugins/org.jboss.tools.maven.ui/icons/resolved.gif
===================================================================
(Binary files differ)
Property changes on: trunk/maven/plugins/org.jboss.tools.maven.ui/icons/resolved.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/maven/plugins/org.jboss.tools.maven.ui/icons/unresolved.gif
===================================================================
(Binary files differ)
Property changes on: trunk/maven/plugins/org.jboss.tools.maven.ui/icons/unresolved.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified:
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/internal/markers/ConfigureMavenRepositoriesMarkerResolution.java
===================================================================
---
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/internal/markers/ConfigureMavenRepositoriesMarkerResolution.java 2012-05-25
21:50:12 UTC (rev 41450)
+++
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/internal/markers/ConfigureMavenRepositoriesMarkerResolution.java 2012-05-25
22:00:05 UTC (rev 41451)
@@ -12,6 +12,7 @@
import org.eclipse.core.resources.IMarker;
import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.m2e.core.embedder.ArtifactKey;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IMarkerResolution;
@@ -22,9 +23,15 @@
IMarkerResolution2 {
+ private ArtifactKey artifactKey;
+
public ConfigureMavenRepositoriesMarkerResolution() {
}
+ public ConfigureMavenRepositoriesMarkerResolution(ArtifactKey artifactKey) {
+ this.artifactKey = artifactKey;
+ }
+
public String getDescription() {
return getLabel();
}
@@ -37,9 +44,9 @@
return "Configure Maven Repositories";
}
- public void run(IMarker arg0) {
+ public void run(IMarker marker) {
- ConfigureMavenRepositoriesWizard wizard = new ConfigureMavenRepositoriesWizard();
+ ConfigureMavenRepositoriesWizard wizard = new
ConfigureMavenRepositoriesWizard(artifactKey);
WizardDialog dialog = new WizardDialog(Display.getDefault().getActiveShell(), wizard);
dialog.create();
dialog.open();
Modified:
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/internal/markers/MavenDependencyMarkerResolutionGenerator.java
===================================================================
---
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/internal/markers/MavenDependencyMarkerResolutionGenerator.java 2012-05-25
21:50:12 UTC (rev 41450)
+++
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/internal/markers/MavenDependencyMarkerResolutionGenerator.java 2012-05-25
22:00:05 UTC (rev 41451)
@@ -16,6 +16,7 @@
import org.eclipse.m2e.core.internal.IMavenConstants;
import org.eclipse.ui.IMarkerResolution;
import org.eclipse.ui.IMarkerResolutionGenerator2;
+import org.jboss.tools.maven.ui.Activator;
import org.jboss.tools.maven.ui.Messages;
@SuppressWarnings("nls")
@@ -34,6 +35,8 @@
private static final String FAILURE_TO_FIND_STRING = "Failure to find ";
//$NON-NLS-1$
+ private static final String COULD_NOT_FIND_STRING = "Could not find artifact
"; //$NON-NLS-1$
+
enum ResolutionType {
JBOSS_REPO, EAP_REPO, UNSUPPORTED
}
@@ -44,16 +47,17 @@
public IMarkerResolution[] getResolutions(IMarker marker) {
ResolutionType type = getResolutionType(marker);
+ ArtifactKey key = getArtifactKey(marker);
switch (type) {
case JBOSS_REPO:
return new IMarkerResolution[] {
- new ConfigureMavenRepositoriesMarkerResolution(),
+ new ConfigureMavenRepositoriesMarkerResolution(key),
new OpenPageInBrowserMarkerResolution(Messages.Quickfix_setupCommunityRepo,
JBOSS_COMMUNITY_REPO_SETUP_GUIDE_URL)
};
case EAP_REPO:
return new IMarkerResolution[] {
- new ConfigureMavenRepositoriesMarkerResolution(),
+ new ConfigureMavenRepositoriesMarkerResolution(key),
new OpenPageInBrowserMarkerResolution(Messages.Quickfix_setupEnterpriseRepo,
JBOSS_ENTERPRISE_REPO_SETUP_GUIDE_URL)
};
@@ -93,7 +97,7 @@
}
}
} catch (CoreException e) {
- e.printStackTrace();
+ Activator.log(e);
}
return key;
}
@@ -108,10 +112,18 @@
}
private ArtifactKey parsePomLoadingErrorMessage(String message) {
+ ArtifactKey key = parseMessage(message, FAILURE_TO_FIND_STRING);
+ if (key == null) {
+ key = parseMessage(message, COULD_NOT_FIND_STRING);
+ }
+ return key;
+ }
+
+ protected ArtifactKey parseMessage(String message, String text) {
+ int start = message.indexOf(text);
ArtifactKey key = null;
- int start = message.indexOf(FAILURE_TO_FIND_STRING);
if (start > -1) {
- int from = FAILURE_TO_FIND_STRING.length()+start;
+ int from = text.length()+start;
String keyString = message.substring(from, message.indexOf(" ", from));
key = extractKey(key, keyString);
}
@@ -120,16 +132,16 @@
private ArtifactKey extractKey(ArtifactKey key, String keyString) {
String[] keyAsArray = keyString.trim().split(":"); //$NON-NLS-1$
- if (keyAsArray.length > 3) {
+ if (keyAsArray.length >= 3) {
String groupId = keyAsArray[0];
String artifactId = keyAsArray[1];
String classifier = null;
String version;
- if (keyAsArray.length > 4) {
- classifier = keyAsArray[3];
- version = keyAsArray[4];
+ if (keyAsArray.length > 3) {
+ classifier = keyAsArray[2];
+ version = keyAsArray[3];
} else {
- version = keyAsArray[3];
+ version = keyAsArray[2];
}
key = new ArtifactKey(groupId, artifactId, version, classifier);
}
Modified:
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/wizard/AddRepositoryDialog.java
===================================================================
---
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/wizard/AddRepositoryDialog.java 2012-05-25
21:50:12 UTC (rev 41450)
+++
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/wizard/AddRepositoryDialog.java 2012-05-25
22:00:05 UTC (rev 41451)
@@ -10,13 +10,18 @@
import java.util.TreeSet;
import org.apache.maven.repository.RepositorySystem;
+import org.apache.maven.repository.internal.MavenRepositorySystemSession;
import org.apache.maven.settings.Profile;
import org.apache.maven.settings.Repository;
import org.apache.maven.settings.Settings;
+import org.codehaus.plexus.DefaultPlexusContainer;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.dialogs.IMessageProvider;
@@ -29,6 +34,7 @@
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.m2e.core.MavenPlugin;
+import org.eclipse.m2e.core.embedder.ArtifactKey;
import org.eclipse.m2e.core.embedder.IMaven;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
@@ -43,11 +49,19 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.DirectoryDialog;
+import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.jboss.tools.maven.ui.Activator;
+import org.sonatype.aether.artifact.Artifact;
+import org.sonatype.aether.repository.LocalRepository;
+import org.sonatype.aether.repository.RemoteRepository;
+import org.sonatype.aether.resolution.ArtifactRequest;
+import org.sonatype.aether.resolution.ArtifactResolutionException;
+import org.sonatype.aether.resolution.ArtifactResult;
+import org.sonatype.aether.util.artifact.DefaultArtifact;
public class AddRepositoryDialog extends TitleAreaDialog {
@@ -76,7 +90,7 @@
private Text idText;
private Text urlText;
private Text nameText;
- private Image jbossImage;
+ private Image jbossImage, resolvedImage, unresolvedImage;
private IDialogSettings dialogSettings;
private String localRepository;
private ControlDecoration profileComboDecoration;
@@ -87,16 +101,21 @@
private ControlDecoration urlExistsTextDecoration;
private RepositoryWrapper repositoryWrapper;
+ private ArtifactKey artifactKey;
+ private Label artifactLabel;
+ private String coords;
+ private Label artifactImageLabel;
public AddRepositoryDialog(Shell parentShell,
Set<RepositoryWrapper> availableRepositories,
- Set<RepositoryWrapper> includedRepositories, IMaven maven) {
+ Set<RepositoryWrapper> includedRepositories, IMaven maven, ArtifactKey
artifactKey) {
super(parentShell);
setShellStyle(SWT.CLOSE | SWT.MAX | SWT.TITLE | SWT.BORDER | SWT.RESIZE
| getDefaultOrientation());
this.availableRepositories = availableRepositories;
this.includedRepositories = includedRepositories;
this.maven = maven;
+ this.artifactKey = artifactKey;
}
@Override
@@ -202,7 +221,6 @@
urlTextDecoration = addDecoration(urlText, FieldDecorationRegistry.DEC_REQUIRED,
REPOSITORY_URL_IS_REQUIRED);
urlValidTextDecoration = addDecoration(urlText, FieldDecorationRegistry.DEC_ERROR,
URL_IS_NOT_VALID);
urlExistsTextDecoration = addDecoration(urlText, FieldDecorationRegistry.DEC_ERROR,
URL_ALREADY_EXISTS);
-
Button recognizeButton = new Button(contents, SWT.PUSH);
recognizeButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.FILL, true, false));
recognizeButton.setText("Recognize JBoss Maven Enterprise Repositories...");
@@ -303,9 +321,120 @@
}
});
+ if (artifactKey != null) {
+ String message = "The '" + getCoords() + "' artifact";
+ final String unresolvedMessage = message + " is not resolved.";
+ final String resolvedMessage = message + " is resolved.";
+ Composite labelComposite = new Composite(contents, SWT.NONE);
+ labelComposite.setLayout(new GridLayout(2, false));
+ labelComposite.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true,
false));
+ artifactImageLabel = createLabel(labelComposite, ""); //$NON-NLS-1$
+ artifactLabel = createLabel(labelComposite, unresolvedMessage );
+ artifactImageLabel.setImage(getUnresolvedImage());
+ urlText.addModifyListener(new ModifyListener() {
+
+ public void modifyText(ModifyEvent e) {
+ if (getErrorMessage() != null) {
+ return;
+ }
+ final String id = idText.getText().trim();
+ final String url = urlText.getText().trim();
+ Job job = new Job("Resolving artifact ...") {
+
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ final boolean resolved = resolveArtifact(id, url);
+ Display.getDefault().asyncExec(new Runnable() {
+
+ public void run() {
+ if (resolved) {
+ artifactImageLabel.setImage(getResolvedImage());
+ artifactLabel.setText(resolvedMessage);
+ } else {
+ artifactImageLabel.setImage(getUnresolvedImage());
+ artifactLabel.setText(unresolvedMessage);
+ }
+ }
+ });
+
+ return Status.OK_STATUS;
+ }
+
+ };
+ job.setUser(true);
+ job.schedule();
+ }
+ });
+ }
+
return area;
}
+ private String getCoords() {
+ if (coords == null && artifactKey != null) {
+ StringBuilder builder = new StringBuilder();
+ builder.append(artifactKey.getGroupId());
+ builder.append(":");
+ builder.append(artifactKey.getArtifactId());
+ builder.append(":");
+ if (artifactKey.getClassifier() != null) {
+ builder.append(artifactKey.getClassifier());
+ builder.append(":");
+ }
+ builder.append(artifactKey.getVersion());
+ coords = builder.toString();
+ }
+ return coords;
+ }
+
+ private boolean resolveArtifact(String id, String url) {
+
+ org.sonatype.aether.RepositorySystem system;
+ try {
+ system = new DefaultPlexusContainer()
+ .lookup(org.sonatype.aether.RepositorySystem.class);
+ } catch (Exception e) {
+ Activator.log(e);
+ return false;
+ }
+ MavenRepositorySystemSession session = new MavenRepositorySystemSession();
+ IMaven maven = MavenPlugin.getMaven();
+ String localRepoHome = maven.getLocalRepositoryPath();
+ LocalRepository localRepo = new LocalRepository(localRepoHome);
+ session.setLocalRepositoryManager(system.newLocalRepositoryManager(localRepo));
+
+ ArtifactRequest artifactRequest = new ArtifactRequest();
+ artifactRequest.setArtifact(new DefaultArtifact(getCoords()));
+
+ RemoteRepository centralRepo = new RemoteRepository( "central",
"default", "http://repo1.maven.org/maven2/" );
//$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
+ artifactRequest.addRepository(centralRepo);
+ RemoteRepository remoteRepo = new RemoteRepository(id,
+ "default", url); //$NON-NLS-1$
+ artifactRequest.addRepository(remoteRepo);
+ for (RepositoryWrapper wrapper : includedRepositories) {
+ Repository repo = wrapper.getRepository();
+ if (repo == null) {
+ continue;
+ }
+ remoteRepo = new RemoteRepository(repo.getId(),
+ "default", repo.getUrl()); //$NON-NLS-1$
+ artifactRequest.addRepository(remoteRepo);
+ }
+
+ try {
+ ArtifactResult artifactResult = system.resolveArtifact(session,
+ artifactRequest);
+ Artifact artifact = artifactResult.getArtifact();
+ return artifact != null;
+ } catch (ArtifactResolutionException e) {
+ if (Activator.getDefault().isDebugging()) {
+ Activator.log(e);
+ }
+ }
+
+ return false;
+ }
+
private Text createText(Composite parent) {
Text text = new Text(parent, SWT.SINGLE|SWT.BORDER);
text.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL |
GridData.GRAB_HORIZONTAL));
@@ -402,8 +531,8 @@
}
}
- private Label createLabel(Composite repositoryComposite, String text) {
- Label label = new Label(repositoryComposite, SWT.NONE);
+ private Label createLabel(Composite parent, String text) {
+ Label label = new Label(parent, SWT.NONE);
label.setLayoutData(new GridData(GridData.FILL, GridData.FILL, false,
false));
label.setText(text);
@@ -452,6 +581,24 @@
return jbossImage;
}
+ private Image getResolvedImage() {
+ if (resolvedImage == null) {
+ ImageDescriptor desc = Activator.imageDescriptorFromPlugin(Activator.PLUGIN_ID,
+ "icons/resolved.gif"); //$NON-NLS-1$
+ resolvedImage = desc.createImage();
+ }
+ return resolvedImage;
+ }
+
+ private Image getUnresolvedImage() {
+ if (unresolvedImage == null) {
+ ImageDescriptor desc = Activator.imageDescriptorFromPlugin(Activator.PLUGIN_ID,
+ "icons/unresolved.gif"); //$NON-NLS-1$
+ unresolvedImage = desc.createImage();
+ }
+ return unresolvedImage;
+ }
+
private void searchForRepositories(IPath path,
Set<RepositoryWrapper> repos, IProgressMonitor monitor) {
File[] files = null;
@@ -652,6 +799,12 @@
if (jbossImage != null) {
jbossImage.dispose();
}
+ if (resolvedImage != null) {
+ resolvedImage.dispose();
+ }
+ if (unresolvedImage != null) {
+ unresolvedImage.dispose();
+ }
return super.close();
}
Modified:
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/wizard/ConfigureMavenRepositoriesWizard.java
===================================================================
---
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/wizard/ConfigureMavenRepositoriesWizard.java 2012-05-25
21:50:12 UTC (rev 41450)
+++
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/wizard/ConfigureMavenRepositoriesWizard.java 2012-05-25
22:00:05 UTC (rev 41451)
@@ -13,6 +13,7 @@
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.m2e.core.embedder.ArtifactKey;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
import org.jboss.tools.maven.ui.Activator;
@@ -26,12 +27,18 @@
INewWizard {
private ConfigureMavenRepositoriesWizardPage page;
+ private ArtifactKey artifactKey;
public ConfigureMavenRepositoriesWizard() {
super();
setWindowTitle("Maven Repositories");
}
+ public ConfigureMavenRepositoriesWizard(ArtifactKey artifactKey) {
+ this();
+ this.artifactKey = artifactKey;
+ }
+
public void init(IWorkbench workbench, IStructuredSelection selection) {
initializeDefaultPageImageDescriptor();
}
@@ -49,7 +56,7 @@
@Override
public void addPages() {
- page = new ConfigureMavenRepositoriesWizardPage();
+ page = new ConfigureMavenRepositoriesWizardPage(artifactKey);
addPage(page);
}
}
Modified:
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/wizard/ConfigureMavenRepositoriesWizardPage.java
===================================================================
---
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/wizard/ConfigureMavenRepositoriesWizardPage.java 2012-05-25
21:50:12 UTC (rev 41450)
+++
trunk/maven/plugins/org.jboss.tools.maven.ui/src/org/jboss/tools/maven/ui/wizard/ConfigureMavenRepositoriesWizardPage.java 2012-05-25
22:00:05 UTC (rev 41451)
@@ -49,7 +49,14 @@
import org.eclipse.compare.contentmergeviewer.TextMergeViewer;
import org.eclipse.compare.structuremergeviewer.DiffNode;
import org.eclipse.compare.structuremergeviewer.Differencer;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
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.SubProgressMonitor;
+import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ArrayContentProvider;
@@ -70,7 +77,13 @@
import org.eclipse.jface.window.Window;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.m2e.core.MavenPlugin;
+import org.eclipse.m2e.core.embedder.ArtifactKey;
import org.eclipse.m2e.core.embedder.IMaven;
+import org.eclipse.m2e.core.embedder.IMavenConfiguration;
+import org.eclipse.m2e.core.internal.IMavenConstants;
+import org.eclipse.m2e.core.internal.index.IndexManager;
+import org.eclipse.m2e.core.project.IMavenProjectFacade;
+import org.eclipse.m2e.core.project.MavenUpdateRequest;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
@@ -184,16 +197,14 @@
private String newSettings;
private String oldSettings;
+
+ private ArtifactKey artifactKey;
- public ConfigureMavenRepositoriesWizardPage() {
+ public ConfigureMavenRepositoriesWizardPage(ArtifactKey artifactKey) {
super(PAGE_NAME);
setTitle("Configure Maven Repositories");
maven = MavenPlugin.getMaven();
-// try {
-// maven.reloadSettings();
-// } catch (CoreException e) {
-// Activator.log(e);
-// }
+ this.artifactKey = artifactKey;
}
public void createControl(Composite parent) {
@@ -361,7 +372,7 @@
@Override
public void widgetSelected(SelectionEvent e) {
- AddRepositoryDialog dialog = new AddRepositoryDialog(getShell(),
availableRepositories, includedRepositories, maven);
+ AddRepositoryDialog dialog = new AddRepositoryDialog(getShell(),
availableRepositories, includedRepositories, maven, artifactKey);
int ok = dialog.open();
if (ok == Window.OK) {
RepositoryWrapper wrapper = dialog.getRepositoryWrapper();
@@ -1000,7 +1011,7 @@
byte[] bytes = outputString.getBytes(UTF_8);
out.write(bytes);
out.flush();
- maven.reloadSettings();
+ updateSettings();
} catch (Exception e) {
MessageDialog.openError(getShell(), ERROR_TITLE, e.getMessage());
Activator.log(e);
@@ -1017,7 +1028,50 @@
return true;
}
- protected boolean getMessageDialog(Set<RepositoryWrapper> repos) {
+ protected void updateSettings() {
+ final String userSettings = getUserSettings();
+
+ Job job = new Job("Updating Maven settings...") {
+ protected IStatus run(IProgressMonitor monitor) {
+ try {
+ MavenPlugin.getMaven().reloadSettings();
+ final File localRepositoryDir = new File(maven
+ .getLocalRepository().getBasedir());
+
+ IMavenConfiguration mavenConfiguration = MavenPlugin
+ .getMavenConfiguration();
+ if (userSettings.length() > 0) {
+ mavenConfiguration.setUserSettingsFile(userSettings);
+ } else {
+ mavenConfiguration.setUserSettingsFile(null);
+ }
+
+ File newRepositoryDir = new File(maven.getLocalRepository()
+ .getBasedir());
+ if (!newRepositoryDir.equals(localRepositoryDir)) {
+ IndexManager indexManager = MavenPlugin
+ .getIndexManager();
+ indexManager.getWorkspaceIndex().updateIndex(true, monitor);
+ }
+
+ List<IMavenProjectFacade> facades = new
ArrayList<IMavenProjectFacade>();
+ IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
+
+ if (projects != null && projects.length > 0) {
+ MavenUpdateRequest updateRequest = new MavenUpdateRequest(projects,
mavenConfiguration.isOffline(),true);
+ MavenPlugin.getMavenProjectRegistry().refresh(updateRequest);
+ }
+ return Status.OK_STATUS;
+ } catch (CoreException e) {
+ Activator.log(e);
+ return e.getStatus();
+ }
+ }
+ };
+ job.schedule();
+ }
+
+ private boolean getMessageDialog(Set<RepositoryWrapper> repos) {
if (repos.size() == 0) {
return false;
}