430178 : prevent NPE if modulecorenature project has no component file

Signed-off-by: Fred Bricon <fbricon@gmail.com>
diff --git a/org.eclipse.m2e.wtp.jpa/src/org/eclipse/m2e/wtp/jpa/internal/configurators/JpaProjectConfigurator.java b/org.eclipse.m2e.wtp.jpa/src/org/eclipse/m2e/wtp/jpa/internal/configurators/JpaProjectConfigurator.java
index 686d264..13f4984 100644
--- a/org.eclipse.m2e.wtp.jpa/src/org/eclipse/m2e/wtp/jpa/internal/configurators/JpaProjectConfigurator.java
+++ b/org.eclipse.m2e.wtp.jpa/src/org/eclipse/m2e/wtp/jpa/internal/configurators/JpaProjectConfigurator.java
@@ -55,7 +55,9 @@
 import org.eclipse.m2e.wtp.jpa.PlatformIdentifierManager;
 import org.eclipse.m2e.wtp.jpa.internal.MavenJpaActivator;
 import org.eclipse.m2e.wtp.jpa.internal.util.JptUtils;
+import org.eclipse.wst.common.componentcore.ModuleCoreNature;
 import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;
+import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
 import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
 import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
 import org.eclipse.wst.common.project.facet.core.IFacetedProject;
@@ -149,7 +151,6 @@
 		actions.add(new IFacetedProject.Action(IFacetedProject.Action.Type.INSTALL, 
 								                version, 
 								                dataModel));
-		
 		facetedProject.modify(actions, monitor);
 	}
 
@@ -200,6 +201,12 @@
 		if (!enabled || !project.hasNature(JavaCore.NATURE_ID)) {
 			return false;
 		}
+		// Bug 430178 : If imported project has modulecore nature without the component file, 
+		// Dali's ModuleResourceLocator#getRootFolder will NPE (ex: it.cosenonjaviste:jsf2-spring4-jpa2-archetype:1.0.3)
+		if (project.hasNature(IModuleConstants.MODULE_NATURE_ID) && !ModuleCoreNature.componentResourceExists(project)) {
+			return false;
+		}
+		
 		IFacetedProject fProj = ProjectFacetsManager.create(project);
 		return  fProj == null || !fProj.hasProjectFacet(JpaProject.FACET);
 	}
@@ -255,10 +262,14 @@
 		      }
 		    }
 		    for (IPath p : facade.getTestCompileSourceLocations()) {
-		      if (p != null) fileCleaner.addFolder(p);
+		      if (p != null) {
+				fileCleaner.addFolder(p);
+			}
 		    }
 		    for (IPath p : facade.getTestResourceLocations()) {
-		      if (p != null) fileCleaner.addFolder(p);
+		      if (p != null) {
+				fileCleaner.addFolder(p);
+			}
 		    }
 		  }
 }