Make resource filtering more resilient to outside workspace 'mvn clean's

Change-Id: Ie8f1a85b0df57f71286bf75d3f19fc8785703ab7
Signed-off-by: Fred Bricon <fbricon@gmail.com>
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/EarResourceFilteringConfiguration.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/EarResourceFilteringConfiguration.java
index 7cf8401..fba9616 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/EarResourceFilteringConfiguration.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/EarResourceFilteringConfiguration.java
@@ -36,7 +36,7 @@
   }
 
   @Override
-public IPath getTargetFolder() {
+  public IPath getTargetFolder() {
     return getTargetFolder(mavenProjectFacade.getMavenProject(), mavenProjectFacade.getProject());
   }
 
@@ -45,7 +45,7 @@
   }
 
   @Override
-public List<Xpp3Dom> getResources() {
+  public List<Xpp3Dom> getResources() {
     if (!earPluginConfiguration.isFilteringDeploymentDescriptorsEnabled()) {
       return null;
     }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/ResourceFilteringBuildParticipant.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/ResourceFilteringBuildParticipant.java
index 6de085e..63bb071 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/ResourceFilteringBuildParticipant.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/ResourceFilteringBuildParticipant.java
@@ -86,7 +86,7 @@
     try {
       forceCopyBuildContext = null;
       List<String> filters = configuration.getFilters();
-      if (changeRequiresForcedCopy(facade, filters, delta)) {
+      if (!project.getFolder(targetFolder).exists() || changeRequiresForcedCopy(facade, filters, delta)) {
         LOG.info(NLS.bind(Messages.ResourceFilteringBuildParticipant_Changed_Resources_Require_Clean_Build,project.getName()));
         //String id = "" + "-" + getClass().getName();
         forceCopyBuildContext = new CleanBuildContext(oldBuildContext);