don't configure closed projects
Change-Id: I572acfa85b69aeb120611c14636f8e6c072c4f3e
Signed-off-by: Fred Bricon <fbricon@gmail.com>
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WTPProjectConfigurator.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WTPProjectConfigurator.java
index 35cd79f..96dda1b 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WTPProjectConfigurator.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WTPProjectConfigurator.java
@@ -54,7 +54,8 @@
throws CoreException {
IProject project = request.getProject();
- if (WTPProjectsUtil.isM2eWtpDisabled(request.getMavenProjectFacade(), monitor)) {
+ if (!isMutable(project)
+ || WTPProjectsUtil.isM2eWtpDisabled(request.getMavenProjectFacade(), monitor)) {
return;
}
@@ -63,10 +64,6 @@
IProjectConfiguratorDelegate configuratorDelegate = ProjectConfiguratorDelegateFactory
.getProjectConfiguratorDelegate(mavenProject.getPackaging());
if(configuratorDelegate != null) {
- if (project.getResourceAttributes().isReadOnly()){
- return;
- }
-
try {
configuratorDelegate.configureProject(project, mavenProject, monitor);
} catch(MarkedException ex) {
@@ -83,9 +80,8 @@
IMavenProjectFacade facade = event.getMavenProject();
if(facade != null) {
IProject project = facade.getProject();
-
- if (!isWTPProject(project) || WTPProjectsUtil.isM2eWtpDisabled(facade, monitor)
- || project.getResourceAttributes().isReadOnly()){
+ if (!isMutable(project)
+ || !isWTPProject(project) || WTPProjectsUtil.isM2eWtpDisabled(facade, monitor)){
return;
}
@@ -106,7 +102,7 @@
public void configureClasspath(IMavenProjectFacade facade, IClasspathDescriptor classpath, IProgressMonitor monitor)
throws CoreException {
IProject project = facade.getProject();
- if (WTPProjectsUtil.isM2eWtpDisabled(facade, monitor)) {
+ if (!isMutable(project) || WTPProjectsUtil.isM2eWtpDisabled(facade, monitor)) {
return;
}
@@ -133,7 +129,7 @@
public AbstractBuildParticipant getBuildParticipant(IMavenProjectFacade projectFacade, MojoExecution execution,
IPluginExecutionMetadata executionMetadata) {
- if (WTPProjectsUtil.isM2eWtpDisabled(projectFacade, new NullProgressMonitor())) {
+ if (!isMutable(projectFacade.getProject()) || WTPProjectsUtil.isM2eWtpDisabled(projectFacade, new NullProgressMonitor())) {
return null;
}
@@ -160,4 +156,8 @@
return super.hasConfigurationChanged(newFacade, oldProjectConfiguration, key, monitor);
}
+
+ protected boolean isMutable(IProject project) {
+ return project != null && project.isAccessible() && !project.getResourceAttributes().isReadOnly();
+ }
}