393895 : properly trim deployment name

Change-Id: I0a651d0f46cc5b1e3cd6743f52e03e5753955e7e
Signed-off-by: Fred Bricon <fbricon@gmail.com>
diff --git a/org.eclipse.m2e.wtp/META-INF/MANIFEST.MF b/org.eclipse.m2e.wtp/META-INF/MANIFEST.MF
index cc97e71..43b8bd7 100644
--- a/org.eclipse.m2e.wtp/META-INF/MANIFEST.MF
+++ b/org.eclipse.m2e.wtp/META-INF/MANIFEST.MF
@@ -52,3 +52,4 @@
 Bundle-Localization: plugin
 Bundle-ClassPath: jars/maven-war-plugin-2.1.1.jar,
  .
+Import-Package: org.apache.commons.lang3;version="3.1.0"
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AbstractProjectConfiguratorDelegate.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AbstractProjectConfiguratorDelegate.java
index 827e4a7..4cc4c9a 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AbstractProjectConfiguratorDelegate.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AbstractProjectConfiguratorDelegate.java
@@ -276,19 +276,15 @@
 
   @SuppressWarnings("restriction")
   protected void configureDeployedName(IProject project, String deployedFileName) {
-    //We need to remove the file extension from deployedFileName 
-    int extSeparatorPos  = deployedFileName.lastIndexOf('.');
-    String deployedName = extSeparatorPos > -1? deployedFileName.substring(0, extSeparatorPos): deployedFileName;
-    //From jerr's patch in MNGECLIPSE-965
     IVirtualComponent projectComponent = ComponentCore.createComponent(project);
-    if(projectComponent != null && !deployedName.equals(projectComponent.getDeployedName())){//MNGECLIPSE-2331 : Seems projectComponent.getDeployedName() can be null 
+    if(projectComponent != null && !deployedFileName.equals(projectComponent.getDeployedName())){//MNGECLIPSE-2331 : Seems projectComponent.getDeployedName() can be null 
       StructureEdit moduleCore = null;
       try {
         moduleCore = StructureEdit.getStructureEditForWrite(project);
         if (moduleCore != null){
           WorkbenchComponent component = moduleCore.getComponent();
           if (component != null) {
-            component.setName(deployedName);
+            component.setName(deployedFileName);
             moduleCore.saveIfNecessary(null);
           }
         }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EarProjectConfiguratorDelegate.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EarProjectConfiguratorDelegate.java
index e6cac6b..ab0d3c7 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EarProjectConfiguratorDelegate.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EarProjectConfiguratorDelegate.java
@@ -151,13 +151,9 @@
     
     ProjectUtils.removeNature(project, JavaCore.NATURE_ID, monitor);
 
-    String finalName = config.getFinalName();
-    if (!finalName.endsWith(".ear")) { //$NON-NLS-1$
-      finalName += ".ear"; //$NON-NLS-1$
-    }
+    String finalName = org.apache.commons.lang3.StringUtils.removeEnd(config.getFinalName(), ".ear");
     configureDeployedName(project, finalName);
     project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
-
     
     //MECLIPSEWTP-221 : add (in|ex)clusion patterns as .component metadata
     addComponentExclusionPatterns(earComponent, config);
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WebProjectConfiguratorDelegate.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WebProjectConfiguratorDelegate.java
index 89beed6..14eb591 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WebProjectConfiguratorDelegate.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WebProjectConfiguratorDelegate.java
@@ -143,7 +143,7 @@
     //MECLIPSEWTP-41 Fix the missing moduleCoreNature
     fixMissingModuleCoreNature(project, monitor);
 
-    configureDeployedName(project, config.getWarName());
+    configureDeployedName(project, org.apache.commons.lang3.StringUtils.removeEnd(config.getWarName(), ".war"));
 
     // MNGECLIPSE-632 remove test sources/resources from WEB-INF/classes
     removeTestFolderLinks(project, mavenProject, monitor, "/WEB-INF/classes"); //$NON-NLS-1$