389799 : externalize all strings for i18n

Signed-off-by: Fred Bricon <fbricon@gmail.com>
diff --git a/org.eclipse.m2e.wtp.jaxrs/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.m2e.wtp.jaxrs/.settings/org.eclipse.jdt.core.prefs
index c537b63..d141c68 100644
--- a/org.eclipse.m2e.wtp.jaxrs/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.m2e.wtp.jaxrs/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,99 @@
 eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
 org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=error
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=error
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.source=1.6
diff --git a/org.eclipse.m2e.wtp.jaxrs/plugin.properties b/org.eclipse.m2e.wtp.jaxrs/plugin.properties
index fab89a6..a8e9045 100644
--- a/org.eclipse.m2e.wtp.jaxrs/plugin.properties
+++ b/org.eclipse.m2e.wtp.jaxrs/plugin.properties
@@ -1,6 +1,7 @@
 Bundle-Vendor = eclipse.org
 Bundle-Name = Maven JAX-RS Configurator
 JAXRS_Project_configurator=JAX-RS
+JAXRS_Lifecycle_Mapping=JAX-RS Lifecycle Mapping
 Maven_Configuration_Problem=Maven Java EE Configuration Problem
 Maven_Configuration_Problems=Maven Java EE Configuration Problem
 jaxrs_enabler_label=JAX-RS Configurator
diff --git a/org.eclipse.m2e.wtp.jaxrs/plugin.xml b/org.eclipse.m2e.wtp.jaxrs/plugin.xml
index e3f3177..60f8a21 100644
--- a/org.eclipse.m2e.wtp.jaxrs/plugin.xml
+++ b/org.eclipse.m2e.wtp.jaxrs/plugin.xml
@@ -11,7 +11,7 @@
       <lifecycleMapping
             class="org.eclipse.m2e.wtp.jaxrs.internal.configurators.JaxRsLifecycleMapping"
             id="org.eclipse.m2e.wtp.jaxrs.JaxrsLifecycleMapping"
-            name="JAX-RS Lifecycle mapping">
+            name="%JAXRS_Lifecycle_Mapping">
       </lifecycleMapping>
     </extension>
     
diff --git a/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/MavenJaxRsActivator.java b/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/MavenJaxRsActivator.java
index e1a685b..41670d5 100644
--- a/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/MavenJaxRsActivator.java
+++ b/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/MavenJaxRsActivator.java
@@ -30,6 +30,7 @@
 	 * (non-Javadoc)
 	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
 	 */
+	@Override
 	public void start(BundleContext context) throws Exception {
 		super.start(context);
 		plugin = this;
@@ -39,6 +40,7 @@
 	 * (non-Javadoc)
 	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
 	 */
+	@Override
 	public void stop(BundleContext context) throws Exception {
 		plugin = null;
 		super.stop(context);
diff --git a/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/MavenJaxRsConstants.java b/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/MavenJaxRsConstants.java
index 4a1bf63..dcba94f 100644
--- a/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/MavenJaxRsConstants.java
+++ b/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/MavenJaxRsConstants.java
@@ -22,7 +22,7 @@
  */
 public class MavenJaxRsConstants {
 	
-	public static final String JAXRS_CONFIGURATION_ERROR_MARKER_ID = "org.eclipse.m2e.core.maven2Problem.wtp.jaxrs.configuration";
+	public static final String JAXRS_CONFIGURATION_ERROR_MARKER_ID = "org.eclipse.m2e.core.maven2Problem.wtp.jaxrs.configuration"; //$NON-NLS-1$
 
 	public static final IProjectFacet JAX_RS_FACET; 
 
@@ -36,8 +36,8 @@
 		JAX_RS_FACET = ProjectFacetsManager.getProjectFacet(IJAXRSCoreConstants.JAXRS_FACET_ID);
 		JAX_RS_FACET_1_0 = JAX_RS_FACET.getVersion(IJAXRSCoreConstants.JAXRS_VERSION_1_0);
 		JAX_RS_FACET_1_1 = JAX_RS_FACET.getVersion(IJAXRSCoreConstants.JAXRS_VERSION_1_1);
-		if (JAX_RS_FACET.hasVersion("2.0")) {
-			JAX_RS_FACET_2_0 = JAX_RS_FACET.getVersion("2.0");
+		if (JAX_RS_FACET.hasVersion("2.0")) { //$NON-NLS-1$
+			JAX_RS_FACET_2_0 = JAX_RS_FACET.getVersion("2.0"); //$NON-NLS-1$
 		} else {
 			JAX_RS_FACET_2_0 = JAX_RS_FACET_1_1; 
 		}
diff --git a/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/Messages.java b/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/Messages.java
index 2309b01..c092059 100644
--- a/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/Messages.java
+++ b/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/Messages.java
@@ -20,7 +20,9 @@
  */
 public class Messages extends NLS {
 	private static final String BUNDLE_NAME = "org.eclipse.m2e.wtp.jaxrs.internal.messages"; //$NON-NLS-1$
+	public static String ClasspathJaxRsFacetDetector_Unable_To_Determine_JAXRS_Version;
 	public static String JaxrsProjectConfigurator_facet_cannot_be_installed;
+	public static String JaxRsProjectConfigurator_Unknown_Error;
 	static {
 		// initialize resource bundle
 		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/configurators/ClasspathJaxRsFacetDetector.java b/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/configurators/ClasspathJaxRsFacetDetector.java
index 853c987..c6cdab0 100644
--- a/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/configurators/ClasspathJaxRsFacetDetector.java
+++ b/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/configurators/ClasspathJaxRsFacetDetector.java
@@ -24,6 +24,7 @@
 import org.eclipse.jdt.core.JavaModelException;
 import org.eclipse.m2e.core.project.IMavenProjectFacade;
 import org.eclipse.m2e.wtp.facets.AbstractFacetDetector;
+import org.eclipse.m2e.wtp.jaxrs.internal.Messages;
 import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -49,7 +50,7 @@
 		if (javaProject != null) {
 			IType type = null;
 			try {
-				type = javaProject.findType("javax.ws.rs.client.Client");
+				type = javaProject.findType("javax.ws.rs.client.Client"); //$NON-NLS-1$
 				if (type != null) {
 					return JAX_RS_FACET_2_0;
 				}
@@ -64,7 +65,7 @@
 					return JAX_RS_FACET_1_0;
 				}
 			} catch (JavaModelException e) {
-				LOG.error("Unable to determine JAX-RS version", e);
+				LOG.error(Messages.ClasspathJaxRsFacetDetector_Unable_To_Determine_JAXRS_Version, e);
 			}
 		}
 		return null;
diff --git a/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/configurators/JaxRsProjectConfigurator.java b/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/configurators/JaxRsProjectConfigurator.java
index e7864d5..ade9458 100644
--- a/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/configurators/JaxRsProjectConfigurator.java
+++ b/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/configurators/JaxRsProjectConfigurator.java
@@ -43,8 +43,6 @@
 import org.eclipse.wst.common.project.facet.core.IFacetedProject;
 import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
 import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * JAX-RS maven project configurator.
@@ -57,12 +55,10 @@
  */
 public class JaxRsProjectConfigurator extends AbstractProjectConfigurator {
 
-	private static final String WAR_PACKAGING = "war";
+	private static final String WAR_PACKAGING = "war"; //$NON-NLS-1$
 	
-	private static final String M2E_JAXRS_ACTIVATION_PROPERTY = "m2e.jaxrs.activation";
+	private static final String M2E_JAXRS_ACTIVATION_PROPERTY = "m2e.jaxrs.activation"; //$NON-NLS-1$
 
-	private static final Logger LOG = LoggerFactory.getLogger(JaxRsProjectConfigurator.class);
-		
 	@Override
 	public void configure(ProjectConfigurationRequest request, IProgressMonitor monitor) throws CoreException {
 		configureInternal(request.getMavenProjectFacade(), monitor);
@@ -73,7 +69,7 @@
 
 		MavenProject mavenProject = mavenProjectFacade.getMavenProject();
 		IProject project = mavenProjectFacade.getProject();
-		if(!WAR_PACKAGING.equals(mavenProject.getPackaging())) { //$NON-NLS-1$
+		if(!WAR_PACKAGING.equals(mavenProject.getPackaging())) {
 			return;
 		}
 
@@ -131,7 +127,7 @@
 			model.setProperty(IJAXRSFacetInstallDataModelProperties.UPDATEDD, false);
 			fproj.installProjectFacet(facetVersion, model, monitor);
 		} else {
-			String errorMessage = status.getMessage() == null ? "<unknown error>":status.getMessage();
+			String errorMessage = status.getMessage() == null ? Messages.JaxRsProjectConfigurator_Unknown_Error:status.getMessage();
 			String markerMessage = NLS.bind(Messages.JaxrsProjectConfigurator_facet_cannot_be_installed, 
 									facetVersion, errorMessage);
 	        addErrorMarker(fproj.getProject(), markerMessage);
diff --git a/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/messages.properties b/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/messages.properties
index 8bf14a1..0ec80c2 100644
--- a/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/messages.properties
+++ b/org.eclipse.m2e.wtp.jaxrs/src/org/eclipse/m2e/wtp/jaxrs/internal/messages.properties
@@ -1,2 +1,4 @@
+ClasspathJaxRsFacetDetector_Unable_To_Determine_JAXRS_Version=Unable to determine JAX-RS version
 JaxrsProjectConfigurator_The_project_does_not_contain_required_facets=The {0} project does not contain the Dynamic Web Module facet or the EJB Module facet required to enable JAX-RS support.
-JaxrsProjectConfigurator_facet_cannot_be_installed={0} can not be installed : {1}
\ No newline at end of file
+JaxrsProjectConfigurator_facet_cannot_be_installed={0} can not be installed : {1}
+JaxRsProjectConfigurator_Unknown_Error=<unknown error>
diff --git a/org.eclipse.m2e.wtp.jsf/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.m2e.wtp.jsf/.settings/org.eclipse.jdt.core.prefs
index c537b63..d141c68 100644
--- a/org.eclipse.m2e.wtp.jsf/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.m2e.wtp.jsf/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,99 @@
 eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
 org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=error
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=error
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.source=1.6
diff --git a/org.eclipse.m2e.wtp.jsf/plugin.properties b/org.eclipse.m2e.wtp.jsf/plugin.properties
index 4f5478e..a637ac0 100644
--- a/org.eclipse.m2e.wtp.jsf/plugin.properties
+++ b/org.eclipse.m2e.wtp.jsf/plugin.properties
@@ -1,6 +1,7 @@
 Bundle-Vendor=eclipse.org
 Bundle-Name=Maven JSF Configurator
 JSF_Project_configurator=JSF configurator
+JSF_Lifecycle_mapping=JSF Lifecycle mapping
 Maven_Configuration_Problem=Maven Java EE Configuration Problem
 Maven_Configuration_Problems=Maven Java EE Configuration Problems
 jsf_enabler_label=JSF Configurator
diff --git a/org.eclipse.m2e.wtp.jsf/plugin.xml b/org.eclipse.m2e.wtp.jsf/plugin.xml
index d93efaa..8b1b2d2 100644
--- a/org.eclipse.m2e.wtp.jsf/plugin.xml
+++ b/org.eclipse.m2e.wtp.jsf/plugin.xml
@@ -10,7 +10,7 @@
       <lifecycleMapping
             class="org.eclipse.m2e.wtp.jsf.internal.configurators.JSFLifecycleMapping"
             id="org.eclipse.m2e.wtp.jsf.JSFLifecycleMapping"
-            name="JSF Lifecycle mapping">
+            name="%JSF_Lifecycle_mapping">
       </lifecycleMapping>
     </extension>
  
diff --git a/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/MavenJSFConstants.java b/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/MavenJSFConstants.java
index 2485cab..68a724d 100644
--- a/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/MavenJSFConstants.java
+++ b/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/MavenJSFConstants.java
@@ -10,6 +10,7 @@
  ******************************************************************************/
 package org.eclipse.m2e.wtp.jsf.internal;
 
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.common.project.facet.core.IProjectFacet;
 import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
 import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
@@ -22,17 +23,17 @@
  */
 public class MavenJSFConstants {
 	
-	public static final String JSF_CONFIGURATION_ERROR_MARKER_ID = "org.eclipse.m2e.core.maven2Problem.wtp.jsf.configuration";
+	public static final String JSF_CONFIGURATION_ERROR_MARKER_ID = "org.eclipse.m2e.core.maven2Problem.wtp.jsf.configuration"; //$NON-NLS-1$
 
-	public static final String JSF_VERSION_2_2 = "2.2";
+	public static final String JSF_VERSION_2_2 = "2.2"; //$NON-NLS-1$
 	
-	public static final String JSF_VERSION_2_1 = "2.1";
+	public static final String JSF_VERSION_2_1 = "2.1"; //$NON-NLS-1$
 
-	public static final String JSF_VERSION_2_0 = "2.0";
+	public static final String JSF_VERSION_2_0 = "2.0"; //$NON-NLS-1$
 	
-	public static final String JSF_VERSION_1_2 = "1.2";
+	public static final String JSF_VERSION_1_2 = "1.2"; //$NON-NLS-1$
 	
-	public static final String JSF_VERSION_1_1 = "1.1";
+	public static final String JSF_VERSION_1_1 = "1.1"; //$NON-NLS-1$
 	
 	public static final IProjectFacet JSF_FACET;
 	
@@ -51,14 +52,14 @@
 	static {
 		JSF_FACET = ProjectFacetsManager.getProjectFacet("jst.jsf"); //$NON-NLS-1$
 		JSF_FACET_VERSION_2_0 = JSF_FACET.getVersion(JSF_VERSION_2_0); 
-		JSF_FACET_VERSION_1_2 = JSF_FACET.getVersion(JSF_VERSION_1_2); //$NON-NLS-1$
-		JSF_FACET_VERSION_1_1 = JSF_FACET.getVersion(JSF_VERSION_1_1); //$NON-NLS-1$
+		JSF_FACET_VERSION_1_2 = JSF_FACET.getVersion(JSF_VERSION_1_2); 
+		JSF_FACET_VERSION_1_1 = JSF_FACET.getVersion(JSF_VERSION_1_1);
 		
 		IProjectFacetVersion jsf21Version = null;
 		try {
 			jsf21Version = JSF_FACET.getVersion(JSF_VERSION_2_1); 
 		} catch (Exception e) {
-			LOG.warn("JSF 2.1 Facet is unavailable, fall back to 2.0");
+			LOG.warn(Messages.MavenJSFConstants_Warning_JSF21_Unavailable);
 			jsf21Version = JSF_FACET_VERSION_2_0; 
 		}
 		JSF_FACET_VERSION_2_1 = jsf21Version;
@@ -67,7 +68,7 @@
 		try {
 			jsf22Version = JSF_FACET.getVersion(JSF_VERSION_2_2); 
 		} catch (Exception e) {
-			LOG.warn("JSF 2.2 Facet is unavailable, fall back to "+JSF_FACET_VERSION_2_1.getVersionString());
+			LOG.warn(NLS.bind(Messages.MavenJSFConstants_Warning_JSF22_Unavailable, JSF_FACET_VERSION_2_1.getVersionString()));
 			jsf22Version = JSF_FACET_VERSION_2_1; 
 		}
 		JSF_FACET_VERSION_2_2 = jsf22Version;
diff --git a/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/Messages.java b/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/Messages.java
index 2e17b34..dbaa07b 100644
--- a/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/Messages.java
+++ b/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/Messages.java
@@ -19,7 +19,18 @@
  */
 public class Messages extends NLS {
 	private static final String BUNDLE_NAME = "org.eclipse.m2e.wtp.jsf.internal.messages"; //$NON-NLS-1$
+	public static String JSFAppConfigUtils_Error_Reading_WebXml;
+	public static String JSFProjectConfigurator_Marker_Facet_Version_Cant_Be_Installed;
 	public static String JSFProjectConfigurator_The_project_does_not_contain_the_Web_Module_facet;
+	public static String JSFUtils_Error_Finding_Faces_Servlet;
+	public static String JSFUtils_Error_Finding_Faces_Servlet_In_WebXml;
+	public static String JSFUtils_Error_Finding_JSF_Version;
+	public static String JSFUtils_Error_Finding_Latest_JSF_Version;
+	public static String JSFUtils_Error_Reading_FacesConfig;
+	public static String JSFUtils_Error_Searching_For_JSF_Type;
+	public static String MavenJSFConstants_Warning_JSF21_Unavailable;
+	public static String MavenJSFConstants_Warning_JSF22_Unavailable;
+	public static String WebXmlJSFFacetDetector_Error_Cant_Detect_JSF_From_WebXml;
 	static {
 		// initialize resource bundle
 		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/configurators/JSFProjectConfigurator.java b/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/configurators/JSFProjectConfigurator.java
index b6f35f9..147eb7f 100644
--- a/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/configurators/JSFProjectConfigurator.java
+++ b/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/configurators/JSFProjectConfigurator.java
@@ -41,12 +41,12 @@
 import org.eclipse.m2e.wtp.WarPluginConfiguration;
 import org.eclipse.m2e.wtp.facets.FacetDetectorManager;
 import org.eclipse.m2e.wtp.jsf.internal.MavenJSFConstants;
+import org.eclipse.m2e.wtp.jsf.internal.Messages;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
 import org.eclipse.wst.common.project.facet.core.IFacetedProject;
 import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
 import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * JSF maven project configurator.
@@ -59,9 +59,7 @@
  */
 public class JSFProjectConfigurator extends AbstractProjectConfigurator {
 	
-	private static final Logger LOG = LoggerFactory.getLogger(JSFProjectConfigurator.class);
-	
-	private static final String M2E_JSF_ACTIVATION_PROPERTY = "m2e.jsf.activation";
+	private static final String M2E_JSF_ACTIVATION_PROPERTY = "m2e.jsf.activation"; //$NON-NLS-1$
 	
 	@Override
 	public void configure(ProjectConfigurationRequest request,
@@ -128,13 +126,13 @@
 			IFolder warSourceDir  = project.getFolder(warConfig.getWarSourceDirectory());
 
 			//We don't want to generate any files automatically
-			IPath facesConfigPath = new Path("WEB-INF/faces-config.xml");
+			IPath facesConfigPath = new Path("WEB-INF/faces-config.xml"); //$NON-NLS-1$
 			IFile defaultFacesConfig = warSourceDir.getFile(facesConfigPath);
 			IFolder generatedWebResourcesFolder = ProjectUtils.getGeneratedWebResourcesFolder(mavenProject, project);
 			IFile generatedFacesConfig = generatedWebResourcesFolder.getFile(facesConfigPath);
 			
 			ResourceCleaner cleaner = new ResourceCleaner(project);
-			cleaner.addFolder(warSourceDir.getFolder("WEB-INF/lib"));
+			cleaner.addFolder(warSourceDir.getFolder("WEB-INF/lib")); //$NON-NLS-1$
 			cleaner.addFiles(defaultFacesConfig, generatedFacesConfig);
 			
 			IStatus status = facetVersion.getConstraint().check(fproj.getProjectFacets());
@@ -144,7 +142,7 @@
 					model.setBooleanProperty(IJSFFacetInstallDataModelProperties.CONFIGURE_SERVLET, false);
 					fproj.installProjectFacet(facetVersion, model, monitor);
 				} else {
-					addErrorMarker(fproj.getProject(), facetVersion + " can not be installed : "+ status.getMessage());
+					addErrorMarker(fproj.getProject(), NLS.bind(Messages.JSFProjectConfigurator_Marker_Facet_Version_Cant_Be_Installed, facetVersion, status.getMessage()));
 					for (IStatus st : status.getChildren()) {
 						addErrorMarker(fproj.getProject(), st.getMessage());
 					}
diff --git a/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/configurators/WebXmlJSFFacetDetector.java b/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/configurators/WebXmlJSFFacetDetector.java
index 46742f6..b97c02e 100644
--- a/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/configurators/WebXmlJSFFacetDetector.java
+++ b/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/configurators/WebXmlJSFFacetDetector.java
@@ -22,6 +22,7 @@
 import org.eclipse.m2e.wtp.ProjectUtils;
 import org.eclipse.m2e.wtp.facets.AbstractFacetDetector;
 import org.eclipse.m2e.wtp.jsf.internal.MavenJSFConstants;
+import org.eclipse.m2e.wtp.jsf.internal.Messages;
 import org.eclipse.m2e.wtp.jsf.internal.utils.JSFUtils;
 import org.eclipse.wst.common.project.facet.core.IFacetedProject;
 import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
@@ -65,7 +66,7 @@
 					}
 				}
 			} catch (CoreException e) {
-				LOG.error("Can't detect JSF version from web.xml", e);
+				LOG.error(Messages.WebXmlJSFFacetDetector_Error_Cant_Detect_JSF_From_WebXml, e);
 			}
 		}
 		return version;
@@ -75,7 +76,7 @@
 		//We look for javax.faces.webapp.FacesServlet in web.xml
 		//We should look for a custom web.xml at this point, but WTP would then crash on the JSF Facet installation
 		//if it's not in a standard location, so we stick with the regular file.
-		IFile webXml = ProjectUtils.getWebResourceFile(project, "WEB-INF/web.xml");
+		IFile webXml = ProjectUtils.getWebResourceFile(project, "WEB-INF/web.xml"); //$NON-NLS-1$
 		return webXml != null && webXml.exists() && JSFUtils.hasFacesServlet(webXml);
 	}
 
diff --git a/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/messages.properties b/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/messages.properties
index bc9e5db..fb1fdb8 100644
--- a/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/messages.properties
+++ b/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/messages.properties
@@ -1 +1,12 @@
+JSFAppConfigUtils_Error_Reading_WebXml=Error reading web.xml
+JSFProjectConfigurator_Marker_Facet_Version_Cant_Be_Installed={0} can not be installed : {1}
 JSFProjectConfigurator_The_project_does_not_contain_the_Web_Module_facet=The project doesn't contain the Web Module facet.
+JSFUtils_Error_Finding_Faces_Servlet=An error occured trying to find to {0} :
+JSFUtils_Error_Finding_Faces_Servlet_In_WebXml=An error occured trying to find to {0} in {1}
+JSFUtils_Error_Finding_JSF_Version=Can not get JSF Facet version {0}
+JSFUtils_Error_Finding_Latest_JSF_Version=Can not get Latest JSF Facet version
+JSFUtils_Error_Reading_FacesConfig=Error reading face-config.xml
+JSFUtils_Error_Searching_For_JSF_Type=Error searching for javax.faces.context.FacesContext
+MavenJSFConstants_Warning_JSF21_Unavailable=JSF 2.1 Facet is unavailable, fall back to 2.0
+MavenJSFConstants_Warning_JSF22_Unavailable=JSF 2.2 Facet is unavailable, fall back to {0}
+WebXmlJSFFacetDetector_Error_Cant_Detect_JSF_From_WebXml=Can't detect JSF version from web.xml
diff --git a/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/utils/FacesConfigQuickPeek.java b/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/utils/FacesConfigQuickPeek.java
index bebc244..e358b38 100644
--- a/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/utils/FacesConfigQuickPeek.java
+++ b/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/utils/FacesConfigQuickPeek.java
@@ -20,18 +20,18 @@
 @SuppressWarnings("restriction")
 public class FacesConfigQuickPeek {
 
-	private static final String FACES_CONFIG_PUBLIC_ID_1_0 = "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN";
-	private static final String FACES_CONFIG_SYSTEM_ID_1_0 = "http://java.sun.com/dtd/web-facesconfig_1_0.dtd";
-	private static final String FACES_CONFIG_PUBLIC_ID_1_1 = "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN";
-	private static final String FACES_CONFIG_SYSTEM_ID_1_1 = "http://java.sun.com/dtd/web-facesconfig_1_1.dtd";
-	private static final String FACES_CONFIG_SCHEMA_ID_1_2 = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd";
-	private static final String FACES_CONFIG_SCHEMA_ID_2_0 = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd";
-	private static final String FACES_CONFIG_SCHEMA_ID_2_1 = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd";
-	private static final String FACES_CONFIG_ID_1_0 = "1.0";
-	private static final String FACES_CONFIG_ID_1_1 = "1.1";
-	private static final String FACES_CONFIG_ID_1_2 = "1.2";
-	private static final String FACES_CONFIG_ID_2_0 = "2.0";
-	private static final String FACES_CONFIG_ID_2_1 = "2.1";
+	private static final String FACES_CONFIG_PUBLIC_ID_1_0 = "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"; //$NON-NLS-1$
+	private static final String FACES_CONFIG_SYSTEM_ID_1_0 = "http://java.sun.com/dtd/web-facesconfig_1_0.dtd"; //$NON-NLS-1$
+	private static final String FACES_CONFIG_PUBLIC_ID_1_1 = "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"; //$NON-NLS-1$
+	private static final String FACES_CONFIG_SYSTEM_ID_1_1 = "http://java.sun.com/dtd/web-facesconfig_1_1.dtd"; //$NON-NLS-1$
+	private static final String FACES_CONFIG_SCHEMA_ID_1_2 = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"; //$NON-NLS-1$
+	private static final String FACES_CONFIG_SCHEMA_ID_2_0 = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"; //$NON-NLS-1$
+	private static final String FACES_CONFIG_SCHEMA_ID_2_1 = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd"; //$NON-NLS-1$
+	private static final String FACES_CONFIG_ID_1_0 = "1.0"; //$NON-NLS-1$
+	private static final String FACES_CONFIG_ID_1_1 = "1.1"; //$NON-NLS-1$
+	private static final String FACES_CONFIG_ID_1_2 = "1.2"; //$NON-NLS-1$
+	private static final String FACES_CONFIG_ID_2_0 = "2.0"; //$NON-NLS-1$
+	private static final String FACES_CONFIG_ID_2_1 = "2.1"; //$NON-NLS-1$
 	
 	private XMLRootHandler handler;
 
@@ -59,10 +59,10 @@
 	
 	public String getVersion() {
 		if (!versionSet) {
-			if (handler != null && "faces-config".equals(handler.getRootName())) {
+			if (handler != null && "faces-config".equals(handler.getRootName())) { //$NON-NLS-1$
 				String version = null;
 				if (handler.getRootAttributes() != null) {
-					version = handler.getRootAttributes().getValue("version");
+					version = handler.getRootAttributes().getValue("version"); //$NON-NLS-1$
 				}
 				if (version == null || version.trim().length() == 0) {
 					version = getVersionFromDtdSchema();
diff --git a/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/utils/JSFUtils.java b/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/utils/JSFUtils.java
index b69c0eb..a7b92b2 100644
--- a/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/utils/JSFUtils.java
+++ b/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/utils/JSFUtils.java
@@ -39,7 +39,9 @@
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jdt.core.JavaModelException;
 import org.eclipse.m2e.wtp.ProjectUtils;
+import org.eclipse.m2e.wtp.jsf.internal.Messages;
 import org.eclipse.m2e.wtp.jsf.internal.utils.xpl.JSFAppConfigUtils;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -49,9 +51,9 @@
 
 	private static final Logger LOG = LoggerFactory.getLogger(JSFUtils.class);
 
-	public static final String FACES_SERVLET = "javax.faces.webapp.FacesServlet";
+	public static final String FACES_SERVLET = "javax.faces.webapp.FacesServlet"; //$NON-NLS-1$
 
-	private static final String FACES_SERVLET_XPATH = "//servlet[servlet-class=\"" + FACES_SERVLET + "\"]";
+	private static final String FACES_SERVLET_XPATH = "//servlet[servlet-class=\"" + FACES_SERVLET + "\"]"; //$NON-NLS-1$ //$NON-NLS-2$
 
 	private JSFUtils() {
 		// no public constructor
@@ -70,7 +72,7 @@
 				return facesConfig;
 			}
 		}
-		facesConfig = ProjectUtils.getWebResourceFile(project, "WEB-INF/faces-config.xml");
+		facesConfig = ProjectUtils.getWebResourceFile(project, "WEB-INF/faces-config.xml"); //$NON-NLS-1$
 		
 		return facesConfig;
 	}
@@ -90,7 +92,7 @@
 				version = peek.getVersion();
 			} catch (CoreException e) {
 				// ignore
-				LOG.error("Error reading face-config.xml", e);
+				LOG.error(Messages.JSFUtils_Error_Reading_FacesConfig, e);
 			} finally {
 				IOUtil.close(in);
 			}
@@ -112,7 +114,7 @@
 			is = webXml.getContents();
 			return hasFacesServlet(is);
 		} catch (Exception e) {
-			LOG.error("An error occured trying to find to "+FACES_SERVLET+" in "+ webXml.getLocation().toOSString(), e);
+			LOG.error(NLS.bind(Messages.JSFUtils_Error_Finding_Faces_Servlet_In_WebXml, FACES_SERVLET, webXml.getLocation().toOSString()), e);
 		} finally {
 			IOUtil.close(is);
 		}
@@ -140,7 +142,7 @@
 			XPathExpression expr = xpath.compile(FACES_SERVLET_XPATH);
 			hasFacesServlet = null != expr.evaluate(doc, XPathConstants.NODE);
 		} catch (Exception e) {
-			LOG.error("An error occured trying to find to "+FACES_SERVLET+" :", e);
+			LOG.error(NLS.bind(Messages.JSFUtils_Error_Finding_Faces_Servlet,FACES_SERVLET), e);
 		}
 		return hasFacesServlet;
 	}		
@@ -160,21 +162,21 @@
 			try {
 				type = javaProject.findType("javax.faces.context.FacesContext");//$NON-NLS-1$ 
 			} catch (JavaModelException e) {
-				LOG.error("Error searching for javax.faces.context.FacesContext", e) ;
+				LOG.error(Messages.JSFUtils_Error_Searching_For_JSF_Type, e) ;
 			}
 			if (type != null) {
 				String[] emptyParams = new String[0];
-				if (type.getMethod("getResourceLibraryContracts", emptyParams).exists()) {
+				if (type.getMethod("getResourceLibraryContracts", emptyParams).exists()) { //$NON-NLS-1$
 					return JSF_VERSION_2_2;
 				}
-				if (type.getMethod("isReleased", emptyParams).exists()) {
+				if (type.getMethod("isReleased", emptyParams).exists()) { //$NON-NLS-1$
 					return JSF_VERSION_2_1;					
 				}
-				if (type.getMethod("getAttributes", emptyParams).exists() &&    
-					type.getMethod("getPartialViewContext", emptyParams).exists()) {      
+				if (type.getMethod("getAttributes", emptyParams).exists() &&     //$NON-NLS-1$
+					type.getMethod("getPartialViewContext", emptyParams).exists()) {       //$NON-NLS-1$
 					return JSF_VERSION_2_0;
 			    }
-				if (type.getMethod("getELContext", emptyParams).exists()) { 
+				if (type.getMethod("getELContext", emptyParams).exists()) {  //$NON-NLS-1$
 					return JSF_VERSION_1_2;
 				} 
 				version = JSF_VERSION_1_1;
@@ -198,12 +200,12 @@
 			try {
 				facetVersion = JSF_FACET.getVersion(version);
 			} catch (Exception e) {
-				LOG.error("Can not get JSF Facet version "+version, e);
+				LOG.error(NLS.bind(Messages.JSFUtils_Error_Finding_JSF_Version,version), e);
 				try {
 					//We assume the detected version is not supported *yet* so take the latest.
 					facetVersion = JSF_FACET.getLatestVersion();
 				} catch(CoreException cex) {
-					LOG.error("Can not get Latest JSF Facet version", cex);
+					LOG.error(Messages.JSFUtils_Error_Finding_Latest_JSF_Version, cex);
 					facetVersion =  JSF_FACET.getDefaultVersion();		
 				}
 			}
diff --git a/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/utils/xpl/JSFAppConfigUtils.java b/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/utils/xpl/JSFAppConfigUtils.java
index 7ae7126..6fc1c57 100644
--- a/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/utils/xpl/JSFAppConfigUtils.java
+++ b/org.eclipse.m2e.wtp.jsf/src/org/eclipse/m2e/wtp/jsf/internal/utils/xpl/JSFAppConfigUtils.java
@@ -25,6 +25,7 @@
 import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit;
 import org.eclipse.jst.j2ee.webapplication.ContextParam;
 import org.eclipse.jst.j2ee.webapplication.WebApp;
+import org.eclipse.m2e.wtp.jsf.internal.Messages;
 import org.eclipse.wst.common.componentcore.ModuleCoreNature;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -121,7 +122,7 @@
 					webApp = webArtifactEdit.getWebApp();
 				} catch(ClassCastException cce) {
 					//occasionally thrown from WTP code in RC3 and possibly later
-					LOG.error("Error reading web.xml", cce);
+					LOG.error(Messages.JSFAppConfigUtils_Error_Reading_WebXml, cce);
 					return filesList;
 				}
 				if (webApp != null) {
diff --git a/org.eclipse.m2e.wtp.overlay.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.m2e.wtp.overlay.ui/.settings/org.eclipse.jdt.core.prefs
index 273b203..827a3c3 100644
--- a/org.eclipse.m2e.wtp.overlay.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.m2e.wtp.overlay.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,95 @@
-#Sun Mar 11 22:55:01 CET 2012
 eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=error
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=error
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.source=1.5
diff --git a/org.eclipse.m2e.wtp.overlay.ui/plugin.properties b/org.eclipse.m2e.wtp.overlay.ui/plugin.properties
new file mode 100644
index 0000000..fd1aaf0
--- /dev/null
+++ b/org.eclipse.m2e.wtp.overlay.ui/plugin.properties
@@ -0,0 +1 @@
+Preference_Overlays=Overlays
\ No newline at end of file
diff --git a/org.eclipse.m2e.wtp.overlay.ui/plugin.xml b/org.eclipse.m2e.wtp.overlay.ui/plugin.xml
index fbe590c..b66953a 100644
--- a/org.eclipse.m2e.wtp.overlay.ui/plugin.xml
+++ b/org.eclipse.m2e.wtp.overlay.ui/plugin.xml
@@ -22,7 +22,7 @@
       <page id="org.eclipse.m2e.wtp.overlay.ui.preferences.OverlayPreferencePage"
          category="org.eclipse.wst.server.ui.preferencePage"
          class="org.eclipse.m2e.wtp.overlay.internal.ui.preferences.OverlayPublishingPreferencePage"
-         name="Overlays">
+         name="%Preference_Overlays">
          <keywordReference id="org.eclipse.wst.server.preferenceKeywords"/>
       </page>
    </extension>
diff --git a/org.eclipse.m2e.wtp.overlay.ui/src/org/eclipse/m2e/wtp/overlay/internal/ui/Messages.java b/org.eclipse.m2e.wtp.overlay.ui/src/org/eclipse/m2e/wtp/overlay/internal/ui/Messages.java
new file mode 100644
index 0000000..ea28bd2
--- /dev/null
+++ b/org.eclipse.m2e.wtp.overlay.ui/src/org/eclipse/m2e/wtp/overlay/internal/ui/Messages.java
@@ -0,0 +1,15 @@
+package org.eclipse.m2e.wtp.overlay.internal.ui;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.eclipse.m2e.wtp.overlay.internal.ui.messages"; //$NON-NLS-1$
+	public static String OverlayPublishingPreferencePage_Automatically_Republish_Servers_On_Overlay_Modifications;
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}
diff --git a/org.eclipse.m2e.wtp.overlay.ui/src/org/eclipse/m2e/wtp/overlay/internal/ui/messages.properties b/org.eclipse.m2e.wtp.overlay.ui/src/org/eclipse/m2e/wtp/overlay/internal/ui/messages.properties
new file mode 100644
index 0000000..ecbb466
--- /dev/null
+++ b/org.eclipse.m2e.wtp.overlay.ui/src/org/eclipse/m2e/wtp/overlay/internal/ui/messages.properties
@@ -0,0 +1 @@
+OverlayPublishingPreferencePage_Automatically_Republish_Servers_On_Overlay_Modifications=Automatically republish servers on overlay modifications
diff --git a/org.eclipse.m2e.wtp.overlay.ui/src/org/eclipse/m2e/wtp/overlay/internal/ui/preferences/OverlayPublishingPreferencePage.java b/org.eclipse.m2e.wtp.overlay.ui/src/org/eclipse/m2e/wtp/overlay/internal/ui/preferences/OverlayPublishingPreferencePage.java
index a09a8d3..6baa99c 100644
--- a/org.eclipse.m2e.wtp.overlay.ui/src/org/eclipse/m2e/wtp/overlay/internal/ui/preferences/OverlayPublishingPreferencePage.java
+++ b/org.eclipse.m2e.wtp.overlay.ui/src/org/eclipse/m2e/wtp/overlay/internal/ui/preferences/OverlayPublishingPreferencePage.java
@@ -10,6 +10,7 @@
 import org.eclipse.jface.preference.BooleanFieldEditor;
 import org.eclipse.jface.preference.FieldEditorPreferencePage;
 import org.eclipse.m2e.wtp.overlay.OverlayConstants;
+import org.eclipse.m2e.wtp.overlay.internal.ui.Messages;
 import org.eclipse.m2e.wtp.overlay.internal.ui.OverlayUIPluginActivator;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPreferencePage;
@@ -24,7 +25,7 @@
   @Override
   protected void createFieldEditors() {
     addField(new BooleanFieldEditor(OverlayConstants.P_REPUBLISH_ON_PROJECT_CHANGE, 
-                                    "Automatically republish servers on overlay modifications",
+                                    Messages.OverlayPublishingPreferencePage_Automatically_Republish_Servers_On_Overlay_Modifications,
                                     getFieldEditorParent()));
   }
 
diff --git a/org.eclipse.m2e.wtp.overlay/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.m2e.wtp.overlay/.settings/org.eclipse.jdt.core.prefs
index 19a6af7..827a3c3 100644
--- a/org.eclipse.m2e.wtp.overlay/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.m2e.wtp.overlay/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,95 @@
-#Sat Oct 29 12:10:30 CEST 2011
 eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=error
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=error
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.source=1.5
diff --git a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/OverlayConstants.java b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/OverlayConstants.java
index 3c8639b..55e584d 100644
--- a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/OverlayConstants.java
+++ b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/OverlayConstants.java
@@ -17,11 +17,11 @@
 
   private OverlayConstants(){}
 
-  public static final String PLUGIN_ID = "org.eclipse.m2e.wtp.overlay";
+  public static final String PLUGIN_ID = "org.eclipse.m2e.wtp.overlay"; //$NON-NLS-1$
 
   /**
    * Republish on server if an overlay dependency changed.
    */
-  public static final String P_REPUBLISH_ON_PROJECT_CHANGE = "republishOnProjectChange";
+  public static final String P_REPUBLISH_ON_PROJECT_CHANGE = "republishOnProjectChange"; //$NON-NLS-1$
 
 }
diff --git a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/Messages.java b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/Messages.java
new file mode 100644
index 0000000..f0c6d43
--- /dev/null
+++ b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/Messages.java
@@ -0,0 +1,26 @@
+package org.eclipse.m2e.wtp.overlay.internal;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.eclipse.m2e.wtp.overlay.internal.messages"; //$NON-NLS-1$
+	public static String CompressionUtil_Unable_To_Create_Output_Dir;
+	public static String CompressionUtil_Unpacking_Unable;
+	public static String CompressionUtil_Unzipping_Interrupted;
+	public static String OverlayVirtualArchiveComponent_Unpacking_Job;
+	public static String OverlayReferenceResolver_Missing_Parameter;
+	public static String OverlayReferenceResolver_Module_Name_Cant_Be_Inferred;
+	public static String OverlayReferenceResolver_Not_Workspace_Project;
+	public static String OverlayReferenceResolver_Unresolveable;
+	public static String UnpackArchiveJob_Deleteing_was_cancelled;
+	public static String UnpackArchiveJob_Error_Unpacking;
+	public static String UnpackArchiveJob_Refreshing;
+	public static String UnpackArchiveJob_Unpacking_Interrupted;
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}
diff --git a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/messages.properties b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/messages.properties
new file mode 100644
index 0000000..fe887f2
--- /dev/null
+++ b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/messages.properties
@@ -0,0 +1,13 @@
+CompressionUtil_Unable_To_Create_Output_Dir=Unable to create archive output directory - 
+CompressionUtil_Unpacking_Unable=Unable to unpack to {0}, it points to a missing file
+CompressionUtil_Unzipping_Interrupted=Unzipping {0} to {1} was interrupted
+OverlayVirtualArchiveComponent_Unpacking_Job=Unpacking {0}
+OverlayReferenceResolver_Missing_Parameter={0} is missing the {1} parameter
+OverlayReferenceResolver_Module_Name_Cant_Be_Inferred=module name can not be inferred from {0}
+OverlayReferenceResolver_Not_Workspace_Project={0} is not a workspace project
+OverlayReferenceResolver_Unresolveable={0} could not be resolved
+UnpackArchiveJob_Deleteing_was_cancelled=Deleting {0} was cancelled
+UnpackArchiveJob_Error_Unpacking=Error unpacking {0}
+UnpackArchiveJob_Refreshing=Refreshing {0}
+UnpackArchiveJob_Unpacking_Interrupted=Unpacking {0}  was interrupted
+
diff --git a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/CompositeVirtualFolder.java b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/CompositeVirtualFolder.java
index 8d30e94..98e59af 100644
--- a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/CompositeVirtualFolder.java
+++ b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/CompositeVirtualFolder.java
@@ -149,6 +149,7 @@
 		} else {
 			final String fileName = f.getName(); 
 			vf = new VirtualFile(project, flatFile.getModuleRelativePath(), f) {
+				@Override
 				public String getName() {
 					return fileName;
 				}
diff --git a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/DynamicResourceFilter.java b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/DynamicResourceFilter.java
index 664a2ac..35714dc 100644
--- a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/DynamicResourceFilter.java
+++ b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/DynamicResourceFilter.java
@@ -140,7 +140,7 @@
 		if (inclusions != null && !inclusions.isEmpty()) {
 			setIncludes(inclusions.toArray(new String[inclusions.size()]));
 		} else {
-			setIncludes(new String[]{"**/**"});
+			setIncludes(new String[]{"**/**"}); //$NON-NLS-1$
 		}
 		if (exclusions != null && !exclusions.isEmpty()) {
 			addExcludes(exclusions.toArray(new String[exclusions.size()]));
diff --git a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/FileSystemResourceFilter.java b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/FileSystemResourceFilter.java
index cce273a..9f82e2e 100644
--- a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/FileSystemResourceFilter.java
+++ b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/FileSystemResourceFilter.java
@@ -36,7 +36,7 @@
 		if (inclusions != null && !inclusions.isEmpty()) {
 			scanner.setIncludes(inclusions.toArray(new String[inclusions.size()]));
 		} else {
-			scanner.setIncludes(new String[]{"**/**"});
+			scanner.setIncludes(new String[]{"**/**"}); //$NON-NLS-1$
 		}
 		if (exclusions != null && !exclusions.isEmpty()) {
 			scanner.addExcludes(exclusions.toArray(new String[exclusions.size()]));
diff --git a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/OverlaySelfComponent.java b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/OverlaySelfComponent.java
index b9e9600..4d08eeb 100644
--- a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/OverlaySelfComponent.java
+++ b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/OverlaySelfComponent.java
@@ -33,6 +33,7 @@
 		super(aComponentProject);
 	}
 
+	@Override
 	public IVirtualFolder getRootFolder() {
 		IVirtualComponent component = ComponentCore.createComponent(getProject());
 		IVirtualFolder root =null;
diff --git a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/OverlayVirtualArchiveComponent.java b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/OverlayVirtualArchiveComponent.java
index de92fd8..8c3467e 100644
--- a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/OverlayVirtualArchiveComponent.java
+++ b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/OverlayVirtualArchiveComponent.java
@@ -11,14 +11,15 @@
 import java.io.File;
 import java.util.Set;
 
-import org.eclipse.core.internal.jobs.JobManager;
 import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.m2e.wtp.overlay.internal.Messages;
 import org.eclipse.m2e.wtp.overlay.modulecore.IOverlayVirtualComponent;
 import org.eclipse.m2e.wtp.overlay.modulecore.UnpackArchiveJob;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
@@ -56,6 +57,7 @@
 		this.exclusions = exclusionPatterns;
 	}
 	
+	@Override
 	public IVirtualFolder getRootFolder() {
 		IVirtualComponent component = ComponentCore.createComponent(getProject());
 		File archive = getArchive();
@@ -65,7 +67,7 @@
 			if (isUnpackNeeded(archive, unpackedFolder)) {
 			  Job[] currentJobs = Job.getJobManager().find(unpackedFolder);
 			  if (currentJobs.length == 0) {
-				  Job job = new UnpackArchiveJob("Unpacking "+archive.getName(), archive, unpackedFolder);
+				  Job job = new UnpackArchiveJob(NLS.bind(Messages.OverlayVirtualArchiveComponent_Unpacking_Job,archive.getName()), archive, unpackedFolder);
 				  job.schedule();
 			  }
 			  root = new ResourceListVirtualFolder(getProject(), getRuntimePath(), new IContainer[] {}); 	
diff --git a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/OverlayVirtualComponent.java b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/OverlayVirtualComponent.java
index a848b27..106560d 100644
--- a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/OverlayVirtualComponent.java
+++ b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/OverlayVirtualComponent.java
@@ -63,6 +63,7 @@
 		this.project = project;
 	}
 
+	@Override
 	public IVirtualFolder getRootFolder() {
 		return getRoot();
 	}
diff --git a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/ResourceListVirtualFolder.java b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/ResourceListVirtualFolder.java
index 55adbcf..12db0bc 100644
--- a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/ResourceListVirtualFolder.java
+++ b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/modulecore/ResourceListVirtualFolder.java
@@ -101,22 +101,27 @@
 		this.children.addAll(Arrays.asList(resources));
 	}
 	
+	@Override
 	public IResource getUnderlyingResource() {
 		return getUnderlyingFolder();
 	}
 	
+	@Override
 	public IResource[] getUnderlyingResources() {
 		return getUnderlyingFolders();
 	}
 
+	@Override
 	public IContainer getUnderlyingFolder() { 
 		return underlying.size() > 0 ? underlying.get(0) : null;
 	}
 	
+	@Override
 	public IContainer[] getUnderlyingFolders() {
 		return (IContainer[]) underlying.toArray(new IContainer[underlying.size()]);
 	}
 
+	@Override
 	public IVirtualResource[] members(int memberFlags) throws CoreException {
 		HashMap<String, IVirtualResource> virtualResources = new HashMap<String, IVirtualResource>(); // result
 		IResource[] resources = (IResource[]) this.children.toArray(new IResource[this.children.size()]);
diff --git a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/preferences/OverlayPreferencesInitializer.java b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/preferences/OverlayPreferencesInitializer.java
index b04ee6e..33f3bf8 100644
--- a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/preferences/OverlayPreferencesInitializer.java
+++ b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/preferences/OverlayPreferencesInitializer.java
@@ -19,7 +19,8 @@
   /**
    * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
    */
-  public void initializeDefaultPreferences() {
+  @Override
+public void initializeDefaultPreferences() {
     IEclipsePreferences store = ((IScopeContext) new DefaultScope()).getNode(OverlayPluginActivator.PLUGIN_ID);
     store.putBoolean(OverlayConstants.P_REPUBLISH_ON_PROJECT_CHANGE, true);
   }
diff --git a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/servers/OverlayResourceChangeListener.java b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/servers/OverlayResourceChangeListener.java
index 019a25c..491cd13 100644
--- a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/servers/OverlayResourceChangeListener.java
+++ b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/servers/OverlayResourceChangeListener.java
@@ -128,7 +128,7 @@
 			if (vc instanceof IOverlayVirtualComponent){
 			  IProject overlaidProject = vc.getProject(); 
 			  if (vc instanceof OverlaySelfComponent) {
-			    IPath componentFilePath = overlaidProject.getFile(".settings/org.eclipse.wst.common.component").getFullPath();
+			    IPath componentFilePath = overlaidProject.getFile(".settings/org.eclipse.wst.common.component").getFullPath(); //$NON-NLS-1$
 			    if (delta.findMember(componentFilePath) != null) {
 			      return true;
 			    }
diff --git a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/utilities/CompressionUtil.java b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/utilities/CompressionUtil.java
index 7b3b315..d438ff1 100644
--- a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/utilities/CompressionUtil.java
+++ b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/internal/utilities/CompressionUtil.java
@@ -24,6 +24,8 @@
 import org.apache.tools.ant.util.FileUtils;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.m2e.wtp.overlay.internal.Messages;
+import org.eclipse.osgi.util.NLS;
 
 /**
  * Compression utility class.
@@ -99,7 +101,7 @@
 				monitor.worked(1);
 				
 				if (monitor.isCanceled()) {
-					throw new InterruptedException(" unzipping " +archive.getAbsolutePath() + " to "+ projectFolderFile.getAbsolutePath() +" was interrupted");
+					throw new InterruptedException(NLS.bind(Messages.CompressionUtil_Unzipping_Interrupted, archive.getAbsolutePath(), projectFolderFile.getAbsolutePath()));
 				}
 			}
 		} finally {
@@ -117,12 +119,11 @@
       // Create output directory if needed
       if (!outputDirectory.mkdirs() && !outputDirectory.exists())
       {
-         throw new IOException("Unable to create archive output directory - " + outputDirectory);
+         throw new IOException(Messages.CompressionUtil_Unable_To_Create_Output_Dir + outputDirectory);
       }
       if (outputDirectory.isFile())
       {
-         throw new IllegalArgumentException("Unable to unpack to "
-               + outputDirectory.getAbsolutePath() + ", it points to an existing file");
+         throw new IllegalArgumentException(NLS.bind(Messages.CompressionUtil_Unpacking_Unable,outputDirectory.getAbsolutePath()));
       }
 	}
 	
diff --git a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/modulecore/ModuleURIUtil.java b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/modulecore/ModuleURIUtil.java
index 102b6d4..3a9ba23 100644
--- a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/modulecore/ModuleURIUtil.java
+++ b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/modulecore/ModuleURIUtil.java
@@ -23,22 +23,22 @@
  */
 public class ModuleURIUtil {
 
-	public static final String URI_SEPARATOR = "&";
+	public static final String URI_SEPARATOR = "&"; //$NON-NLS-1$
 	
 	public static Map<String, String> parseUri(String uri) {
 		if (uri == null || uri.length() == 0) {
 			return Collections.emptyMap();
 		}
 		Map<String, String> parameters = new HashMap<String, String>();
-		int start = uri.indexOf("?"); 
+		int start = uri.indexOf("?");  //$NON-NLS-1$
 		if (start > -1) {
 			uri = uri.substring(start+1);
 			String[] entries = uri.split(URI_SEPARATOR);
 			for (String entry : entries) {
-				if ("".equals(entry)) {
+				if ("".equals(entry)) { //$NON-NLS-1$
 					continue;
 				}
-				String[] keyValue = entry.split("=");
+				String[] keyValue = entry.split("="); //$NON-NLS-1$
 				if (keyValue.length == 2) {
 					parameters.put(keyValue[0], keyValue[1]);
 				}
@@ -52,10 +52,10 @@
 			return uri;
 		}
 		StringBuilder sb = new StringBuilder(uri);
-		sb.append("?");
+		sb.append("?"); //$NON-NLS-1$
 		for (Map.Entry<String, String> entry : parameters.entrySet()) {
 			   sb.append(entry.getKey())
-			   .append("=")
+			   .append("=") //$NON-NLS-1$
 			   .append(entry.getValue())
 			   .append(URI_SEPARATOR);
 		}
@@ -63,8 +63,8 @@
 	}
 	
 	public static String extractModuleName(String uri) {
-		if (uri != null && uri.indexOf("?") > 0) {
-			return uri.substring(0,uri.indexOf("?"));
+		if (uri != null && uri.indexOf("?") > 0) { //$NON-NLS-1$
+			return uri.substring(0,uri.indexOf("?")); //$NON-NLS-1$
 		}
 		return uri;
 	}
diff --git a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/modulecore/OverlayReferenceResolver.java b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/modulecore/OverlayReferenceResolver.java
index ab2c09a..6abc76b 100644
--- a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/modulecore/OverlayReferenceResolver.java
+++ b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/modulecore/OverlayReferenceResolver.java
@@ -18,9 +18,11 @@
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.emf.common.util.URI;
+import org.eclipse.m2e.wtp.overlay.internal.Messages;
 import org.eclipse.m2e.wtp.overlay.internal.modulecore.OverlaySelfComponent;
 import org.eclipse.m2e.wtp.overlay.internal.modulecore.OverlayVirtualArchiveComponent;
 import org.eclipse.m2e.wtp.overlay.internal.modulecore.OverlayVirtualComponent;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
 import org.eclipse.wst.common.componentcore.internal.DependencyType;
@@ -41,23 +43,23 @@
 @SuppressWarnings("restriction")
 public class OverlayReferenceResolver implements IReferenceResolver {
 
-  public static final String PROTOCOL = "module:/overlay/";
+  public static final String PROTOCOL = "module:/overlay/"; //$NON-NLS-1$
   
-  public static final String PROJECT_PROTOCOL = PROTOCOL+"prj/";
+  public static final String PROJECT_PROTOCOL = PROTOCOL+"prj/"; //$NON-NLS-1$
 
-  public static final String VAR_ARCHIVE_PROTOCOL = PROTOCOL+"var/";
+  public static final String VAR_ARCHIVE_PROTOCOL = PROTOCOL+"var/"; //$NON-NLS-1$
 
-  public static final String SELF_PROTOCOL = PROTOCOL+"slf/";
+  public static final String SELF_PROTOCOL = PROTOCOL+"slf/"; //$NON-NLS-1$
 
-  private static final String UNPACK_FOLDER = "unpackFolder";
+  private static final String UNPACK_FOLDER = "unpackFolder"; //$NON-NLS-1$
   
-  private static final String INCLUDES = "includes";
+  private static final String INCLUDES = "includes"; //$NON-NLS-1$
 
-  private static final String EXCLUDES = "excludes";
+  private static final String EXCLUDES = "excludes"; //$NON-NLS-1$
 
   public boolean canResolve(IVirtualComponent component, ReferencedComponent referencedComponent) {
     URI uri = referencedComponent.getHandle();
-    return uri != null && (uri.segmentCount() > 2) && (uri.segment(0).equals("overlay"));
+    return uri != null && (uri.segmentCount() > 2) && (uri.segment(0).equals("overlay")); //$NON-NLS-1$
   }
 
   public IVirtualReference resolve(IVirtualComponent component, ReferencedComponent referencedComponent) {
@@ -68,26 +70,26 @@
 	
 	String moduleName = ModuleURIUtil.extractModuleName(url);
 	if (moduleName == null || moduleName.trim().length() == 0) {
-		throw new IllegalArgumentException("module name can not be inferred from "+url);
+		throw new IllegalArgumentException(NLS.bind(Messages.OverlayReferenceResolver_Module_Name_Cant_Be_Inferred,url));
 	}
 	
-	if ("prj".equals(type)) {
+	if ("prj".equals(type)) { //$NON-NLS-1$
 		comp = createProjectComponent(component, moduleName.substring(PROJECT_PROTOCOL.length()));
-	} else if ("var".equals(type)) {
+	} else if ("var".equals(type)) { //$NON-NLS-1$
 		String unpackFolder = parameters.get(UNPACK_FOLDER);
 		if (unpackFolder == null || unpackFolder.trim().length() == 0) {
-			throw new IllegalArgumentException(url + " is missing the "+UNPACK_FOLDER+" parameter");
+			throw new IllegalArgumentException(NLS.bind(Messages.OverlayReferenceResolver_Missing_Parameter, url, UNPACK_FOLDER));
 		}
 		comp = createArchivecomponent(component, 
 									  moduleName.substring(PROTOCOL.length()), 
 									  unpackFolder, 
 									  referencedComponent.getRuntimePath());
 		
-	} else if ("slf".equals(type)){
+	} else if ("slf".equals(type)){ //$NON-NLS-1$
 		comp = createSelfComponent(component);
 	}
 	if (comp == null) {
-		throw new IllegalArgumentException(referencedComponent.getHandle() + " could not be resolved");
+		throw new IllegalArgumentException(NLS.bind(Messages.OverlayReferenceResolver_Unresolveable,referencedComponent.getHandle()));
 	}
 	
 	comp.setInclusions(getPatternSet(parameters.get(INCLUDES)));
@@ -105,7 +107,7 @@
 		return Collections.emptySet();
 	}
 	Set<String> patternSet = new LinkedHashSet<String>();
-	for (String pattern : patterns.split(";")) {
+	for (String pattern : patterns.split(";")) { //$NON-NLS-1$
 		patternSet.add(pattern);
 	}
 	return patternSet;
@@ -124,13 +126,13 @@
 
   private IOverlayVirtualComponent createProjectComponent(IVirtualComponent component, String name) {
     IProject p = null;   
-	if("".equals(name)) {
+	if("".equals(name)) { //$NON-NLS-1$
       p = component.getProject();
     } else {
       p = ResourcesPlugin.getWorkspace().getRoot().getProject(name);    	
     }
 	if (p == null) {
-		throw new IllegalArgumentException(name + " is not a workspace project");
+		throw new IllegalArgumentException(NLS.bind(Messages.OverlayReferenceResolver_Not_Workspace_Project, name));
 	}
 	return new OverlayVirtualComponent(p);
   }
@@ -175,7 +177,7 @@
 			boolean initialized = false;
 			for(String pattern : patterns) {
 				if (initialized) {
-					sb.append(";");
+					sb.append(";"); //$NON-NLS-1$
 				} else {
 					initialized = true;
 				}
diff --git a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/modulecore/UnpackArchiveJob.java b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/modulecore/UnpackArchiveJob.java
index 45bb7eb..9caab11 100644
--- a/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/modulecore/UnpackArchiveJob.java
+++ b/org.eclipse.m2e.wtp.overlay/src/org/eclipse/m2e/wtp/overlay/modulecore/UnpackArchiveJob.java
@@ -18,8 +18,10 @@
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
+import org.eclipse.m2e.wtp.overlay.internal.Messages;
 import org.eclipse.m2e.wtp.overlay.internal.OverlayPluginActivator;
 import org.eclipse.m2e.wtp.overlay.internal.utilities.CompressionUtil;
+import org.eclipse.osgi.util.NLS;
 
 /**
  * Job unpacking a {@link File} to a destination {@link IFolder}.
@@ -60,20 +62,20 @@
 				for (final IResource member : members)
 				{
 					if (monitor.isCanceled()) {
-						return new Status(IStatus.ERROR, OverlayPluginActivator.PLUGIN_ID, "Deleting "+member.getName() + " was cancelled");
+						return new Status(IStatus.ERROR, OverlayPluginActivator.PLUGIN_ID, NLS.bind(Messages.UnpackArchiveJob_Deleteing_was_cancelled, member.getName()));
 					}
 					member.delete(true, monitor);
 				}
 			}
 			unpack(archive, unpackFolder.getLocation().toOSString(), monitor);
 		} catch (IOException e) {
-			return new Status(IStatus.ERROR, OverlayPluginActivator.PLUGIN_ID, "Error unpacking "+archive.getName(), e);
+			return new Status(IStatus.ERROR, OverlayPluginActivator.PLUGIN_ID, NLS.bind(Messages.UnpackArchiveJob_Error_Unpacking, archive.getName()), e);
 		} catch (InterruptedException e) {
-			return new Status(IStatus.ERROR, OverlayPluginActivator.PLUGIN_ID, "Unpacking "+archive.getName() + " was interrupted", e);
+			return new Status(IStatus.ERROR, OverlayPluginActivator.PLUGIN_ID, NLS.bind(Messages.UnpackArchiveJob_Unpacking_Interrupted, archive.getName()) , e);
 		}
 		
 		//will run in scheduling rule of parent of unpackfolder, so should be run in a different job
-		new WorkspaceJob(unpackFolder.getLocation().toString() + " refresher") {
+		new WorkspaceJob(NLS.bind(Messages.UnpackArchiveJob_Refreshing, unpackFolder.getLocation().toString())) {
 
 			@Override
 			public IStatus runInWorkspace(final IProgressMonitor monitor) throws CoreException
diff --git a/org.eclipse.m2e.wtp/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.m2e.wtp/.settings/org.eclipse.jdt.core.prefs
index 478b884..d141c68 100644
--- a/org.eclipse.m2e.wtp/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.m2e.wtp/.settings/org.eclipse.jdt.core.prefs
@@ -1,22 +1,10 @@
 eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.uad,*.ucd,*.uld,*.upd,*.udd,*.uod,*.usd,*.utd,*.uud,*.odd,*.ead,*.ecd,*.eld,*.epd,*.edd,*.eod,*.esd,*.etd,*.eud,*.urd*.uml,*.ecore,,*.launch,*.ucls
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -24,20 +12,20 @@
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
 org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
 org.eclipse.jdt.core.compiler.problem.deadCode=warning
 org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
 org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
 org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
 org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
 org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
@@ -45,332 +33,67 @@
 org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
 org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
 org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
 org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
 org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
 org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
 org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
 org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
 org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
 org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
 org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
 org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
 org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
 org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
 org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
 org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
 org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
 org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
 org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
 org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
 org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
 org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
 org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
 org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
 org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
 org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
 org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
 org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
 org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedImport=error
 org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=error
 org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
 org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.source=1.6
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=2
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=1
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=2
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=120
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=2
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=2
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/org.eclipse.m2e.wtp/META-INF/MANIFEST.MF b/org.eclipse.m2e.wtp/META-INF/MANIFEST.MF
index bc0ef8c..eb1f8a9 100644
--- a/org.eclipse.m2e.wtp/META-INF/MANIFEST.MF
+++ b/org.eclipse.m2e.wtp/META-INF/MANIFEST.MF
@@ -52,6 +52,7 @@
    org.eclipse.wst.common.project.facet.core,
    org.apache.maven.plugin",
  org.eclipse.m2e.wtp.facets,
+ org.eclipse.m2e.wtp.internal;x-friends:="org.eclipse.m2e.wtp.tests",
  org.eclipse.m2e.wtp.preferences
 Bundle-Activator: org.eclipse.m2e.wtp.MavenWtpPlugin
 Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AbstractDependencyConfigurator.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AbstractDependencyConfigurator.java
index 7b1d8c5..ae33e20 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AbstractDependencyConfigurator.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AbstractDependencyConfigurator.java
@@ -31,13 +31,13 @@
 */
 public abstract class AbstractDependencyConfigurator {
 
-  public static final String ATTR_ID = "id";
+  public static final String ATTR_ID = "id"; //$NON-NLS-1$
   
-  public static final String ATTR_PRIORITY = "priority";
+  public static final String ATTR_PRIORITY = "priority"; //$NON-NLS-1$
 
-  public static final String ATTR_NAME = "name";
+  public static final String ATTR_NAME = "name"; //$NON-NLS-1$
   
-  public static final String ATTR_CLASS = "class";
+  public static final String ATTR_CLASS = "class"; //$NON-NLS-1$
   
   private int priority;
   private String id;
@@ -87,7 +87,7 @@
 
   @Override
   public String toString() {
-    return id + ":" + name + "(" + priority + ")";
+    return id + ":" + name + "(" + priority + ")";   //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
   }
 
   public void init() {
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AbstractFilteringSupportMavenPlugin.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AbstractFilteringSupportMavenPlugin.java
index 789e576..c436070 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AbstractFilteringSupportMavenPlugin.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AbstractFilteringSupportMavenPlugin.java
@@ -40,7 +40,7 @@
   public String getEscapeString() {
     Xpp3Dom config = getConfiguration();
     if(config != null) {
-      return DomUtils.getChildValue(config, "escapeString");
+      return DomUtils.getChildValue(config, "escapeString"); //$NON-NLS-1$
     }
     return null;
   }
@@ -48,7 +48,7 @@
   public Xpp3Dom[] getNonfilteredExtensions() {
     Xpp3Dom config = getConfiguration();
     if(config != null) {
-      Xpp3Dom extensionsNode = config.getChild("nonFilteredFileExtensions");
+      Xpp3Dom extensionsNode = config.getChild("nonFilteredFileExtensions"); //$NON-NLS-1$
       if (extensionsNode != null && extensionsNode.getChildCount() > 0) {
         return extensionsNode.getChildren();
       }
@@ -59,10 +59,10 @@
   public Collection<String> getFilters() {
     Xpp3Dom config = getConfiguration();
     if(config != null) {
-      Xpp3Dom filtersNode = config.getChild("filters");
+      Xpp3Dom filtersNode = config.getChild("filters"); //$NON-NLS-1$
       if (filtersNode != null && filtersNode.getChildCount() > 0) {
         List<String> filters = new ArrayList<String>(filtersNode.getChildCount());
-        for (Xpp3Dom filterNode : filtersNode.getChildren("filter")) {
+        for (Xpp3Dom filterNode : filtersNode.getChildren("filter")) { //$NON-NLS-1$
           String  filter = filterNode.getValue();
           if (!StringUtils.nullOrEmpty(filter)) {
             filters.add(filter);
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 7e5deb7..283fe8b 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
@@ -42,6 +42,7 @@
 import org.eclipse.m2e.core.project.IMavenProjectRegistry;
 import org.eclipse.m2e.core.project.MavenProjectUtils;
 import org.eclipse.m2e.jdt.IClasspathDescriptor;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.eclipse.m2e.wtp.internal.utilities.DebugUtilities;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.common.componentcore.ComponentCore;
@@ -72,9 +73,9 @@
   private static final Logger LOG = LoggerFactory.getLogger(AbstractProjectConfiguratorDelegate.class); 
   
   static final IClasspathAttribute NONDEPENDENCY_ATTRIBUTE = JavaCore.newClasspathAttribute(
-      IClasspathDependencyConstants.CLASSPATH_COMPONENT_NON_DEPENDENCY, "");
+      IClasspathDependencyConstants.CLASSPATH_COMPONENT_NON_DEPENDENCY, ""); //$NON-NLS-1$
 
-  protected static final IPath ROOT_PATH = new Path("/"); 
+  protected static final IPath ROOT_PATH = new Path("/");  //$NON-NLS-1$
 
   protected final IMavenProjectRegistry projectManager;
 
@@ -85,14 +86,15 @@
     this.mavenMarkerManager = MavenPluginActivator.getDefault().getMavenMarkerManager();
   }
   
-  public void configureProject(IProject project, MavenProject mavenProject, IProgressMonitor monitor) throws MarkedException {
+  @Override
+public void configureProject(IProject project, MavenProject mavenProject, IProgressMonitor monitor) throws MarkedException {
     try {
       mavenMarkerManager.deleteMarkers(project,MavenWtpConstants.WTP_MARKER_CONFIGURATION_ERROR_ID);
       configure(project, mavenProject, monitor);
     } catch (CoreException cex) {
       //TODO Filter out constraint violations
       mavenMarkerManager.addErrorMarkers(project, MavenWtpConstants.WTP_MARKER_CONFIGURATION_ERROR_ID, cex);
-      throw new MarkedException("Unable to configure "+project.getName(), cex);
+      throw new MarkedException(NLS.bind(Messages.AbstractProjectConfiguratorDelegate_Unable_To_Configure_Project,project.getName()), cex);
     }
   }
  
@@ -132,13 +134,13 @@
     
     //MECLIPSEWTP-182 check if the Java Project configurator has been successfully run before doing anything : 
     if (!checkJavaConfiguration(project, sourceRoots, resourceRoots)) {
-      LOG.warn("{} Utility Facet configuration is aborted as the Java Configuration is inconsistent", project.getName());
+      LOG.warn(NLS.bind(Messages.AbstractProjectConfiguratorDelegate_Error_Inconsistent_Java_Configuration, project.getName()));
       return;
     }
 
     boolean isDebugEnabled = DebugUtilities.isDebugEnabled();
     if (isDebugEnabled) {
-      DebugUtilities.debug(DebugUtilities.dumpProjectState("Before configuration ",project));
+      DebugUtilities.debug(DebugUtilities.dumpProjectState("Before configuration ",project)); //$NON-NLS-1$
     }
 
     // 2 - check if the manifest already exists, and its parent folder
@@ -168,14 +170,14 @@
     fixMissingModuleCoreNature(project, monitor);
     
     if (isDebugEnabled) {
-      DebugUtilities.debug(DebugUtilities.dumpProjectState("after configuration ",project));
+      DebugUtilities.debug(DebugUtilities.dumpProjectState("after configuration ",project)); //$NON-NLS-1$
     }
     //MNGECLIPSE-904 remove tests folder links for utility jars
-    removeTestFolderLinks(project, mavenProject, monitor, "/");
+    removeTestFolderLinks(project, mavenProject, monitor, "/"); //$NON-NLS-1$
     
     //Remove "library unavailable at runtime" warning.
     if (isDebugEnabled) {
-      DebugUtilities.debug(DebugUtilities.dumpProjectState("after removing test folders ",project));
+      DebugUtilities.debug(DebugUtilities.dumpProjectState("after removing test folders ",project)); //$NON-NLS-1$
     }
 
     setNonDependencyAttributeToContainer(project, monitor);
@@ -333,12 +335,14 @@
       return WTPProjectsUtil.hasChanged(existingRefs, refArray);
   }
 
-  public void configureClasspath(IProject project, MavenProject mavenProject, IClasspathDescriptor classpath,
+  @Override
+public void configureClasspath(IProject project, MavenProject mavenProject, IClasspathDescriptor classpath,
       IProgressMonitor monitor) throws CoreException {
     // do nothing
   }
 
-  public void setModuleDependencies(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
+  @Override
+public void setModuleDependencies(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
       throws CoreException {
     // do nothing
   }
@@ -346,13 +350,13 @@
   protected void addFoldersToClean(ResourceCleaner fileCleaner, IMavenProjectFacade facade) {
     for (IPath p : facade.getCompileSourceLocations()) {
       if (p != null) {
-        fileCleaner.addFiles(p.append("META-INF/MANIFEST.MF"));
+        fileCleaner.addFiles(p.append("META-INF/MANIFEST.MF")); //$NON-NLS-1$
         fileCleaner.addFolder(p);
       }
     }
     for (IPath p : facade.getResourceLocations()) {
       if (p != null) {
-        fileCleaner.addFiles(p.append("META-INF/MANIFEST.MF"));
+        fileCleaner.addFiles(p.append("META-INF/MANIFEST.MF")); //$NON-NLS-1$
         fileCleaner.addFolder(p);
       }
     }
@@ -395,10 +399,10 @@
     String componentInclusions = joinAsString(warSourceIncludes, packagingIncludes);
     String componentExclusions = joinAsString(warSourceExcludes, packagingExcludes);
     Properties props = component.getMetaProperties();
-    if (!componentInclusions.equals(props.getProperty(MavenWtpConstants.COMPONENT_INCLUSION_PATTERNS, ""))) {
+    if (!componentInclusions.equals(props.getProperty(MavenWtpConstants.COMPONENT_INCLUSION_PATTERNS, ""))) { //$NON-NLS-1$
       component.setMetaProperty(MavenWtpConstants.COMPONENT_INCLUSION_PATTERNS, componentInclusions);
     }
-    if (!componentExclusions.equals(props.getProperty(MavenWtpConstants.COMPONENT_EXCLUSION_PATTERNS, ""))) {
+    if (!componentExclusions.equals(props.getProperty(MavenWtpConstants.COMPONENT_EXCLUSION_PATTERNS, ""))) { //$NON-NLS-1$
       component.setMetaProperty(MavenWtpConstants.COMPONENT_EXCLUSION_PATTERNS, componentExclusions);
     }
   }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AcrPluginConfiguration.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AcrPluginConfiguration.java
index 034661c..873e2c9 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AcrPluginConfiguration.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AcrPluginConfiguration.java
@@ -23,6 +23,7 @@
 import org.eclipse.jst.jee.util.internal.JavaEEQuickPeek;
 import org.eclipse.m2e.core.project.IMavenProjectFacade;
 import org.eclipse.m2e.core.project.MavenProjectUtils;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
 
 /**
@@ -46,10 +47,10 @@
 
     MavenProject mavenProject = facade.getMavenProject();
     if (JEEPackaging.APP_CLIENT != JEEPackaging.getValue(mavenProject.getPackaging()))
-      throw new IllegalArgumentException("Maven project must have app-client packaging");
+      throw new IllegalArgumentException(Messages.AcrPluginConfiguration_Error_Project_Not_appclient);
     
     this.mavenProjectFacade = facade;
-    Plugin plugin = mavenProject.getPlugin("org.apache.maven.plugins:maven-acr-plugin");
+    Plugin plugin = mavenProject.getPlugin("org.apache.maven.plugins:maven-acr-plugin"); //$NON-NLS-1$
     if (plugin != null) {
       setConfiguration((Xpp3Dom) plugin.getConfiguration()); 
     }
@@ -86,7 +87,7 @@
     }
    
     //If no application-client.xml found and the project depends on some java EE 6 jar then set application client facet to 6.0
-    if (WTPProjectsUtil.hasInClassPath(mavenProjectFacade.getProject(), "javax.servlet.annotation.WebServlet")) {
+    if (WTPProjectsUtil.hasInClassPath(mavenProjectFacade.getProject(), "javax.servlet.annotation.WebServlet")) { //$NON-NLS-1$
       return IJ2EEFacetConstants.APPLICATION_CLIENT_60;
     }
     
@@ -100,8 +101,8 @@
     IProject project = mavenProjectFacade.getProject();
     String contentDir = null;
     for (IPath path : mavenProjectFacade.getResourceLocations()) {
-      contentDir = path.toPortableString()+"/META-INF";
-      IFile applicationClientXml = project.getFolder(contentDir).getFile("application-client.xml");
+      contentDir = path.toPortableString()+"/META-INF"; //$NON-NLS-1$
+      IFile applicationClientXml = project.getFolder(contentDir).getFile("application-client.xml"); //$NON-NLS-1$
       if (applicationClientXml.exists()) {
         return applicationClientXml;
       }
@@ -117,8 +118,9 @@
     return resources[0].toPortableString();
   }
   
-  protected String getFilteringAttribute() {
-    return "filterDeploymentDescriptor";
+  @Override
+protected String getFilteringAttribute() {
+    return "filterDeploymentDescriptor"; //$NON-NLS-1$
   }
 
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AppClientProjectConfiguratorDelegate.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AppClientProjectConfiguratorDelegate.java
index acf77a5..12da1d5 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AppClientProjectConfiguratorDelegate.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AppClientProjectConfiguratorDelegate.java
@@ -42,7 +42,8 @@
  */
 class AppClientProjectConfiguratorDelegate extends AbstractProjectConfiguratorDelegate {
 
-  protected void configure(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
+  @Override
+protected void configure(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
       throws CoreException {
    
     IFacetedProject facetedProject = ProjectFacetsManager.create(project, true, monitor);
@@ -82,11 +83,11 @@
     fixMissingModuleCoreNature(project, monitor);
     
     //Remove test folder links to prevent exporting them when packaging the project
-    removeTestFolderLinks(project, mavenProject, monitor, "/");
+    removeTestFolderLinks(project, mavenProject, monitor, "/"); //$NON-NLS-1$
     
     IVirtualComponent component = ComponentCore.createComponent(project);
     if (component != null) {
-      IPath contentDirPath = new Path("/").append(contentDir);
+      IPath contentDirPath = new Path("/").append(contentDir); //$NON-NLS-1$
       WTPProjectsUtil.setDefaultDeploymentDescriptorFolder(component.getRootFolder(), contentDirPath, monitor);
     }
     
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/ArtifactHelper.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/ArtifactHelper.java
index 9969952..8d9d462 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/ArtifactHelper.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/ArtifactHelper.java
@@ -21,6 +21,7 @@
 import org.eclipse.m2e.core.embedder.ArtifactKey;
 import org.eclipse.m2e.core.project.IMavenProjectFacade;
 import org.eclipse.m2e.jdt.internal.BuildPathManager;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
 
 /**
@@ -45,7 +46,7 @@
   //XXX Does maven API provide that kind of feature? 
   public static IPath getLocalRepoRelativePath(Artifact artifact) {
     if (artifact == null) {
-      throw new IllegalArgumentException("artifact must not be null");
+      throw new IllegalArgumentException(Messages.ArtifactHelper_Error_Artifact_Must_Not_Be_Null);
     }
     
     IPath m2repo = JavaCore.getClasspathVariable(BuildPathManager.M2_REPO); //always set
@@ -100,8 +101,8 @@
    */
   @Deprecated
   public static void fixArtifactHandler(ArtifactHandler artifactHandler) {
-	  if ("app-client".equals(artifactHandler.getExtension()) && artifactHandler instanceof DefaultArtifactHandler) {
-		  ((DefaultArtifactHandler)artifactHandler).setExtension("jar");
+	  if ("app-client".equals(artifactHandler.getExtension()) && artifactHandler instanceof DefaultArtifactHandler) { //$NON-NLS-1$
+		  ((DefaultArtifactHandler)artifactHandler).setExtension("jar"); //$NON-NLS-1$
 		  ((DefaultArtifactHandler)artifactHandler).setAddedToClasspath(true);
 	  }
   }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/ConnectorProjectConfiguratorDelegate.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/ConnectorProjectConfiguratorDelegate.java
index 5bcafcc..c3d29ce 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/ConnectorProjectConfiguratorDelegate.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/ConnectorProjectConfiguratorDelegate.java
@@ -43,7 +43,7 @@
 import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
 
 /**
- * Configures Connector (RAR) projects based on their mavenè-rar-plugin configuration.
+ * Configures Connector (RAR) projects based on their maven-rar-plugin configuration.
  *
  * @author Fred Bricon
  */
@@ -54,7 +54,8 @@
   /* (non-Javadoc)
    * @see org.eclipse.m2e.wtp.AbstractProjectConfiguratorDelegate#configure(org.eclipse.core.resources.IProject, org.apache.maven.project.MavenProject, org.eclipse.core.runtime.IProgressMonitor)
    */
-  protected void configure(IProject project, MavenProject mavenProject, IProgressMonitor monitor) throws CoreException {
+  @Override
+protected void configure(IProject project, MavenProject mavenProject, IProgressMonitor monitor) throws CoreException {
     IFacetedProject facetedProject = ProjectFacetsManager.create(project, true, monitor);
     if (facetedProject == null) {
       return;
@@ -101,9 +102,9 @@
       ResourceCleaner fileCleaner = new ResourceCleaner(project);
       try {
         addFoldersToClean(fileCleaner, facade);
-        fileCleaner.addFiles(contentFolder.getFile("META-INF/MANIFEST.MF").getProjectRelativePath());
+        fileCleaner.addFiles(contentFolder.getFile("META-INF/MANIFEST.MF").getProjectRelativePath()); //$NON-NLS-1$
         if (customRaXml != null) {
-          fileCleaner.addFiles(contentFolder.getFile("META-INF/ra.xml").getProjectRelativePath());
+          fileCleaner.addFiles(contentFolder.getFile("META-INF/ra.xml").getProjectRelativePath()); //$NON-NLS-1$
         }
         
         facetedProject.modify(actions, monitor);
@@ -126,11 +127,11 @@
         removeSourceLinks(component, mavenProject, monitor);
       }
       
-      removeTestFolderLinks(project, mavenProject, monitor, "/"); 
+      removeTestFolderLinks(project, mavenProject, monitor, "/");  //$NON-NLS-1$
       
-      linkFileFirst(project, customRaXml, "META-INF/ra.xml", monitor);
+      linkFileFirst(project, customRaXml, "META-INF/ra.xml", monitor); //$NON-NLS-1$
 
-      IPath contentDirPath = new Path("/").append(contentDir);
+      IPath contentDirPath = new Path("/").append(contentDir); //$NON-NLS-1$
       
       if (!WTPProjectsUtil.hasLink(project, ROOT_PATH, contentDirPath, monitor)) {
         component.getRootFolder().createLink(contentDirPath, IVirtualResource.NONE, monitor); 
@@ -186,7 +187,8 @@
   /**
    * @see org.eclipse.m2e.wtp.IProjectConfiguratorDelegate#setModuleDependencies(org.eclipse.core.resources.IProject, org.apache.maven.project.MavenProject, org.eclipse.core.runtime.IProgressMonitor)
    */
-  public void setModuleDependencies(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
+  @Override
+public void setModuleDependencies(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
       throws CoreException {
 
     IVirtualComponent rarComponent = ComponentCore.createComponent(project);
@@ -199,7 +201,7 @@
     for(Artifact artifact : artifacts) {
     	ArtifactHelper.fixArtifactHandler(artifact.getArtifactHandler());
       //Don't deploy pom, non runtime or optional dependencies
-      if("pom".equals(artifact.getType()) || !SCOPE_FILTER_RUNTIME.include(artifact) || artifact.isOptional()) {
+      if("pom".equals(artifact.getType()) || !SCOPE_FILTER_RUNTIME.include(artifact) || artifact.isOptional()) { //$NON-NLS-1$
         continue;
       }
       
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/DomUtils.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/DomUtils.java
index 284fa77..83ed154 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/DomUtils.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/DomUtils.java
@@ -79,7 +79,7 @@
     if(config != null) {
       Xpp3Dom excl = config.getChild(patternParameterName);
       if(excl != null) {
-        return org.eclipse.m2e.wtp.internal.StringUtils.tokenizeToStringArray(excl.getValue(), ",");
+        return org.eclipse.m2e.wtp.internal.StringUtils.tokenizeToStringArray(excl.getValue(), ","); //$NON-NLS-1$
       }
     }
     return new String[0];
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EarPluginConfiguration.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EarPluginConfiguration.java
index 45e83fd..f1629e5 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EarPluginConfiguration.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EarPluginConfiguration.java
@@ -30,8 +30,10 @@
 import org.eclipse.m2e.wtp.earmodules.EarModuleFactory;
 import org.eclipse.m2e.wtp.earmodules.EarPluginException;
 import org.eclipse.m2e.wtp.earmodules.SecurityRoleKey;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.eclipse.m2e.wtp.namemapping.FileNameMapping;
 import org.eclipse.m2e.wtp.namemapping.FileNameMappingFactory;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -53,9 +55,9 @@
   private static final Logger LOG = LoggerFactory.getLogger(EarPluginConfiguration.class);
 
   //Careful : This has a different meaning from the default library directory (/lib)
-  private static final String EAR_DEFAULT_BUNDLE_DIR = "/"; 
+  private static final String EAR_DEFAULT_BUNDLE_DIR = "/";  //$NON-NLS-1$
 
-  private static final String EAR_DEFAULT_CONTENT_DIR = "src/main/application"; // J2EEConstants.EAR_DEFAULT_LIB_DIR
+  private static final String EAR_DEFAULT_CONTENT_DIR = "src/main/application"; // J2EEConstants.EAR_DEFAULT_LIB_DIR //$NON-NLS-1$
 
   // Default EAR version produced by the maven-ear-plugin
   private static final IProjectFacetVersion DEFAULT_EAR_FACET = IJ2EEFacetConstants.ENTERPRISE_APPLICATION_13;
@@ -76,7 +78,7 @@
   
   public EarPluginConfiguration(MavenProject mavenProject) {
     if(JEEPackaging.EAR != JEEPackaging.getValue(mavenProject.getPackaging())) {
-      throw new IllegalArgumentException("Maven project must have ear packaging");
+      throw new IllegalArgumentException(Messages.EarPluginConfiguration_Project_Must_Have_ear_Packaging);
     }
 
     this.mavenProject = mavenProject;
@@ -85,7 +87,7 @@
   }
 
   public Plugin getPlugin() {
-    return mavenProject.getPlugin("org.apache.maven.plugins:maven-ear-plugin");
+    return mavenProject.getPlugin("org.apache.maven.plugins:maven-ear-plugin"); //$NON-NLS-1$
   }
 
 
@@ -100,7 +102,7 @@
       return DEFAULT_EAR_FACET;
     }
 
-    Xpp3Dom domVersion = config.getChild("version");
+    Xpp3Dom domVersion = config.getChild("version"); //$NON-NLS-1$
     if(domVersion != null) {
       String sVersion = domVersion.getValue();
       try {
@@ -112,11 +114,11 @@
           //If Ear Version > 5.0 and WTP < 3.2, downgrade to Ear facet 5.0
           LOG.warn(e.getMessage());
           if (version > 5.0){
-            return IJ2EEFacetConstants.ENTERPRISE_APPLICATION_FACET.getVersion("5.0");
+            return IJ2EEFacetConstants.ENTERPRISE_APPLICATION_FACET.getVersion("5.0"); //$NON-NLS-1$
           }
         }
         } catch(NumberFormatException nfe) {
-        LOG.error("unable to read ear version : " + sVersion, nfe);
+        LOG.error(NLS.bind(Messages.EarPluginConfiguration_Error_Reading_EAR_Version,sVersion), nfe);
         return DEFAULT_EAR_FACET;
       }
     }
@@ -132,7 +134,7 @@
   public String getEarContentDirectory(IProject project) {
     Xpp3Dom config = getConfiguration();
     if(config != null) {
-      Xpp3Dom contentDirDom = config.getChild("earSourceDirectory");
+      Xpp3Dom contentDirDom = config.getChild("earSourceDirectory"); //$NON-NLS-1$
       if(contentDirDom != null && contentDirDom.getValue() != null) {
         String contentDir = contentDirDom.getValue().trim();
         
@@ -161,7 +163,7 @@
     if(libDirectory == null) {
       Xpp3Dom config = getConfiguration();
       if(config != null) {
-        Xpp3Dom libDom = config.getChild("defaultLibBundleDir");
+        Xpp3Dom libDom = config.getChild("defaultLibBundleDir"); //$NON-NLS-1$
         if(libDom != null && libDom.getValue() != null) {
           String libDir = libDom.getValue().trim();
           libDirectory = (libDir.length() == 0) ? EAR_DEFAULT_BUNDLE_DIR : libDir;
@@ -226,7 +228,7 @@
 
       // If the artifact's type is POM, ignore and continue
       // since it's used for transitive deps only.
-      if("pom".equals(artifact.getType())) {
+      if("pom".equals(artifact.getType())) { //$NON-NLS-1$
         continue;
       }
 
@@ -245,7 +247,7 @@
 
   private String getMainArtifactId() {
     // TODO read xml config
-    return "none";
+    return "none"; //$NON-NLS-1$
   }
 
   private ArtifactTypeMappingService getArtifactTypeMappingService() throws EarPluginException {
@@ -253,7 +255,7 @@
       Xpp3Dom config = getConfiguration();
       Xpp3Dom artifactTypeMappingConfig = null;
       if (config != null) {
-        artifactTypeMappingConfig = config.getChild("artifactTypeMappings");
+        artifactTypeMappingConfig = config.getChild("artifactTypeMappings"); //$NON-NLS-1$
       }
       typeMappingService = new ArtifactTypeMappingService(artifactTypeMappingConfig);
     }
@@ -267,7 +269,7 @@
       return FileNameMappingFactory.getDefaultFileNameMapping();
     }
 
-    Xpp3Dom fileNameMappingDom = config.getChild("fileNameMapping");
+    Xpp3Dom fileNameMappingDom = config.getChild("fileNameMapping"); //$NON-NLS-1$
     if(fileNameMappingDom != null) {
       String fileNameMappingName = fileNameMappingDom.getValue().trim();
       return FileNameMappingFactory.getFileNameMapping(fileNameMappingName);
@@ -286,7 +288,7 @@
     if(configuration == null) {
       return earModules;
     }
-    Xpp3Dom modulesNode = configuration.getChild("modules");
+    Xpp3Dom modulesNode = configuration.getChild("modules"); //$NON-NLS-1$
 
     if(modulesNode == null) {
       return earModules;
@@ -322,7 +324,7 @@
     if(configuration == null) {
       return true;
     }
-    Xpp3Dom generateApplicationXmlNode = configuration.getChild("generateApplicationXml");
+    Xpp3Dom generateApplicationXmlNode = configuration.getChild("generateApplicationXml"); //$NON-NLS-1$
     return (generateApplicationXmlNode == null) || Boolean.parseBoolean(generateApplicationXmlNode.getValue());
   }
   
@@ -332,21 +334,21 @@
     if(configuration == null) {
       return securityRoles;
     }
-    Xpp3Dom securityNode = configuration.getChild("security");
+    Xpp3Dom securityNode = configuration.getChild("security"); //$NON-NLS-1$
 
     if(securityNode == null) {
       return securityRoles;
     }
 
-    Xpp3Dom[] secRoles = securityNode.getChildren("security-role");
+    Xpp3Dom[] secRoles = securityNode.getChildren("security-role"); //$NON-NLS-1$
     if(secRoles == null || secRoles.length == 0) {
       return securityRoles;
     }
     
     for(Xpp3Dom domSecRole : secRoles) {
-      String id = domSecRole.getAttribute("id");
-      String description = DomUtils.getChildValue(domSecRole, "description");
-      String roleName = DomUtils.getChildValue(domSecRole, "role-name");
+      String id = domSecRole.getAttribute("id"); //$NON-NLS-1$
+      String description = DomUtils.getChildValue(domSecRole, "description"); //$NON-NLS-1$
+      String roleName = DomUtils.getChildValue(domSecRole, "role-name"); //$NON-NLS-1$
       if (roleName != null)
       {
         SecurityRoleKey srk = new SecurityRoleKey();
@@ -360,8 +362,9 @@
     return securityRoles;
   }
 
+  @Override
   protected String getFilteringAttribute() {
-    return "filtering";
+    return "filtering"; //$NON-NLS-1$
   }
 
   public boolean isIncludeLibInApplicationXml() {
@@ -370,40 +373,46 @@
       return false;
     }
     
-    boolean isIncluded = DomUtils.getBooleanChildValue(configuration, "includeLibInApplicationXml");
+    boolean isIncluded = DomUtils.getBooleanChildValue(configuration, "includeLibInApplicationXml"); //$NON-NLS-1$
     return isIncluded;
   }
 
+  @Override
   public String[] getPackagingExcludes() {
-    return DomUtils.getPatternsAsArray(getConfiguration(),"packagingExcludes");
+    return DomUtils.getPatternsAsArray(getConfiguration(),"packagingExcludes"); //$NON-NLS-1$
   }
 
+  @Override
   public String[] getPackagingIncludes() {
-    return DomUtils.getPatternsAsArray(getConfiguration(),"packagingIncludes");
+    return DomUtils.getPatternsAsArray(getConfiguration(),"packagingIncludes"); //$NON-NLS-1$
   }
   
+  @Override
   public String[] getSourceExcludes() {
-    return DomUtils.getPatternsAsArray(getConfiguration(),"earSourceExcludes");
+    return DomUtils.getPatternsAsArray(getConfiguration(),"earSourceExcludes"); //$NON-NLS-1$
   }
 
+  @Override
   public String[] getSourceIncludes() {
-    return DomUtils.getPatternsAsArray(getConfiguration(),"earSourceIncludes");
+    return DomUtils.getPatternsAsArray(getConfiguration(),"earSourceIncludes"); //$NON-NLS-1$
   }  
   
+  @Override
   public SourceLocation getSourceLocation() {
     Plugin plugin = getPlugin();
     if (plugin == null) {
       return null;
     }
-    return SourceLocationHelper.findLocation(plugin, "configuration");
+    return SourceLocationHelper.findLocation(plugin, "configuration"); //$NON-NLS-1$
   }
 
+  @Override
   public String getSourceIncludeParameterName() {
-    return "earSourceIncludes";
+    return "earSourceIncludes"; //$NON-NLS-1$
   }
   
   public String getFinalName() {
-    String finalName = DomUtils.getChildValue(getConfiguration(), "finalName");
+    String finalName = DomUtils.getChildValue(getConfiguration(), "finalName"); //$NON-NLS-1$
     if (StringUtils.isEmpty(finalName)) {
       finalName = mavenProject.getBuild().getFinalName(); 
     }
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 bae6a18..6f4f486 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
@@ -37,7 +37,9 @@
 import org.eclipse.m2e.core.internal.IMavenConstants;
 import org.eclipse.m2e.core.project.IMavenProjectFacade;
 import org.eclipse.m2e.wtp.earmodules.EarModule;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.eclipse.m2e.wtp.internal.utilities.PathUtil;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.ModuleCoreNature;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
@@ -64,10 +66,11 @@
 
   private static final Logger LOG = LoggerFactory.getLogger(EarProjectConfiguratorDelegate.class); 
 
-  protected void configure(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
+  @Override
+protected void configure(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
       throws CoreException {
     
-    monitor.setTaskName("Configuring EAR project " + project.getName());
+    monitor.setTaskName(NLS.bind(Messages.EarProjectConfiguratorDelegate_Configuring_EAR_Project,project.getName()));
     
     IFacetedProject facetedProject = ProjectFacetsManager.create(project, true, monitor);
     IMavenProjectFacade facade = MavenPlugin.getMavenProjectRegistry().create(project.getFile(IMavenConstants.POM_FILE_NAME), true, monitor);
@@ -81,7 +84,7 @@
 
     ResourceCleaner fileCleaner = new ResourceCleaner(project);
     addFoldersToClean(fileCleaner, facade);
-    fileCleaner.addFiles(contentFolder.getFile("META-INF/application.xml").getProjectRelativePath());
+    fileCleaner.addFiles(contentFolder.getFile("META-INF/application.xml").getProjectRelativePath()); //$NON-NLS-1$
 
     IProjectFacetVersion earFv = config.getEarFacetVersion();
     if(!facetedProject.hasProjectFacet(WTPProjectsUtil.EAR_FACET)) {
@@ -105,14 +108,14 @@
         //Remove any WTP created files (extras application.xml and manifest) 
         fileCleaner.cleanUp();
       } catch (CoreException cex) {
-        LOG.error("Error while cleaning up WTP's created files", cex);
+        LOG.error(Messages.Error_Cleaning_WTP_Files, cex);
       }
     }
     //MECLIPSEWTP-41 Fix the missing moduleCoreNature
     fixMissingModuleCoreNature(project, monitor);
     
     IVirtualComponent earComponent = ComponentCore.createComponent(project);
-    IPath contentDirPath = new Path((contentDir.startsWith("/"))?contentDir:"/"+contentDir);
+    IPath contentDirPath = new Path((contentDir.startsWith("/"))?contentDir:"/"+contentDir); //$NON-NLS-1$ //$NON-NLS-2$
     //Ensure the EarContent link has been created
     if (!WTPProjectsUtil.hasLink(project, ROOT_PATH, contentDirPath, monitor)) {
       earComponent.getRootFolder().createLink(contentDirPath, IVirtualResource.NONE, monitor);
@@ -126,7 +129,7 @@
     sourcePaths.add(contentDirPath);
     
     if (useBuildDirectory) {
-      IPath m2eclipseWtpFolderPath = new Path("/").append(ProjectUtils.getM2eclipseWtpFolder(mavenProject, project));
+      IPath m2eclipseWtpFolderPath = new Path("/").append(ProjectUtils.getM2eclipseWtpFolder(mavenProject, project)); //$NON-NLS-1$
       ProjectUtils.hideM2eclipseWtpFolder(mavenProject, project);
       IPath generatedResourcesPath = m2eclipseWtpFolderPath.append(Path.SEPARATOR+MavenWtpConstants.EAR_RESOURCES_FOLDER);
       sourcePaths.add(generatedResourcesPath);
@@ -138,13 +141,13 @@
     //MECLIPSEWTP-161 remove stale source paths
     WTPProjectsUtil.deleteLinks(project, ROOT_PATH, sourcePaths, monitor);
     
-    removeTestFolderLinks(project, mavenProject, monitor, "/");
+    removeTestFolderLinks(project, mavenProject, monitor, "/"); //$NON-NLS-1$
     
     ProjectUtils.removeNature(project, JavaCore.NATURE_ID, monitor);
 
     String finalName = config.getFinalName();
-    if (!finalName.endsWith(".ear")) {
-      finalName += ".ear";
+    if (!finalName.endsWith(".ear")) { //$NON-NLS-1$
+      finalName += ".ear"; //$NON-NLS-1$
     }
     configureDeployedName(project, finalName);
     project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
@@ -161,7 +164,8 @@
     return earModelCfg;
   }
 
-  public void setModuleDependencies(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
+  @Override
+public void setModuleDependencies(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
       throws CoreException {
     IFacetedProject facetedProject = ProjectFacetsManager.create(project, true, monitor);
     if(!facetedProject.hasProjectFacet(WTPProjectsUtil.EAR_FACET)) {
@@ -203,7 +207,7 @@
       
       if (depComponent != null && packagingConfig.isPackaged(earModule.getUri())) {
         IVirtualReference depRef = ComponentCore.createReference(earComponent, depComponent);
-        String bundleDir = (StringUtils.isBlank(earModule.getBundleDir()))?"/":earModule.getBundleDir();
+        String bundleDir = (StringUtils.isBlank(earModule.getBundleDir()))?"/":earModule.getBundleDir(); //$NON-NLS-1$
         depRef.setRuntimePath(new Path(bundleDir));
         depRef.setArchiveName(earModule.getBundleFileName());
         newRefs.add(depRef);
@@ -237,18 +241,19 @@
     }
     final Application app = (Application)earModel.getModelObject();
     if (app != null) {
-      if (newLibDir == null || "/".equals(newLibDir)) {
-        newLibDir = "lib";
+      if (newLibDir == null || "/".equals(newLibDir)) { //$NON-NLS-1$
+        newLibDir = "lib"; //$NON-NLS-1$
       } 
       //MECLIPSEWTP-167 : lib directory mustn't start with a slash
-      else if (newLibDir.startsWith("/")) {
+      else if (newLibDir.startsWith("/")) { //$NON-NLS-1$
         newLibDir = newLibDir.substring(1);
       }
       String oldLibDir = app.getLibraryDirectory();
       if (newLibDir.equals(oldLibDir)) return;
       final String libDir = newLibDir;
       earModel.modify(new Runnable() {
-        public void run() {     
+        @Override
+		public void run() {     
         app.setLibraryDirectory(libDir);
       }}, null);
     }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EjbPluginConfiguration.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EjbPluginConfiguration.java
index 7867043..9d2c2bb 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EjbPluginConfiguration.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EjbPluginConfiguration.java
@@ -15,6 +15,7 @@
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants;
 import org.eclipse.m2e.core.project.MavenProjectUtils;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -46,10 +47,10 @@
   public EjbPluginConfiguration(MavenProject mavenProject) {
 
     if (JEEPackaging.EJB != JEEPackaging.getValue(mavenProject.getPackaging()))
-      throw new IllegalArgumentException("Maven project must have ejb packaging");
+      throw new IllegalArgumentException(Messages.EjbPluginConfiguration_Project_Must_Have_ejb_Packaging);
     
     this.ejbProject = mavenProject;
-    this.plugin = mavenProject.getPlugin("org.apache.maven.plugins:maven-ejb-plugin");
+    this.plugin = mavenProject.getPlugin("org.apache.maven.plugins:maven-ejb-plugin"); //$NON-NLS-1$
   }
 
   /**
@@ -66,14 +67,14 @@
       return DEFAULT_EJB_FACET_VERSION; 
     }
     
-    String ejbVersion = DomUtils.getChildValue(dom, "ejbVersion");
+    String ejbVersion = DomUtils.getChildValue(dom, "ejbVersion"); //$NON-NLS-1$
     if (ejbVersion != null) {
       try {
         return WTPProjectsUtil.EJB_FACET.getVersion(ejbVersion);
       } catch (Exception e) {
         LOG.warn(e.getMessage());
         //If ejbVersion > 3.0 and WTP < 3.2, then downgrade to ejb facet 3.0
-        if (ejbVersion.startsWith("3.")){
+        if (ejbVersion.startsWith("3.")){ //$NON-NLS-1$
           return IJ2EEFacetConstants.EJB_30;
         }
       }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EjbProjectConfiguratorDelegate.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EjbProjectConfiguratorDelegate.java
index e01f3d2..887fa4e 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EjbProjectConfiguratorDelegate.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/EjbProjectConfiguratorDelegate.java
@@ -42,7 +42,8 @@
 @SuppressWarnings("restriction")
 class EjbProjectConfiguratorDelegate extends AbstractProjectConfiguratorDelegate {
 
-  protected void configure(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
+  @Override
+protected void configure(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
       throws CoreException {
     IFacetedProject facetedProject = ProjectFacetsManager.create(project, true, monitor);
 
@@ -79,11 +80,11 @@
     //MECLIPSEWTP-41 Fix the missing moduleCoreNature
     fixMissingModuleCoreNature(project, monitor);
     
-    removeTestFolderLinks(project, mavenProject, monitor, "/");
+    removeTestFolderLinks(project, mavenProject, monitor, "/"); //$NON-NLS-1$
 
     IVirtualComponent ejbComponent = ComponentCore.createComponent(project);
     if (ejbComponent != null) {
-      IPath contentDirPath = new Path("/").append(contentDir);
+      IPath contentDirPath = new Path("/").append(contentDir); //$NON-NLS-1$
       WTPProjectsUtil.setDefaultDeploymentDescriptorFolder(ejbComponent.getRootFolder(), contentDirPath, monitor);
     }
     
@@ -100,7 +101,8 @@
     return ejbModelCfg;
   }
 
-  public void setModuleDependencies(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
+  @Override
+public void setModuleDependencies(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
       throws CoreException {
     // TODO check if there's anything to do!
   }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/JEEPackaging.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/JEEPackaging.java
index 9c5105a..70e1b6d 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/JEEPackaging.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/JEEPackaging.java
@@ -17,23 +17,23 @@
   /**
    * Web project.
    */
-  WAR("war"),
+  WAR("war"), //$NON-NLS-1$
   /**
    * Enterprise Java Bean.
    */
-  EJB("ejb"),
+  EJB("ejb"), //$NON-NLS-1$
   /**
    * Enterprise Application Resource.
    */
-  EAR("ear"),
+  EAR("ear"), //$NON-NLS-1$
   /**
    * Resource Adapter Archive.
    */
-  RAR("rar"),
+  RAR("rar"), //$NON-NLS-1$
   /**
    * Application client
    */
-  APP_CLIENT("app-client"),
+  APP_CLIENT("app-client"), //$NON-NLS-1$
   /**
    * Unknown packaging.
    */
@@ -61,7 +61,7 @@
    */
   public static JEEPackaging getValue(String packaging) {
     if(packaging == null) {
-      throw new IllegalArgumentException("packaging must not be null");
+      throw new IllegalArgumentException("packaging must not be null"); //$NON-NLS-1$
     }
     for(JEEPackaging pkg : values()) {
       if(packaging.equals(pkg.getName())) {
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenDeploymentDescriptorManagement.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenDeploymentDescriptorManagement.java
index 32c37c1..bb6966c 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenDeploymentDescriptorManagement.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenDeploymentDescriptorManagement.java
@@ -42,6 +42,8 @@
 import org.eclipse.m2e.core.project.IMavenProjectFacade;
 import org.eclipse.m2e.core.project.IMavenProjectRegistry;
 import org.eclipse.m2e.wtp.earmodules.EarModule;
+import org.eclipse.m2e.wtp.internal.Messages;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.ui.dialogs.IOverwriteQuery;
 import org.eclipse.ui.internal.ide.filesystem.FileSystemStructureProvider;
 import org.eclipse.ui.wizards.datatransfer.ImportOperation;
@@ -63,14 +65,16 @@
   private static final VersionRange VALID_EAR_PLUGIN_RANGE;
   static {
     try {
-      VALID_EAR_PLUGIN_RANGE = VersionRange.createFromVersionSpec("[2.4.3,)");
+      VALID_EAR_PLUGIN_RANGE = VersionRange.createFromVersionSpec("[2.4.3,)"); //$NON-NLS-1$
     } catch(InvalidVersionSpecificationException ex) {
-      throw new RuntimeException("Unable to create ear plugin version range from [2.4.3,)", ex);
+      //Can't happen
+      throw new RuntimeException("Unable to create ear plugin version range from [2.4.3,)", ex); //$NON-NLS-1$
     }
   }
 
   private static final IOverwriteQuery OVERWRITE_ALL_QUERY = new IOverwriteQuery() {
-    public String queryOverwrite(String pathString) {
+    @Override
+	public String queryOverwrite(String pathString) {
       return IOverwriteQuery.ALL;
     }
   };
@@ -82,7 +86,8 @@
    * @throws CoreException
    */
 
-  public void updateConfiguration(IProject project, MavenProject mavenProject, EarPluginConfiguration plugin,
+  @Override
+public void updateConfiguration(IProject project, MavenProject mavenProject, EarPluginConfiguration plugin,
      boolean useBuildDirectory, IProgressMonitor monitor) throws CoreException {
 
     IMavenProjectRegistry projectManager = MavenPlugin.getMavenProjectRegistry();
@@ -93,8 +98,8 @@
     MavenExecutionRequest request = projectManager.createExecutionRequest(pomResource, mavenFacade.getResolverConfiguration(), monitor);
     MavenSession session = maven.createSession(request, mavenProject);
 
-    MavenExecutionPlan executionPlan = maven.calculateExecutionPlan(session, mavenProject, Collections.singletonList("ear:generate-application-xml"), true, monitor);
-    MojoExecution genConfigMojo = getExecution(executionPlan, "maven-ear-plugin", "generate-application-xml");
+    MavenExecutionPlan executionPlan = maven.calculateExecutionPlan(session, mavenProject, Collections.singletonList("ear:generate-application-xml"), true, monitor); //$NON-NLS-1$
+    MojoExecution genConfigMojo = getExecution(executionPlan, "maven-ear-plugin", "generate-application-xml"); //$NON-NLS-1$ //$NON-NLS-2$
     if(genConfigMojo == null) {
       //TODO Better error management
       return;
@@ -103,7 +108,7 @@
     //Let's force the generated config files location
     Xpp3Dom configuration = genConfigMojo.getConfiguration();
     if(configuration == null) {
-      configuration = new Xpp3Dom("configuration");
+      configuration = new Xpp3Dom("configuration"); //$NON-NLS-1$
       genConfigMojo.setConfiguration(configuration);
     }
     
@@ -117,19 +122,19 @@
 
     // Some old maven-ear-plugin have a dependency on an old plexus-util version that prevents
     // using workdirectory == generatedDescriptorLocation, so we keep them separated 
-    File generatedDescriptorLocation = new File(tempDirectory, "generatedDescriptorLocation");
-    File workDirectory = new File(tempDirectory, "workDirectory");
+    File generatedDescriptorLocation = new File(tempDirectory, "generatedDescriptorLocation"); //$NON-NLS-1$
+    File workDirectory = new File(tempDirectory, "workDirectory"); //$NON-NLS-1$
     
-    Xpp3Dom workDirectoryDom = configuration.getChild("workDirectory");
+    Xpp3Dom workDirectoryDom = configuration.getChild("workDirectory"); //$NON-NLS-1$
     if(workDirectoryDom == null) {
-      workDirectoryDom = new Xpp3Dom("workDirectory");
+      workDirectoryDom = new Xpp3Dom("workDirectory"); //$NON-NLS-1$
       configuration.addChild(workDirectoryDom);
     }
     workDirectoryDom.setValue(workDirectory.getAbsolutePath());
 
-    Xpp3Dom genDescriptorLocationDom = configuration.getChild("generatedDescriptorLocation");
+    Xpp3Dom genDescriptorLocationDom = configuration.getChild("generatedDescriptorLocation"); //$NON-NLS-1$
     if(genDescriptorLocationDom == null) {
-      genDescriptorLocationDom = new Xpp3Dom("generatedDescriptorLocation");
+      genDescriptorLocationDom = new Xpp3Dom("generatedDescriptorLocation"); //$NON-NLS-1$
       configuration.addChild(genDescriptorLocationDom);
     }
     genDescriptorLocationDom.setValue(generatedDescriptorLocation.getAbsolutePath());
@@ -167,7 +172,7 @@
       }
     }
     
-    IFolder metaInfFolder = targetFolder.getFolder("/META-INF/");
+    IFolder metaInfFolder = targetFolder.getFolder("/META-INF/"); //$NON-NLS-1$
 
     if(files != null && files.length > 0) {
       //We generated something
@@ -208,9 +213,9 @@
 
 
   private void overrideModules(Xpp3Dom configuration, Set<EarModule> earModules) {
-    Xpp3Dom modules = configuration.getChild("modules");
+    Xpp3Dom modules = configuration.getChild("modules"); //$NON-NLS-1$
     if(modules == null) {
-      modules = new Xpp3Dom("modules");
+      modules = new Xpp3Dom("modules"); //$NON-NLS-1$
       configuration.addChild(modules);
     }
     //TODO find a more elegant way to clear the modules  
@@ -224,15 +229,15 @@
   }
 
   private File getTempDirectory() throws IOException {
-    File tempDir = new File(System.getProperty("java.io.tmpdir"));
-    File dir = new File(tempDir, ".mavenDeploymentDescriptorManagement");
+    File tempDir = new File(System.getProperty("java.io.tmpdir")); //$NON-NLS-1$
+    File dir = new File(tempDir, ".mavenDeploymentDescriptorManagement"); //$NON-NLS-1$
     if(dir.exists()) {
       if(dir.isFile()) {
         if(!dir.delete()) {
-          throw new IOException("Could not delete temp file: " + dir.getAbsolutePath());
+          throw new IOException(NLS.bind(Messages.MavenDeploymentDescriptorManagement_Error_Deleting_Temp_Folder, dir.getAbsolutePath()));
         } else {
           if(!deleteDirectory(dir)) {
-            throw new IOException("Could not delete temp file: " + dir.getAbsolutePath());
+            throw new IOException(NLS.bind(Messages.MavenDeploymentDescriptorManagement_Error_Deleting_Temp_Folder, dir.getAbsolutePath())); 
           }
         }
       }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenSessionHelper.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenSessionHelper.java
index 7033509..95da53b 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenSessionHelper.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenSessionHelper.java
@@ -27,10 +27,10 @@
 import org.eclipse.core.runtime.Status;
 import org.eclipse.m2e.core.MavenPlugin;
 import org.eclipse.m2e.core.internal.IMavenConstants;
-import org.eclipse.m2e.core.internal.Messages;
 import org.eclipse.m2e.core.internal.embedder.MavenImpl;
 import org.eclipse.m2e.core.project.IMavenProjectFacade;
 import org.eclipse.m2e.core.project.IMavenProjectRegistry;
+import org.eclipse.m2e.wtp.internal.Messages;
 
 /**
  * Helper for {@link MavenSession} manipulations.
@@ -51,7 +51,7 @@
 
   public MavenSessionHelper(MavenProject mavenProject) {
     if (mavenProject == null) {
-      throw new IllegalArgumentException("MavenProject can not be null");
+      throw new IllegalArgumentException(Messages.Error_Maven_Project_Cant_Be_Null);
     } 
     this.project = mavenProject;
   }
@@ -115,7 +115,7 @@
       return ((MavenImpl)MavenPlugin.getMaven()).getPlexusContainer().lookup(clazz);
     } catch(ComponentLookupException ex) {
       throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1,
-          Messages.MavenImpl_error_lookup, ex));
+          Messages.MavenSessionHelper_Error_Component_Lookup, ex));
     }
   }
 
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenWtpConstants.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenWtpConstants.java
index 0671254..73c78a4 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenWtpConstants.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenWtpConstants.java
@@ -31,25 +31,25 @@
 
   public static final String WTP_MARKER_UNSUPPORTED_DEPENDENCY_PROBLEM = WTP_MARKER_ID + ".unsupportedDependencyProblem"; //$NON-NLS-1$
 
-  public static final String M2E_WTP_FOLDER = "m2e-wtp";
+  public static final String M2E_WTP_FOLDER = "m2e-wtp"; //$NON-NLS-1$
   
-  public static final String WEB_RESOURCES_FOLDER = "web-resources";
+  public static final String WEB_RESOURCES_FOLDER = "web-resources"; //$NON-NLS-1$
 
-  public static final String EAR_RESOURCES_FOLDER = "ear-resources";
+  public static final String EAR_RESOURCES_FOLDER = "ear-resources"; //$NON-NLS-1$
   
-  public static final String ROOT_FOLDER = "/";
+  public static final String ROOT_FOLDER = "/"; //$NON-NLS-1$
   
 
   /**
    * Provisional name of component property used by WTP server adapters to exclude resources from deployment.
    * Only known consumer is JBoss AS adapter.
    */
-  public static final String COMPONENT_EXCLUSION_PATTERNS = "component.exclusion.patterns";
+  public static final String COMPONENT_EXCLUSION_PATTERNS = "component.exclusion.patterns"; //$NON-NLS-1$
   
   /**
    * Provisional name of component property used by WTP server adapters to include resources in deployment.
    * Only known consumer is JBoss AS adapter.
    */
-  public static final String COMPONENT_INCLUSION_PATTERNS = "component.inclusion.patterns";
+  public static final String COMPONENT_INCLUSION_PATTERNS = "component.inclusion.patterns"; //$NON-NLS-1$
 
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenWtpPlugin.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenWtpPlugin.java
index ec02a12..4c064a7 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenWtpPlugin.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenWtpPlugin.java
@@ -20,7 +20,7 @@
  */
 public class MavenWtpPlugin extends AbstractUIPlugin {
 
-  public static final String ID = "org.eclipse.m2e.wtp";
+  public static final String ID = "org.eclipse.m2e.wtp"; //$NON-NLS-1$
   
   private static MavenWtpPlugin instance;
 
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/Messages.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/Messages.java
deleted file mode 100644
index 68949c2..0000000
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/Messages.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*************************************************************************************
- * Copyright (c) 2012 Red Hat, Inc.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     Red Hat, Inc. - Initial implementation.
- ************************************************************************************/
-package org.eclipse.m2e.wtp;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * m2E-wtp i18n messages.
- * 
- * @provisional This class has been added as part of a work in progress. 
- * It is not guaranteed to work or remain the same in future releases. 
- * For more information contact <a href="mailto:m2e-wtp-dev@eclipse.org">m2e-wtp-dev@eclipse.org</a>.
- * 
- * @author Fred Bricon
- */
-public class Messages extends NLS {
-	
-  public static final String BUNDLE_NAME = "org.eclipse.m2e.wtp.messages";
-  
-  public static String markers_inclusion_patterns_problem;
-  
-  public static String markers_unsupported_dependencies_warning;
-
-  public static String markers_mavenarchiver_output_settings_ignored_warning;
-	
-  static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/OverlayConfigurator.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/OverlayConfigurator.java
index 0a4b3d3..6a3a820 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/OverlayConfigurator.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/OverlayConfigurator.java
@@ -96,7 +96,7 @@
     Set<IVirtualReference> newOverlayRefs = new LinkedHashSet<IVirtualReference>();
     MavenSessionHelper helper = new MavenSessionHelper(mavenProject);
     try {
-      helper.ensureDependenciesAreResolved("maven-war-plugin", "war:war");
+      helper.ensureDependenciesAreResolved("maven-war-plugin", "war:war"); //$NON-NLS-1$ //$NON-NLS-2$
       
       MavenPlugin.getMaven();
       
@@ -144,7 +144,7 @@
           overlayComponent.setExclusions(new LinkedHashSet<String>(Arrays.asList(overlay.getExcludes())));
           
           IVirtualReference depRef = ComponentCore.createReference(warComponent, overlayComponent);
-          String targetPath = StringUtils.nullOrEmpty(overlay.getTargetPath())?"/":overlay.getTargetPath();
+          String targetPath = StringUtils.nullOrEmpty(overlay.getTargetPath())?"/":overlay.getTargetPath(); //$NON-NLS-1$
           depRef.setRuntimePath(new Path(targetPath));
           newOverlayRefs.add(depRef);
         }
@@ -173,9 +173,9 @@
 
   private IOverlayVirtualComponent createOverlayArchiveComponent(IProject project, MavenProject mavenProject, Overlay overlay) throws CoreException {
     IPath m2eWtpFolder = ProjectUtils.getM2eclipseWtpFolder(mavenProject, project);
-    IPath unpackDirPath = new Path(m2eWtpFolder.toOSString()+"/overlays");
+    IPath unpackDirPath = new Path(m2eWtpFolder.toOSString()+"/overlays"); //$NON-NLS-1$
     String archiveLocation = ArtifactHelper.getM2REPOVarPath(overlay.getArtifact());
-    String targetPath = StringUtils.nullOrEmpty(overlay.getTargetPath())?"/":overlay.getTargetPath();
+    String targetPath = StringUtils.nullOrEmpty(overlay.getTargetPath())?"/":overlay.getTargetPath(); //$NON-NLS-1$
     IOverlayVirtualComponent component = OverlayComponentCore.createOverlayArchiveComponent(
                                                                 project, 
                                                                 archiveLocation, 
@@ -185,11 +185,13 @@
   }
   
   
-  public void configureClasspath(IMavenProjectFacade facade, IClasspathDescriptor classpath, IProgressMonitor monitor)
+  @Override
+public void configureClasspath(IMavenProjectFacade facade, IClasspathDescriptor classpath, IProgressMonitor monitor)
       throws CoreException {
   }
   
-  public AbstractBuildParticipant getBuildParticipant(IMavenProjectFacade projectFacade, MojoExecution execution,
+  @Override
+public AbstractBuildParticipant getBuildParticipant(IMavenProjectFacade projectFacade, MojoExecution execution,
       IPluginExecutionMetadata executionMetadata) {
     return null;
   }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/PackagingConfiguration.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/PackagingConfiguration.java
index 9ee8f9c..0ddab2a 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/PackagingConfiguration.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/PackagingConfiguration.java
@@ -35,7 +35,8 @@
     matcher = new AntPathMatcher();
   }
 
-  public boolean isPackaged(String virtualPath) {
+  @Override
+public boolean isPackaged(String virtualPath) {
     if (virtualPath == null) {
       return false;
     }
@@ -75,7 +76,7 @@
   }
   
   private String toPortablePath(String path) {
-    return (path==null)?null:path.replace("\\", "/");
+    return (path==null)?null:path.replace("\\", "/"); //$NON-NLS-1$ //$NON-NLS-2$
   }
   
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/ProjectUtils.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/ProjectUtils.java
index bff05c7..6818bb3 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/ProjectUtils.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/ProjectUtils.java
@@ -54,13 +54,13 @@
     File basedir = project.getLocation().toFile();
     String relative;
     if(absolutePath.equals(basedir.getAbsolutePath())) {
-      relative = ".";
+      relative = "."; //$NON-NLS-1$
     } else if(absolutePath.startsWith(basedir.getAbsolutePath())) {
       relative = absolutePath.substring(basedir.getAbsolutePath().length() + 1);
     } else {
       relative = absolutePath;
     }
-    return relative.replace('\\', '/'); //$NON-NLS-1$ //$NON-NLS-2$
+    return relative.replace('\\', '/');
   }
   
 
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/RarPluginConfiguration.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/RarPluginConfiguration.java
index 44792f3..c146b7e 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/RarPluginConfiguration.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/RarPluginConfiguration.java
@@ -22,6 +22,7 @@
 import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants;
 import org.eclipse.jst.jee.util.internal.JavaEEQuickPeek;
 import org.eclipse.m2e.core.project.IMavenProjectFacade;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
 
 /**
@@ -37,9 +38,9 @@
  */
 public class RarPluginConfiguration {
 
-  private static final String RAR_DEFAULT_CONTENT_DIR = "src/main/rar"; 
+  private static final String RAR_DEFAULT_CONTENT_DIR = "src/main/rar";  //$NON-NLS-1$
 
-  private static final String RA_XML = "META-INF/ra.xml";
+  private static final String RA_XML = "META-INF/ra.xml"; //$NON-NLS-1$
 
   private static final int JCA_1_6_ID = 16;//Exists in WTP >= 3.2 only
 
@@ -51,10 +52,10 @@
   public RarPluginConfiguration(IMavenProjectFacade facade) {
     Assert.isNotNull(facade);
     if (JEEPackaging.RAR != JEEPackaging.getValue(facade.getPackaging()))
-      throw new IllegalArgumentException("Maven project must have rar packaging");
+      throw new IllegalArgumentException(Messages.RarPluginConfiguration_Project_Must_Have_rar_Packaging);
     
     this.rarFacade = facade;
-    this.plugin = facade.getMavenProject().getPlugin("org.apache.maven.plugins:maven-rar-plugin");
+    this.plugin = facade.getMavenProject().getPlugin("org.apache.maven.plugins:maven-rar-plugin"); //$NON-NLS-1$
   }
 
   /**
@@ -74,7 +75,7 @@
   public boolean isJarIncluded() {
     Xpp3Dom config = getConfiguration();
     if(config != null) {
-      Xpp3Dom includeJarDom = config.getChild("includeJar");
+      Xpp3Dom includeJarDom = config.getChild("includeJar"); //$NON-NLS-1$
       if (includeJarDom != null) {
         return Boolean.parseBoolean(includeJarDom.getValue().trim());
       }
@@ -92,7 +93,7 @@
     IProject project = rarFacade.getProject();
     Xpp3Dom config = getConfiguration();
     if(config != null) {
-      Xpp3Dom contentDirDom = config.getChild("rarSourceDirectory");
+      Xpp3Dom contentDirDom = config.getChild("rarSourceDirectory"); //$NON-NLS-1$
       if(contentDirDom != null && contentDirDom.getValue() != null) {
         String contentDir = contentDirDom.getValue().trim();
         contentDir = ProjectUtils.getRelativePath(project, contentDir);
@@ -122,7 +123,7 @@
                 return IJ2EEFacetConstants.JCA_15;
               case JCA_1_6_ID:
                 //Don't create a static 1.6 facet version, it'd blow up WTP < 3.2
-                return IJ2EEFacetConstants.JCA_FACET.getVersion("1.6");//only exists in WTP version >= 3.2
+                return IJ2EEFacetConstants.JCA_FACET.getVersion("1.6");//only exists in WTP version >= 3.2 //$NON-NLS-1$
             }
           } finally {
             is.close();
@@ -136,7 +137,7 @@
 
       //If no ra.xml found and the project depends and WTP >= 3.2, then set connector facet to 1.6
       //TODO see if other conditions might apply to differentiate JCA 1.6 from 1.5
-      return IJ2EEFacetConstants.JCA_FACET.getVersion("1.6");
+      return IJ2EEFacetConstants.JCA_FACET.getVersion("1.6"); //$NON-NLS-1$
     }
 
   /**
@@ -146,7 +147,7 @@
   public String getCustomRaXml() {
     Xpp3Dom config = getConfiguration();
     if(config != null) {
-      Xpp3Dom raXmlFileDom = config.getChild("raXmlFile");
+      Xpp3Dom raXmlFileDom = config.getChild("raXmlFile"); //$NON-NLS-1$
       if(raXmlFileDom != null && raXmlFileDom.getValue() != null) {
         String raXmlFile = raXmlFileDom.getValue().trim();
         raXmlFile = ProjectUtils.getRelativePath(rarFacade.getProject(), raXmlFile);
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/ResourceCleaner.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/ResourceCleaner.java
index 0325cf3..06147af 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/ResourceCleaner.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/ResourceCleaner.java
@@ -35,7 +35,7 @@
  */
 public class ResourceCleaner {
   
-  private static final Path EMPTY_PATH = new Path("");
+  private static final Path EMPTY_PATH = new Path(""); //$NON-NLS-1$
 
   private final IProject project;
 
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/UnsupportedDependencyTypeProjectConfigurator.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/UnsupportedDependencyTypeProjectConfigurator.java
index f14811a..ca0e033 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/UnsupportedDependencyTypeProjectConfigurator.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/UnsupportedDependencyTypeProjectConfigurator.java
@@ -28,6 +28,7 @@
 import org.eclipse.m2e.core.project.MavenProjectChangedEvent;
 import org.eclipse.m2e.core.project.configurator.AbstractProjectConfigurator;
 import org.eclipse.m2e.core.project.configurator.ProjectConfigurationRequest;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.common.componentcore.ModuleCoreNature;
 
@@ -47,14 +48,16 @@
   private static final Set<String> UNSUPPORTED_DEPENDENCY_TYPES;
 
   static {
-    UNSUPPORTED_DEPENDENCY_TYPES = new HashSet<String>(Arrays.asList(new String[] {"ejb-client", "test-jar"}));
+    UNSUPPORTED_DEPENDENCY_TYPES = new HashSet<String>(Arrays.asList(new String[] {"ejb-client", "test-jar"})); //$NON-NLS-1$ //$NON-NLS-2$
   }
 
-  public void configure(ProjectConfigurationRequest request, IProgressMonitor monitor) throws CoreException {
+  @Override
+public void configure(ProjectConfigurationRequest request, IProgressMonitor monitor) throws CoreException {
     //Nothing to configure
   }
 
-  public void mavenProjectChanged(MavenProjectChangedEvent event, IProgressMonitor monitor) throws CoreException {
+  @Override
+public void mavenProjectChanged(MavenProjectChangedEvent event, IProgressMonitor monitor) throws CoreException {
     IMavenProjectFacade facade = event.getMavenProject();
     if(facade == null) {
       return;
@@ -107,8 +110,8 @@
           && StringUtils.equals(a.getVersion(), d.getVersion())
           && StringUtils.equals(a.getClassifier(), a.getClassifier())
         ) {
-        String dType = (StringUtils.isBlank(d.getType()))?"jar":d.getType();
-        String aType = (StringUtils.isBlank(a.getType()))?"jar":a.getType();
+        String dType = (StringUtils.isBlank(d.getType()))?"jar":d.getType(); //$NON-NLS-1$
+        String aType = (StringUtils.isBlank(a.getType()))?"jar":a.getType(); //$NON-NLS-1$
         if (aType.equals(dType)) {
           return d;
         }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/UtilityProjectConfigurator.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/UtilityProjectConfigurator.java
index f5e11fc..27dbcbd 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/UtilityProjectConfigurator.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/UtilityProjectConfigurator.java
@@ -41,7 +41,8 @@
  */
 public class UtilityProjectConfigurator extends AbstractProjectConfigurator {
 
-  public void configure(ProjectConfigurationRequest request, IProgressMonitor monitor) throws CoreException {
+  @Override
+public void configure(ProjectConfigurationRequest request, IProgressMonitor monitor) throws CoreException {
 
     IProject project = request.getProject();
     if (!project.isAccessible()) {
@@ -62,7 +63,7 @@
 
       removeWTPClasspathContainer(project);
       
-      removeTestFolderLinks(project, mavenProject, monitor, "/"); 
+      removeTestFolderLinks(project, mavenProject, monitor, "/");  //$NON-NLS-1$
 
       //MECLIPSEWTP-125 Remove "MAVEN2_CLASSPATH_CONTAINER will not be exported or published" warning.
       setNonDependencyAttributeToContainer(project, monitor);
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 1f2950a..684bf85 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
@@ -93,7 +93,8 @@
     return ModuleCoreNature.isFlexibleProject(project);
   }
 
-  public void configureClasspath(IMavenProjectFacade facade, IClasspathDescriptor classpath, IProgressMonitor monitor)
+  @Override
+public void configureClasspath(IMavenProjectFacade facade, IClasspathDescriptor classpath, IProgressMonitor monitor)
       throws CoreException {
     MavenProject mavenProject = facade.getMavenProject(monitor);
     //Lookup the project configurator 
@@ -109,7 +110,8 @@
     }
   }
 
-  public void configureRawClasspath(ProjectConfigurationRequest request, IClasspathDescriptor classpath,
+  @Override
+public void configureRawClasspath(ProjectConfigurationRequest request, IClasspathDescriptor classpath,
       IProgressMonitor monitor) throws CoreException {
     // we do not change raw project classpath, do we? 
   }
@@ -119,9 +121,9 @@
       IPluginExecutionMetadata executionMetadata) {
     
     //FIXME should refactor that by removing the project configurator delegates
-      if ("maven-war-plugin".equals(execution.getArtifactId()) && "war".equals(execution.getGoal()) 
-        || "maven-ear-plugin".equals(execution.getArtifactId()) && "generate-application-xml".equals(execution.getGoal())
-        || "maven-acr-plugin".equals(execution.getArtifactId()) && "acr".equals(execution.getGoal()))
+      if ("maven-war-plugin".equals(execution.getArtifactId()) && "war".equals(execution.getGoal())  //$NON-NLS-1$ //$NON-NLS-2$
+        || "maven-ear-plugin".equals(execution.getArtifactId()) && "generate-application-xml".equals(execution.getGoal()) //$NON-NLS-1$ //$NON-NLS-2$
+        || "maven-acr-plugin".equals(execution.getArtifactId()) && "acr".equals(execution.getGoal())) //$NON-NLS-1$ //$NON-NLS-2$
       {
         return new ResourceFilteringBuildParticipant(); 
       }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WTPProjectsUtil.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WTPProjectsUtil.java
index 1cbdb3f..92c6c69 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WTPProjectsUtil.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WTPProjectsUtil.java
@@ -46,7 +46,9 @@
 import org.eclipse.m2e.core.project.IMavenProjectFacade;
 import org.eclipse.m2e.core.project.MavenProjectUtils;
 import org.eclipse.m2e.jdt.internal.MavenClasspathHelpers;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.eclipse.m2e.wtp.overlay.modulecore.IOverlayVirtualComponent;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.ModuleCoreNature;
 import org.eclipse.wst.common.componentcore.internal.ComponentResource;
@@ -78,7 +80,7 @@
 
   public static final IProjectFacet UTILITY_FACET = ProjectFacetsManager.getProjectFacet(IJ2EEFacetConstants.UTILITY);
 
-  public static final IProjectFacetVersion UTILITY_10 = UTILITY_FACET.getVersion("1.0");
+  public static final IProjectFacetVersion UTILITY_10 = UTILITY_FACET.getVersion("1.0"); //$NON-NLS-1$
 
   public static final IProjectFacet EJB_FACET = ProjectFacetsManager.getProjectFacet(IJ2EEFacetConstants.EJB);
 
@@ -86,7 +88,7 @@
   
   public static final IProjectFacet WEB_FRAGMENT_FACET = ProjectFacetsManager.getProjectFacet(IJ2EEFacetConstants.WEBFRAGMENT);
 
-  public static final IProjectFacetVersion WEB_FRAGMENT_3_0 = WEB_FRAGMENT_FACET.getVersion("3.0");
+  public static final IProjectFacetVersion WEB_FRAGMENT_3_0 = WEB_FRAGMENT_FACET.getVersion("3.0"); //$NON-NLS-1$
 
   public static final IProjectFacet DYNAMIC_WEB_FACET = ProjectFacetsManager
       .getProjectFacet(IJ2EEFacetConstants.DYNAMIC_WEB);
@@ -94,12 +96,12 @@
   public static final IProjectFacet APP_CLIENT_FACET = ProjectFacetsManager.getProjectFacet(IJ2EEFacetConstants.APPLICATION_CLIENT);
 
   public static final IClasspathAttribute NONDEPENDENCY_ATTRIBUTE = JavaCore.newClasspathAttribute(
-      IClasspathDependencyConstants.CLASSPATH_COMPONENT_NON_DEPENDENCY, "");
+      IClasspathDependencyConstants.CLASSPATH_COMPONENT_NON_DEPENDENCY, "");//$NON-NLS-1$
 
   /**
    * Defaults Web facet version to 2.5
    */
-  public static final IProjectFacetVersion DEFAULT_WEB_FACET = DYNAMIC_WEB_FACET.getVersion("2.5");
+  public static final IProjectFacetVersion DEFAULT_WEB_FACET = DYNAMIC_WEB_FACET.getVersion("2.5"); //$NON-NLS-1$
 
   public static final IProjectFacet EAR_FACET = ProjectFacetsManager
       .getProjectFacet(IJ2EEFacetConstants.ENTERPRISE_APPLICATION);
@@ -110,7 +112,7 @@
     //Bug #385605 : IVirtualComponent.DISPLAYABLE_REFERENCES_ALL is not available in helios
     String reqRefType = null;
     try {
-      Field displayableRefsAllField = IVirtualComponent.class.getField("DISPLAYABLE_REFERENCES_ALL");
+      Field displayableRefsAllField = IVirtualComponent.class.getField("DISPLAYABLE_REFERENCES_ALL"); //$NON-NLS-1$
       reqRefType = (String)displayableRefsAllField.get(null);
     } catch(Throwable e) {
       //Falling back on IVirtualComponent.HARD_REFERENCES works in helios wrt bug #385229 : 
@@ -404,8 +406,8 @@
       ArrayList<IClasspathEntry> newEntries = new ArrayList<IClasspathEntry>();
       for(IClasspathEntry entry : javaProject.getRawClasspath()) {
       String path = entry.getPath().toString();
-        if(!"org.eclipse.jst.j2ee.internal.module.container".equals(path)
-          && !"org.eclipse.jst.j2ee.internal.web.container".equals(path)) {
+        if(!"org.eclipse.jst.j2ee.internal.module.container".equals(path) //$NON-NLS-1$
+          && !"org.eclipse.jst.j2ee.internal.web.container".equals(path)) { //$NON-NLS-1$
             newEntries.add(entry);
         }
       }
@@ -418,13 +420,13 @@
   */
   public static void removeConflictingFacets(IFacetedProject project, IProjectFacetVersion facetVersion, Set<Action> actions) {
     if (project == null) {
-      throw new IllegalArgumentException("project can not be null");
+      throw new IllegalArgumentException(Messages.WTPProjectsUtil_Project_Cant_Be_Null);
     }
     if (facetVersion == null) {
-      throw new IllegalArgumentException("Facet version can not be null");
+      throw new IllegalArgumentException(Messages.WTPProjectsUtil_Facet_Version_Cant_Be_Null);
     }
     if (actions == null) {
-      throw new IllegalArgumentException("actions can not be null");
+      throw new IllegalArgumentException(Messages.WTPProjectsUtil_Actions_Cant_Be_Null);
     }
     for (IProjectFacetVersion existingFacetVersion : project.getProjectFacets()) {
       if (facetVersion.conflictsWith(existingFacetVersion)) {
@@ -461,18 +463,18 @@
    * @return
    */
   public static boolean isQualifiedAsWebFragment(IMavenProjectFacade facade) {
-    if ("jar".equals(facade.getPackaging())) {
+    if ("jar".equals(facade.getPackaging())) { //$NON-NLS-1$
       IFolder classes = getClassesFolder(facade);
-      if (classes != null && classes.getFile("META-INF/web-fragment.xml").exists()) {
+      if (classes != null && classes.getFile("META-INF/web-fragment.xml").exists()) { //$NON-NLS-1$
         return true;
-      } else {
-        //No processed/filtered web-fragment.xml found 
-        //fall back : iterate over the resource folders
-        IProject project = facade.getProject();
-        for (IPath resourceFolderPath : facade.getResourceLocations()) {
-          if (resourceFolderPath != null && project.exists(resourceFolderPath.append("META-INF/web-fragment.xml"))) {
-            return true;
-          }
+      } 
+      
+      //No processed/filtered web-fragment.xml found 
+      //fall back : iterate over the resource folders
+      IProject project = facade.getProject();
+      for (IPath resourceFolderPath : facade.getResourceLocations()) {
+        if (resourceFolderPath != null && project.exists(resourceFolderPath.append("META-INF/web-fragment.xml"))) { //$NON-NLS-1$
+          return true;
         }
       }
     }
@@ -574,7 +576,7 @@
     //MECLIPSEWTP-41 Fix the missing moduleCoreNature
     if (null == ModuleCoreNature.addModuleCoreNatureIfNecessary(project, monitor)) {
       //If we can't add the missing nature, then the project is useless, so let's tell the user
-      throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, "Unable to add the ModuleCoreNature to "+project.getName(),null));
+      throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, NLS.bind(Messages.WTPProjectsUtil_Unable_To_Add_ModuleCoreNature,project.getName()),null));
     }
   }
 
@@ -591,7 +593,7 @@
       return false;
     }
     String language = facade.getMavenProject().getArtifact().getArtifactHandler().getLanguage();
-    return "java".equals(language);
+    return "java".equals(language); //$NON-NLS-1$
   }
   
   /**
@@ -599,13 +601,13 @@
    */
   public static void setDefaultDeploymentDescriptorFolder(IVirtualFolder folder, IPath aProjectRelativeLocation, IProgressMonitor monitor) {
     try {
-      Method getDefaultDeploymentDescriptorFolder = J2EEModuleVirtualComponent.class.getMethod("getDefaultDeploymentDescriptorFolder", 
+      Method getDefaultDeploymentDescriptorFolder = J2EEModuleVirtualComponent.class.getMethod("getDefaultDeploymentDescriptorFolder",  //$NON-NLS-1$
                                                                                                IVirtualFolder.class);
       IPath currentDefaultLocation =(IPath) getDefaultDeploymentDescriptorFolder.invoke(null, folder);
       if (aProjectRelativeLocation.equals(currentDefaultLocation)) {
         return;
       }
-      Method setDefaultDeploymentDescriptorFolder = J2EEModuleVirtualComponent.class.getMethod("setDefaultDeploymentDescriptorFolder", 
+      Method setDefaultDeploymentDescriptorFolder = J2EEModuleVirtualComponent.class.getMethod("setDefaultDeploymentDescriptorFolder",  //$NON-NLS-1$
                                                                                                IVirtualFolder.class, 
                                                                                                IPath.class, 
                                                                                                IProgressMonitor.class);
@@ -627,7 +629,7 @@
   public static IFolder getDefaultDeploymentDescriptorFolder(IVirtualFolder vFolder) {
     IPath defaultPath = null;
     try {
-      Method getDefaultDeploymentDescriptorFolder = J2EEModuleVirtualComponent.class.getMethod("getDefaultDeploymentDescriptorFolder", 
+      Method getDefaultDeploymentDescriptorFolder = J2EEModuleVirtualComponent.class.getMethod("getDefaultDeploymentDescriptorFolder",  //$NON-NLS-1$
                                                                                                IVirtualFolder.class);
       defaultPath =(IPath) getDefaultDeploymentDescriptorFolder.invoke(null, vFolder);
       
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WarPluginConfiguration.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WarPluginConfiguration.java
index 9b5b365..dde28da 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WarPluginConfiguration.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WarPluginConfiguration.java
@@ -31,6 +31,7 @@
 import org.eclipse.m2e.core.internal.IMavenConstants;
 import org.eclipse.m2e.core.internal.markers.SourceLocation;
 import org.eclipse.m2e.core.internal.markers.SourceLocationHelper;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.eclipse.m2e.wtp.internal.StringUtils;
 import org.eclipse.m2e.wtp.namemapping.FileNameMapping;
 import org.eclipse.m2e.wtp.namemapping.PatternBasedFileNameMapping;
@@ -59,15 +60,15 @@
 
   private static final Logger LOG = LoggerFactory.getLogger(WarPluginConfiguration.class);
   
-  private static final String WAR_SOURCE_FOLDER = "/src/main/webapp";
+  private static final String WAR_SOURCE_FOLDER = "/src/main/webapp"; //$NON-NLS-1$
 
-  private static final String WAR_PACKAGING = "war";
+  private static final String WAR_PACKAGING = "war"; //$NON-NLS-1$
 
-  private static final String WEB_XML = "WEB-INF/web.xml";
+  private static final String WEB_XML = "WEB-INF/web.xml"; //$NON-NLS-1$
 
   private static final int WEB_3_1_ID = 31;
 
-  private static final String WEB_3_1_TEXT = "3.1";
+  private static final String WEB_3_1_TEXT = "3.1"; //$NON-NLS-1$
   
   //Keep backward compat with WTP < Kepler
   private static final IProjectFacetVersion WEB_31 = WebFacetUtils.WEB_FACET.hasVersion(WEB_3_1_TEXT)?
@@ -86,7 +87,7 @@
   }
 
   public Plugin getPlugin() {
-    return mavenProject.getPlugin("org.apache.maven.plugins:maven-war-plugin");
+    return mavenProject.getPlugin("org.apache.maven.plugins:maven-war-plugin"); //$NON-NLS-1$
   }
 
   static boolean isWarProject(MavenProject mavenProject) {
@@ -96,7 +97,7 @@
   public Xpp3Dom[] getWebResources() {
     Xpp3Dom config = getConfiguration();
     if(config != null) {
-      Xpp3Dom webResources = config.getChild("webResources");
+      Xpp3Dom webResources = config.getChild("webResources"); //$NON-NLS-1$
       if (webResources != null && webResources.getChildCount() > 0)
       {
         int count = webResources.getChildCount();  
@@ -104,11 +105,11 @@
         for (int i= 0; i< count ; i++) {
           //MECLIPSEWTP-97 support old maven-war-plugin configurations which used <webResource> 
           // instead of <resource>
-          Xpp3Dom webResource = new Xpp3Dom(webResources.getChild(i),"resource"); 
+          Xpp3Dom webResource = new Xpp3Dom(webResources.getChild(i),"resource");  //$NON-NLS-1$
           
           //MECLIPSEWTP-152 : Web resource processing fails when targetPath has a leading /
-          Xpp3Dom targetPath = webResource.getChild("targetPath");
-          if(targetPath != null && targetPath.getValue().startsWith("/")) {
+          Xpp3Dom targetPath = webResource.getChild("targetPath"); //$NON-NLS-1$
+          if(targetPath != null && targetPath.getValue().startsWith("/")) { //$NON-NLS-1$
             targetPath.setValue(targetPath.getValue().substring(1));
           }
 
@@ -126,7 +127,7 @@
       return WAR_SOURCE_FOLDER;
     }
 
-    Xpp3Dom[] warSourceDirectory = dom.getChildren("warSourceDirectory");
+    Xpp3Dom[] warSourceDirectory = dom.getChildren("warSourceDirectory"); //$NON-NLS-1$
     if(warSourceDirectory != null && warSourceDirectory.length > 0) {
       // first one wins
       String dir = warSourceDirectory[0].getValue();
@@ -140,30 +141,34 @@
     return WAR_SOURCE_FOLDER;
   }
 
-  public String[] getPackagingExcludes() {
-    return DomUtils.getPatternsAsArray(getConfiguration(),"packagingExcludes");
+  @Override
+public String[] getPackagingExcludes() {
+    return DomUtils.getPatternsAsArray(getConfiguration(),"packagingExcludes"); //$NON-NLS-1$
   }
 
-  public String[] getPackagingIncludes() {
-    return DomUtils.getPatternsAsArray(getConfiguration(),"packagingIncludes");
+  @Override
+public String[] getPackagingIncludes() {
+    return DomUtils.getPatternsAsArray(getConfiguration(),"packagingIncludes"); //$NON-NLS-1$
   }
 
-  public String[] getSourceExcludes() {
-    return DomUtils.getPatternsAsArray(getConfiguration(),"warSourceExcludes");
+  @Override
+public String[] getSourceExcludes() {
+    return DomUtils.getPatternsAsArray(getConfiguration(),"warSourceExcludes"); //$NON-NLS-1$
   }
 
-  public String[] getSourceIncludes() {
-    return DomUtils.getPatternsAsArray(getConfiguration(),"warSourceIncludes");
+  @Override
+public String[] getSourceIncludes() {
+    return DomUtils.getPatternsAsArray(getConfiguration(),"warSourceIncludes"); //$NON-NLS-1$
   }
 
   public boolean isAddManifestClasspath() {
     Xpp3Dom config = getConfiguration();
     if(config != null) {
-      Xpp3Dom arch = config.getChild("archive");
+      Xpp3Dom arch = config.getChild("archive"); //$NON-NLS-1$
       if(arch != null) {
-        Xpp3Dom manifest = arch.getChild("manifest");
+        Xpp3Dom manifest = arch.getChild("manifest"); //$NON-NLS-1$
         if(manifest != null) {
-          Xpp3Dom addToClp = manifest.getChild("addClasspath");
+          Xpp3Dom addToClp = manifest.getChild("addClasspath"); //$NON-NLS-1$
           if(addToClp != null) {
             return Boolean.valueOf(addToClp.getValue());
           }
@@ -176,15 +181,15 @@
   public String getManifestClasspathPrefix() {
     Xpp3Dom config = getConfiguration();
     if(config != null) {
-      Xpp3Dom arch = config.getChild("archive");
+      Xpp3Dom arch = config.getChild("archive"); //$NON-NLS-1$
       if(arch != null) {
-        Xpp3Dom manifest = arch.getChild("manifest");
+        Xpp3Dom manifest = arch.getChild("manifest"); //$NON-NLS-1$
         if(manifest != null) {
-          Xpp3Dom prefix = manifest.getChild("classpathPrefix");
+          Xpp3Dom prefix = manifest.getChild("classpathPrefix"); //$NON-NLS-1$
           if(prefix != null && !StringUtils.nullOrEmpty(prefix.getValue())) {
             String rawPrefix = prefix.getValue().trim();
-            if (!rawPrefix.endsWith("/")){
-              rawPrefix += "/";
+            if (!rawPrefix.endsWith("/")){ //$NON-NLS-1$
+              rawPrefix += "/"; //$NON-NLS-1$
             }
             return rawPrefix;
           }
@@ -233,11 +238,11 @@
     }
    
     //If no web.xml found and the project depends on some java EE 7 jar, then set web facet to 3.1
-    if (WTPProjectsUtil.hasInClassPath(project, "javax.servlet.http.WebConnection")) {
+    if (WTPProjectsUtil.hasInClassPath(project, "javax.servlet.http.WebConnection")) { //$NON-NLS-1$
       return WEB_31;
     }
     //MNGECLIPSE-1978 If no web.xml found and the project depends on some java EE 6 jar, then set web facet to 3.0
-    if (WTPProjectsUtil.hasInClassPath(project, "javax.servlet.annotation.WebServlet")) {
+    if (WTPProjectsUtil.hasInClassPath(project, "javax.servlet.annotation.WebServlet")) { //$NON-NLS-1$
       return WebFacetUtils.WEB_30;
     }
     
@@ -248,7 +253,7 @@
         return fProject.getProjectFacetVersion(WebFacetUtils.WEB_FACET);
       }
     } catch (Exception e) {
-      LOG.warn(NLS.bind("Can not read project '{0}' facets", project.getName()), e);
+      LOG.warn(NLS.bind(Messages.Error_Reading_Project_Facet, project.getName()), e); 
     }
     
     //MNGECLIPSE-984 web.xml is optional for 2.5 Web Projects
@@ -264,7 +269,7 @@
   public String getCustomWebXml(IProject project) {
     Xpp3Dom config = getConfiguration();
     if(config != null) {
-      Xpp3Dom webXmlDom = config.getChild("webXml");
+      Xpp3Dom webXmlDom = config.getChild("webXml"); //$NON-NLS-1$
       if(webXmlDom != null && webXmlDom.getValue() != null) {
         String webXmlFile = webXmlDom.getValue().trim();
         webXmlFile = ProjectUtils.getRelativePath(project, webXmlFile);
@@ -298,20 +303,20 @@
   }
   
   public String getDependentWarIncludes() {
-    return DomUtils.getChildValue(getConfiguration(), "dependentWarIncludes", "**/**");
+    return DomUtils.getChildValue(getConfiguration(), "dependentWarIncludes", "**/**"); //$NON-NLS-1$ //$NON-NLS-2$
   }
 
   public String getDependentWarExcludes() {
-    return DomUtils.getChildValue(getConfiguration(), "dependentWarExcludes", "META-INF/MANIFEST.MF");
+    return DomUtils.getChildValue(getConfiguration(), "dependentWarExcludes", "META-INF/MANIFEST.MF"); //$NON-NLS-1$ //$NON-NLS-2$
   }
 
   public List<Overlay> getConfiguredOverlays() {
     Xpp3Dom config = getConfiguration();
     if(config != null) {
-      Xpp3Dom overlaysNode = config.getChild("overlays");
+      Xpp3Dom overlaysNode = config.getChild("overlays"); //$NON-NLS-1$
       if (overlaysNode != null && overlaysNode.getChildCount() > 0) {
         List<Overlay> overlays = new ArrayList<Overlay>(overlaysNode.getChildCount());
-        for (Xpp3Dom overlayNode : overlaysNode.getChildren("overlay")) {
+        for (Xpp3Dom overlayNode : overlaysNode.getChildren("overlay")) { //$NON-NLS-1$
           overlays.add(parseOverlay(overlayNode));
         }
         return overlays;
@@ -325,15 +330,15 @@
    * @return
    */
   private Overlay parseOverlay(Xpp3Dom overlayNode) {
-    String artifactId = DomUtils.getChildValue(overlayNode, "artifactId");
-    String groupId = DomUtils.getChildValue(overlayNode, "groupId");
-    String[] exclusions = DomUtils.getChildrenAsStringArray(overlayNode.getChild("excludes"), "exclude");
-    String[] inclusions = DomUtils.getChildrenAsStringArray(overlayNode.getChild("includes"), "include");
-    String classifier = DomUtils.getChildValue(overlayNode, "classifier");
-    boolean filtered = DomUtils.getBooleanChildValue(overlayNode, "filtered");
-    boolean skip = DomUtils.getBooleanChildValue(overlayNode, "skip");
-    String type = DomUtils.getChildValue(overlayNode, "type", "war");
-    String targetPath = DomUtils.getChildValue(overlayNode, "targetPath", "/");
+    String artifactId = DomUtils.getChildValue(overlayNode, "artifactId"); //$NON-NLS-1$
+    String groupId = DomUtils.getChildValue(overlayNode, "groupId"); //$NON-NLS-1$
+    String[] exclusions = DomUtils.getChildrenAsStringArray(overlayNode.getChild("excludes"), "exclude"); //$NON-NLS-1$ //$NON-NLS-2$
+    String[] inclusions = DomUtils.getChildrenAsStringArray(overlayNode.getChild("includes"), "include"); //$NON-NLS-1$ //$NON-NLS-2$
+    String classifier = DomUtils.getChildValue(overlayNode, "classifier"); //$NON-NLS-1$
+    boolean filtered = DomUtils.getBooleanChildValue(overlayNode, "filtered"); //$NON-NLS-1$
+    boolean skip = DomUtils.getBooleanChildValue(overlayNode, "skip"); //$NON-NLS-1$
+    String type = DomUtils.getChildValue(overlayNode, "type", "war"); //$NON-NLS-1$ //$NON-NLS-2$
+    String targetPath = DomUtils.getChildValue(overlayNode, "targetPath", "/"); //$NON-NLS-1$ //$NON-NLS-2$
 
     Overlay overlay = new Overlay();
     overlay.setArtifactId(artifactId);
@@ -361,20 +366,21 @@
     Xpp3Dom config = getConfiguration();
     String expression = null;
     if(config != null) {
-      expression = DomUtils.getChildValue(config, "outputFileNameMapping");
+      expression = DomUtils.getChildValue(config, "outputFileNameMapping"); //$NON-NLS-1$
     }
     return new PatternBasedFileNameMapping(expression);
   }
   
-  protected String getFilteringAttribute() {
-    return "filteringDeploymentDescriptors";
+  @Override
+protected String getFilteringAttribute() {
+    return "filteringDeploymentDescriptors"; //$NON-NLS-1$
   }
   
   public String getWarName() {
     Xpp3Dom config = getConfiguration();
     String warName = null;
     if (config != null) {
-      warName = DomUtils.getChildValue(config, "warName");
+      warName = DomUtils.getChildValue(config, "warName"); //$NON-NLS-1$
     }
     if (StringUtils.nullOrEmpty(warName)) {
       warName = mavenProject.getBuild().getFinalName();
@@ -382,16 +388,18 @@
     return warName;
   }
 
-  public SourceLocation getSourceLocation() {
+  @Override
+public SourceLocation getSourceLocation() {
     Plugin plugin = getPlugin();
     if (plugin == null) {
       return null;
     }
-    return SourceLocationHelper.findLocation(plugin, "configuration");
+    return SourceLocationHelper.findLocation(plugin, "configuration"); //$NON-NLS-1$
   }
 
-  public String getSourceIncludeParameterName() {
-    return "warSourceIncludes";
+  @Override
+public String getSourceIncludeParameterName() {
+    return "warSourceIncludes"; //$NON-NLS-1$
   }
 
   
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WebFragmentProjectConfigurator.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WebFragmentProjectConfigurator.java
index 89185ce..fb5a071 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WebFragmentProjectConfigurator.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/WebFragmentProjectConfigurator.java
@@ -28,6 +28,7 @@
 import org.eclipse.m2e.core.project.IMavenProjectFacade;
 import org.eclipse.m2e.core.project.configurator.AbstractProjectConfigurator;
 import org.eclipse.m2e.core.project.configurator.ProjectConfigurationRequest;
+import org.eclipse.m2e.wtp.internal.Messages;
 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;
@@ -102,13 +103,13 @@
       facetedProject.modify(actions, monitor);
       
       //remove test folder links
-      WTPProjectsUtil.removeTestFolderLinks(project, facade.getMavenProject(), monitor, "/");
+      WTPProjectsUtil.removeTestFolderLinks(project, facade.getMavenProject(), monitor, "/"); //$NON-NLS-1$
     } finally {
       try {
         //Remove any WTP created files (extras fragment descriptor and manifest) 
         fileCleaner.cleanUp();
       } catch (CoreException cex) {
-        LOG.error("Error while cleaning up WTP's created files", cex);
+        LOG.error(Messages.Error_Cleaning_WTP_Files, cex);
       }
     }
     
@@ -117,15 +118,15 @@
   protected void addFoldersToClean(ResourceCleaner fileCleaner, IMavenProjectFacade facade) {
     for (IPath p : facade.getCompileSourceLocations()) {
       if (p != null) {
-        fileCleaner.addFiles(p.append("META-INF/MANIFEST.MF"));
-        fileCleaner.addFiles(p.append("META-INF/web-fragment.xml"));
+        fileCleaner.addFiles(p.append("META-INF/MANIFEST.MF")); //$NON-NLS-1$
+        fileCleaner.addFiles(p.append("META-INF/web-fragment.xml")); //$NON-NLS-1$
         fileCleaner.addFolder(p);
       }
     }
     for (IPath p : facade.getResourceLocations()) {
       if (p != null) {
-        fileCleaner.addFiles(p.append("META-INF/MANIFEST.MF"));
-        fileCleaner.addFiles(p.append("META-INF/web-fragment.xml"));
+        fileCleaner.addFiles(p.append("META-INF/MANIFEST.MF")); //$NON-NLS-1$
+        fileCleaner.addFiles(p.append("META-INF/web-fragment.xml")); //$NON-NLS-1$
         fileCleaner.addFolder(p);
       }
     }
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 3a829b8..c2ac60b 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
@@ -48,6 +48,7 @@
 import org.eclipse.m2e.jdt.IClasspathDescriptor;
 import org.eclipse.m2e.jdt.IClasspathEntryDescriptor;
 import org.eclipse.m2e.wtp.internal.ExtensionReader;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.eclipse.m2e.wtp.internal.filtering.WebResourceFilteringConfiguration;
 import org.eclipse.m2e.wtp.internal.utilities.DebugUtilities;
 import org.eclipse.m2e.wtp.namemapping.FileNameMapping;
@@ -81,17 +82,17 @@
    * See http://wiki.eclipse.org/ClasspathEntriesPublishExportSupport
    */
   static final IClasspathAttribute DEPENDENCY_ATTRIBUTE = JavaCore.newClasspathAttribute(
-      IClasspathDependencyConstants.CLASSPATH_COMPONENT_DEPENDENCY, "/WEB-INF/lib");
+      IClasspathDependencyConstants.CLASSPATH_COMPONENT_DEPENDENCY, "/WEB-INF/lib"); //$NON-NLS-1$
 
   private static final String CLASSPATH_ARCHIVENAME_ATTRIBUTE;
   
   static {
     String archiveNameAttribute = null;
     try {
-      Field classpathArchiveNameField = IClasspathDependencyConstants.class.getField("CLASSPATH_ARCHIVENAME_ATTRIBUTE");
+      Field classpathArchiveNameField = IClasspathDependencyConstants.class.getField("CLASSPATH_ARCHIVENAME_ATTRIBUTE"); //$NON-NLS-1$
       archiveNameAttribute = (String)classpathArchiveNameField.get(null);
     } catch (Exception e) {
-      LOG.warn("Renamed dependencies will be copied under target");
+      LOG.warn(Messages.WebProjectConfiguratorDelegate_Renamed_Dependencies_Will_Be_Copied); 
     }
     CLASSPATH_ARCHIVENAME_ATTRIBUTE = archiveNameAttribute;
   }
@@ -99,9 +100,10 @@
   /**
   * Name of maven property that overrides WTP context root.
   */
-  private static final String M2ECLIPSE_WTP_CONTEXT_ROOT = "m2eclipse.wtp.contextRoot";
+  private static final String M2ECLIPSE_WTP_CONTEXT_ROOT = "m2eclipse.wtp.contextRoot"; //$NON-NLS-1$
   
-  protected void configure(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
+  @Override
+protected void configure(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
       throws CoreException {
     IFacetedProject facetedProject = ProjectFacetsManager.create(project, true, monitor);
     IMavenProjectFacade facade = MavenPlugin.getMavenProjectRegistry().create(project.getFile(IMavenConstants.POM_FILE_NAME), true, monitor);
@@ -139,10 +141,10 @@
       ResourceCleaner fileCleaner = new ResourceCleaner(project, contentFolder);
       try {
         addFoldersToClean(fileCleaner, facade);
-        fileCleaner.addFiles(contentFolder.getFile("META-INF/MANIFEST.MF").getProjectRelativePath());
-        fileCleaner.addFolder(contentFolder.getFolder("WEB-INF/lib"));
+        fileCleaner.addFiles(contentFolder.getFile("META-INF/MANIFEST.MF").getProjectRelativePath()); //$NON-NLS-1$
+        fileCleaner.addFolder(contentFolder.getFolder("WEB-INF/lib")); //$NON-NLS-1$
         if (customWebXml != null) {
-          fileCleaner.addFiles(contentFolder.getFile("WEB-INF/web.xml").getProjectRelativePath());
+          fileCleaner.addFiles(contentFolder.getFile("WEB-INF/web.xml").getProjectRelativePath()); //$NON-NLS-1$
         }
         
         facetedProject.modify(actions, monitor);
@@ -156,7 +158,7 @@
     fixMissingModuleCoreNature(project, monitor);
     
     // MNGECLIPSE-632 remove test sources/resources from WEB-INF/classes
-    removeTestFolderLinks(project, mavenProject, monitor, "/WEB-INF/classes");
+    removeTestFolderLinks(project, mavenProject, monitor, "/WEB-INF/classes"); //$NON-NLS-1$
 
     addContainerAttribute(project, DEPENDENCY_ATTRIBUTE, monitor);
 
@@ -166,13 +168,13 @@
     }
     
     if (customWebXml != null) {
-      linkFileFirst(project, customWebXml, "/WEB-INF/web.xml", monitor);
+      linkFileFirst(project, customWebXml, "/WEB-INF/web.xml", monitor); //$NON-NLS-1$
     }
 
     
     component = ComponentCore.createComponent(project, true);
     if(component != null) {      
-      IPath warPath = new Path("/").append(contentFolder.getProjectRelativePath());
+      IPath warPath = new Path("/").append(contentFolder.getProjectRelativePath()); //$NON-NLS-1$
       List<IPath> sourcePaths = new ArrayList<IPath>();
       sourcePaths.add(warPath);
       if (!WTPProjectsUtil.hasLink(project, ROOT_PATH, warPath, monitor)) {
@@ -180,7 +182,7 @@
       }
       //MECLIPSEWTP-22 support web filtered resources. Filtered resources directory must be declared BEFORE
       //the regular web source directory. First resources discovered take precedence on deployment
-      IPath filteredFolder = new Path("/").append(WebResourceFilteringConfiguration.getTargetFolder(mavenProject, project));
+      IPath filteredFolder = new Path("/").append(WebResourceFilteringConfiguration.getTargetFolder(mavenProject, project)); //$NON-NLS-1$
       
       boolean useBuildDir = MavenWtpPlugin.getDefault().getMavenWtpPreferencesManager().getPreferences(project).isWebMavenArchiverUsesBuildDirectory();
       boolean useWebresourcefiltering = config.getWebResources() != null 
@@ -194,7 +196,7 @@
                                       Messages.markers_mavenarchiver_output_settings_ignored_warning, -1, IMarker.SEVERITY_WARNING);
         }
         sourcePaths.add(filteredFolder);
-        WTPProjectsUtil.insertLinkBefore(project, filteredFolder, warPath, new Path("/"), monitor);
+        WTPProjectsUtil.insertLinkBefore(project, filteredFolder, warPath, new Path("/"), monitor); //$NON-NLS-1$
       } else {
         component.getRootFolder().removeLink(filteredFolder,IVirtualResource.NONE, monitor);
       }
@@ -220,7 +222,8 @@
     return webModelCfg;
   }
 
-  public void setModuleDependencies(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
+  @Override
+public void setModuleDependencies(IProject project, MavenProject mavenProject, IProgressMonitor monitor)
       throws CoreException {
     IVirtualComponent component = ComponentCore.createComponent(project);
     //if the attempt to create dependencies happens before the project is actually created, abort. 
@@ -231,7 +234,7 @@
     //MECLIPSEWTP-41 Fix the missing moduleCoreNature
     fixMissingModuleCoreNature(project, monitor);
     
-    DebugUtilities.debug("==============Processing "+project.getName()+" dependencies ===============");
+    DebugUtilities.debug("==============Processing "+project.getName()+" dependencies ==============="); //$NON-NLS-1$ //$NON-NLS-2$
     WarPluginConfiguration config = new WarPluginConfiguration(mavenProject, project);
     IPackagingConfiguration opts = new PackagingConfiguration(config.getPackagingIncludes(), config.getPackagingExcludes());
     FileNameMapping fileNameMapping = config.getFileNameMapping();
@@ -247,9 +250,9 @@
     Map<IVirtualReference, Artifact> referenceMapping = new HashMap<IVirtualReference, Artifact>(exportedDependencies.size()); 
     for(IMavenProjectFacade dependency : exportedDependencies) {
       String depPackaging = dependency.getPackaging();
-      if ("pom".equals(depPackaging) //MNGECLIPSE-744 pom dependencies shouldn't be deployed
-          || "war".equals(depPackaging) //Overlays are dealt with the overlay configurator
-          || "zip".equals(depPackaging)) {
+      if ("pom".equals(depPackaging) //MNGECLIPSE-744 pom dependencies shouldn't be deployed //$NON-NLS-1$
+          || "war".equals(depPackaging) //Overlays are dealt with the overlay configurator //$NON-NLS-1$
+          || "zip".equals(depPackaging)) { //$NON-NLS-1$
         continue;
       }
       
@@ -274,12 +277,12 @@
         ArtifactHelper.fixArtifactHandler(artifact.getArtifactHandler());
         String deployedName = fileNameMapping.mapFileName(artifact);
         
-        boolean isDeployed = !artifact.isOptional() && opts.isPackaged("WEB-INF/lib/"+deployedName);
+        boolean isDeployed = !artifact.isOptional() && opts.isPackaged("WEB-INF/lib/"+deployedName); //$NON-NLS-1$
           
     		//an artifact in mavenProject.getArtifacts() doesn't have the "optional" value as depMavenProject.getArtifact();  
     		if (isDeployed) {
     		  IVirtualReference reference = ComponentCore.createReference(component, depComponent);
-    		  IPath path = new Path("/WEB-INF/lib");
+    		  IPath path = new Path("/WEB-INF/lib"); //$NON-NLS-1$
     		  reference.setArchiveName(deployedName);
     		  reference.setRuntimePath(path);
     		  references.add(reference);
@@ -291,7 +294,7 @@
     		}
       } catch(RuntimeException ex) {
         //Should probably be NPEs at this point
-        String dump = DebugUtilities.dumpProjectState("An error occured while configuring a dependency of  "+project.getName()+DebugUtilities.SEP, dependency.getProject());
+        String dump = DebugUtilities.dumpProjectState("An error occured while configuring a dependency of  "+project.getName()+DebugUtilities.SEP, dependency.getProject()); //$NON-NLS-1$
         LOG.error(dump); 
         throw ex;
       }
@@ -300,7 +303,7 @@
     for (IVirtualReference reference : references) {
       if (dups.contains(reference.getArchiveName())) {
         Artifact a = referenceMapping.get(reference); 
-        String newName = a.getGroupId() + "-" + reference.getArchiveName();
+        String newName = a.getGroupId() + "-" + reference.getArchiveName(); //$NON-NLS-1$
         reference.setArchiveName(newName);
       }
     }
@@ -346,7 +349,7 @@
    if (StringUtils.isBlank(property)) {
   		String finalName = warName;
   		if (StringUtils.isBlank(finalName) 
-  		   || finalName.equals(mavenProject.getArtifactId() + "-" + mavenProject.getVersion())) {
+  		   || finalName.equals(mavenProject.getArtifactId() + "-" + mavenProject.getVersion())) { //$NON-NLS-1$
   		  contextRoot = mavenProject.getArtifactId();
   		}  else {
   		  contextRoot = finalName;
@@ -355,10 +358,11 @@
   		contextRoot = property;
   	}
 
-    return contextRoot.trim().replace(" ", "_");
+    return contextRoot.trim().replace(" ", "_"); //$NON-NLS-1$ //$NON-NLS-2$
   }
 
-  public void configureClasspath(IProject project, MavenProject mavenProject, IClasspathDescriptor classpath,
+  @Override
+public void configureClasspath(IProject project, MavenProject mavenProject, IClasspathDescriptor classpath,
       IProgressMonitor monitor) throws CoreException {
     
     //Improve skinny war support by generating the manifest classpath
@@ -403,7 +407,7 @@
     
       boolean isDeployed = (Artifact.SCOPE_COMPILE.equals(scope) || Artifact.SCOPE_RUNTIME.equals(scope)) 
     		  				&& !descriptor.isOptionalDependency()
-    		  				&& opts.isPackaged("WEB-INF/lib/"+deployedName)
+    		  				&& opts.isPackaged("WEB-INF/lib/"+deployedName) //$NON-NLS-1$
     		  				&& !isWorkspaceProject(artifact);
       
       // add non-dependency attribute if this classpathentry is not meant to be deployed
@@ -445,7 +449,7 @@
         continue;
       }
       if (dups.contains(descriptor.getPath().lastSegment())) {
-        String newName = descriptor.getGroupId() + "-" + descriptor.getPath().lastSegment();
+        String newName = descriptor.getGroupId() + "-" + descriptor.getPath().lastSegment(); //$NON-NLS-1$
         if (CLASSPATH_ARCHIVENAME_ATTRIBUTE == null) {
           IPath newPath = renameArtifact(targetDir, descriptor.getPath(), newName );
           if (newPath != null) {
@@ -472,7 +476,7 @@
         return Path.fromOSString(dst.getCanonicalPath());
       }
     } catch(IOException ex) {
-      LOG.error("File copy failed", ex);
+      LOG.error(Messages.WebProjectConfiguratorDelegate_File_Copy_Failed, ex);
     }
     return null;
   }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/AbstractEarModule.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/AbstractEarModule.java
index 1b4c24a..c257309 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/AbstractEarModule.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/AbstractEarModule.java
@@ -86,13 +86,13 @@
   public String getUri() {
     if(uri == null) {
       String bd = getBundleDir();
-      if(StringUtils.isEmpty(bd) || "/".equals(bd)) {
+      if(StringUtils.isEmpty(bd) || "/".equals(bd)) { //$NON-NLS-1$
         uri = getBundleFileName();
       } else {
-        if(!bd.endsWith("/")) {
-          bd = bd + "/";
+        if(!bd.endsWith("/")) { //$NON-NLS-1$
+          bd = bd + "/"; //$NON-NLS-1$
         } 
-        if (bd.startsWith("/")) {
+        if (bd.startsWith("/")) { //$NON-NLS-1$
           bd = bd.substring(1);
         }
         uri =  bd + getBundleFileName();
@@ -178,12 +178,12 @@
   @Override
   public String toString() {
     StringBuilder sb = new StringBuilder();
-    sb.append(getType()).append(":").append(groupId).append(":").append(artifactId);
+    sb.append(getType()).append(":").append(groupId).append(":").append(artifactId); //$NON-NLS-1$ //$NON-NLS-2$
     if(classifier != null) {
-      sb.append(":").append(classifier);
+      sb.append(":").append(classifier); //$NON-NLS-1$
     }
     if(artifact != null) {
-      sb.append(":").append(artifact.getVersion());
+      sb.append(":").append(artifact.getVersion()); //$NON-NLS-1$
     }
     return sb.toString();
   }
@@ -203,8 +203,8 @@
     bundleDir = bundleDir.replace('\\', '/');
 
     //WTP needs the bundle dir to start with a '/'
-    if(!bundleDir.startsWith("/")) {
-      bundleDir = "/" + bundleDir ;
+    if(!bundleDir.startsWith("/")) { //$NON-NLS-1$
+      bundleDir = "/" + bundleDir ; //$NON-NLS-1$
     }
 
     return bundleDir;
@@ -241,18 +241,18 @@
     if (StringUtils.isNotBlank(uri)) {
       int lastSlash = uri.lastIndexOf('/');
       if (lastSlash == uri.length()-1){
-        throw new IllegalArgumentException("module uri ("+uri+") : can not end with a / ");
+        throw new IllegalArgumentException("module uri ("+uri+") : can not end with a / "); //$NON-NLS-1$ //$NON-NLS-2$
       }
       if (lastSlash>0) {
         bundleDir = uri.substring(0,lastSlash);
         bundleFileName = uri.substring(lastSlash+1);
       } else {
-        bundleFileName = uri.replace("/","");
+        bundleFileName = uri.replace("/",""); //$NON-NLS-1$ //$NON-NLS-2$
       }
       bundleDir = cleanBundleDir(bundleDir);
 
       if (StringUtils.isBlank(bundleFileName)){
-        throw new IllegalArgumentException("module uri must contain a file name ");
+        throw new IllegalArgumentException("module uri must contain a file name "); //$NON-NLS-1$
       }
     }
   }
@@ -272,19 +272,19 @@
   
   public Xpp3Dom getAsDom() {
     Xpp3Dom moduleDom = new Xpp3Dom(getModuleType());
-    Xpp3Dom groupIdDom = new Xpp3Dom("groupId");
+    Xpp3Dom groupIdDom = new Xpp3Dom("groupId"); //$NON-NLS-1$
     groupIdDom.setValue(getGroupId());  
     moduleDom.addChild(groupIdDom);
-    Xpp3Dom artifactIdDom = new Xpp3Dom("artifactId");
+    Xpp3Dom artifactIdDom = new Xpp3Dom("artifactId"); //$NON-NLS-1$
     artifactIdDom.setValue(getArtifactId());  
     moduleDom.addChild(artifactIdDom);
-    Xpp3Dom uriDom = new Xpp3Dom("uri");
+    Xpp3Dom uriDom = new Xpp3Dom("uri"); //$NON-NLS-1$
     uriDom.setValue(getUri());  
     moduleDom.addChild(uriDom);
-    Xpp3Dom altDdDom = new Xpp3Dom("altDeploymentDescriptor");
+    Xpp3Dom altDdDom = new Xpp3Dom("altDeploymentDescriptor"); //$NON-NLS-1$
     altDdDom.setValue(getAltDeploymentDescriptor());  
     moduleDom.addChild(altDdDom);
-    Xpp3Dom excludedDom = new Xpp3Dom("excluded");
+    Xpp3Dom excludedDom = new Xpp3Dom("excluded"); //$NON-NLS-1$
     excludedDom.setValue(Boolean.toString(isExcluded()));  
     moduleDom.addChild(excludedDom);
     setCustomValues(moduleDom);
@@ -295,7 +295,7 @@
    * @return
    */
   protected String getModuleType() {
-    return "jarModule";
+    return "jarModule"; //$NON-NLS-1$
   }
   
   protected void setCustomValues(Xpp3Dom module) {
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/AppClientModule.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/AppClientModule.java
index c54cc62..41f35af 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/AppClientModule.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/AppClientModule.java
@@ -40,10 +40,10 @@
   }
 
   public String getType() {
-    return "app-client";
+    return "app-client"; //$NON-NLS-1$
   }
 
   protected String getModuleType() {
-    return "appClientModule";
+    return "appClientModule"; //$NON-NLS-1$
   }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/ArtifactRepository.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/ArtifactRepository.java
index 7e6781d..71453da 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/ArtifactRepository.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/ArtifactRepository.java
@@ -125,17 +125,17 @@
     // If the artifact is already set no need to resolve it
     // Make sure that at least the groupId and the artifactId are specified
     if(groupId == null || artifactId == null) {
-      throw new IllegalArgumentException("Could not resolve artifact[" + type + ":" + groupId + ":" + artifactId +"]");
+      throw new IllegalArgumentException("Could not resolve artifact[" + type + ":" + groupId + ":" + artifactId +"]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
     }
     Artifact artifact = getUniqueArtifact(groupId, artifactId, type, classifier);
     // Artifact has not been found
     if(artifact == null) {
       Set<Artifact> candidates = getArtifacts(groupId, artifactId, type);
       if(candidates.size() > 1) {
-        throw new EarPluginException("Artifact[" + type + ":" + groupId + ":" + artifactId +"] has " + candidates.size()
-            + " candidates, please provide a classifier.");
+        throw new EarPluginException("Artifact[" + type + ":" + groupId + ":" + artifactId +"] has " + candidates.size() //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+            + " candidates, please provide a classifier."); //$NON-NLS-1$
       } else {
-        throw new EarPluginException("Artifact[" + type + ":" + groupId + ":" + artifactId +"] is not a dependency of the project.");
+        throw new EarPluginException("Artifact[" + type + ":" + groupId + ":" + artifactId +"] is not a dependency of the project."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
       }
     }
     return artifact;
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/ArtifactTypeMappingService.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/ArtifactTypeMappingService.java
index 3c0d996..24e0220 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/ArtifactTypeMappingService.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/ArtifactTypeMappingService.java
@@ -35,26 +35,26 @@
  * @author <a href="snicoll@apache.org">Stephane Nicoll</a>
  */
 public class ArtifactTypeMappingService {
-  static final String ARTIFACT_TYPE_MAPPING_ELEMENT = "artifactTypeMapping";
+  static final String ARTIFACT_TYPE_MAPPING_ELEMENT = "artifactTypeMapping"; //$NON-NLS-1$
 
-  static final String TYPE_ATTRIBUTE = "type";
+  static final String TYPE_ATTRIBUTE = "type"; //$NON-NLS-1$
 
-  static final String MAPPING_ATTRIBUTE = "mapping";
+  static final String MAPPING_ATTRIBUTE = "mapping"; //$NON-NLS-1$
 
   public final static List<String> standardArtifactTypes = new ArrayList<String>(10);
 
   static {
-    standardArtifactTypes.add("jar");
-    standardArtifactTypes.add("ejb");
-    standardArtifactTypes.add("ejb3");
-    standardArtifactTypes.add("par");
-    standardArtifactTypes.add("ejb-client");
-    standardArtifactTypes.add("rar");
-    standardArtifactTypes.add("war");
-    standardArtifactTypes.add("sar");
-    standardArtifactTypes.add("wsr");
-    standardArtifactTypes.add("har");
-    standardArtifactTypes.add("app-client");    
+    standardArtifactTypes.add("jar"); //$NON-NLS-1$
+    standardArtifactTypes.add("ejb"); //$NON-NLS-1$
+    standardArtifactTypes.add("ejb3"); //$NON-NLS-1$
+    standardArtifactTypes.add("par"); //$NON-NLS-1$
+    standardArtifactTypes.add("ejb-client"); //$NON-NLS-1$
+    standardArtifactTypes.add("rar"); //$NON-NLS-1$
+    standardArtifactTypes.add("war"); //$NON-NLS-1$
+    standardArtifactTypes.add("sar"); //$NON-NLS-1$
+    standardArtifactTypes.add("wsr"); //$NON-NLS-1$
+    standardArtifactTypes.add("har"); //$NON-NLS-1$
+    standardArtifactTypes.add("app-client");     //$NON-NLS-1$
   }
 
   // A standard type to a list of customType
@@ -80,14 +80,14 @@
       final String mapping = artifactTypeMapping.getAttribute(MAPPING_ATTRIBUTE);
 
       if(customType == null) {
-        throw new EarPluginException("Invalid artifact type mapping, type attribute should be set.");
+        throw new EarPluginException("Invalid artifact type mapping, type attribute should be set."); //$NON-NLS-1$
       } else if(mapping == null) {
-        throw new EarPluginException("Invalid artifact type mapping, mapping attribute should be set.");
+        throw new EarPluginException("Invalid artifact type mapping, mapping attribute should be set."); //$NON-NLS-1$
       } else if(!isStandardArtifactType(mapping)) {
-        throw new EarPluginException("Invalid artifact type mapping, mapping[" + mapping
-            + "] must be a standard Ear artifact type[" + getStandardArtifactTypes() + "]");
+        throw new EarPluginException("Invalid artifact type mapping, mapping[" + mapping //$NON-NLS-1$
+            + "] must be a standard Ear artifact type[" + getStandardArtifactTypes() + "]"); //$NON-NLS-1$ //$NON-NLS-2$
       } else if(customMappings.containsKey(customType)) {
-        throw new EarPluginException("Invalid artifact type mapping, type[" + customType + "] is already registered.");
+        throw new EarPluginException("Invalid artifact type mapping, type[" + customType + "] is already registered."); //$NON-NLS-1$ //$NON-NLS-2$
       } else {
         // Add the custom mapping
         customMappings.put(customType, mapping);
@@ -108,8 +108,8 @@
    */
   public boolean isMappedToType(final String standardType, final String customType) {
     if(!isStandardArtifactType(standardType)) {
-      throw new IllegalStateException("Artifact type[" + standardType + "] is not a standard Ear artifact type["
-          + getStandardArtifactTypes() + "]");
+      throw new IllegalStateException("Artifact type[" + standardType + "] is not a standard Ear artifact type[" //$NON-NLS-1$ //$NON-NLS-2$
+          + getStandardArtifactTypes() + "]"); //$NON-NLS-1$
     }
     final List<String> typeMappings = this.typeMappings.get(standardType);
     return typeMappings.contains(customType);
@@ -125,11 +125,11 @@
    */
   public String getStandardType(final String type) throws UnknownArtifactTypeException {
     if(type == null) {
-      throw new IllegalStateException("custom type could not be null.");
+      throw new IllegalStateException("custom type could not be null."); //$NON-NLS-1$
     } else if(getStandardArtifactTypes().contains(type)) {
       return type;
     } else if(!customMappings.containsKey(type)) {
-      throw new UnknownArtifactTypeException("Unknown artifact type[" + type + "]");
+      throw new UnknownArtifactTypeException("Unknown artifact type[" + type + "]"); //$NON-NLS-1$ //$NON-NLS-2$
     } else {
       return customMappings.get(type);
     }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/EarModuleFactory.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/EarModuleFactory.java
index 8bdeb39..2e2714d 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/EarModuleFactory.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/EarModuleFactory.java
@@ -83,34 +83,34 @@
     // Get the standard artifact type based on default config and user-defined mapping(s)
     final String artifactType = artifactTypeMappingService.getStandardType(artifact.getType());
     AbstractEarModule earModule = null;
-    if("jar".equals(artifactType)) {
+    if("jar".equals(artifactType)) { //$NON-NLS-1$
       earModule = new JarModule(artifact);
       ((JarModule)earModule).setIncludeInApplicationXml(defaultIncludeInApplicationXml);
       ((JarModule)earModule).setLibBundleDir(defaultLibBundleDir);
-    } else if("ejb".equals(artifactType) || "ejb3".equals(artifactType)) {
+    } else if("ejb".equals(artifactType) || "ejb3".equals(artifactType)) { //$NON-NLS-1$ //$NON-NLS-2$
       earModule  = new EjbModule(artifact);
-    } else if("par".equals(artifactType)) {
+    } else if("par".equals(artifactType)) { //$NON-NLS-1$
       earModule  = new ParModule(artifact);
-    } else if("ejb-client".equals(artifactType)) {
+    } else if("ejb-client".equals(artifactType)) { //$NON-NLS-1$
       earModule  = new EjbClientModule(artifact);
       if (javaEEVersion.compareTo(IJ2EEFacetConstants.ENTERPRISE_APPLICATION_14) >  0)
       {
         ((EjbClientModule)earModule).setLibBundleDir(defaultLibBundleDir);
       }
-    } else if("rar".equals(artifactType)) {
+    } else if("rar".equals(artifactType)) { //$NON-NLS-1$
       earModule  = new RarModule(artifact);
-    } else if("war".equals(artifactType)) {
+    } else if("war".equals(artifactType)) { //$NON-NLS-1$
       earModule  = new WebModule(artifact);
-    } else if("sar".equals(artifactType)) {
+    } else if("sar".equals(artifactType)) { //$NON-NLS-1$
       earModule  = new SarModule(artifact);
-    } else if("wsr".equals(artifactType)) {
+    } else if("wsr".equals(artifactType)) { //$NON-NLS-1$
       earModule  = new WsrModule(artifact);
-    } else if("har".equals(artifactType)) {
+    } else if("har".equals(artifactType)) { //$NON-NLS-1$
       earModule  = new HarModule(artifact);
-    } else if("app-client".equals(artifactType)) {
+    } else if("app-client".equals(artifactType)) { //$NON-NLS-1$
         earModule  = new AppClientModule(artifact);
     } else {
-      throw new IllegalStateException("Could not handle artifact type[" + artifactType + "]");
+      throw new IllegalStateException("Could not handle artifact type[" + artifactType + "]"); //$NON-NLS-1$ //$NON-NLS-2$
     }
 
     earModule.setBundleFileName(fileNameMapping.mapFileName(artifact));
@@ -121,83 +121,83 @@
 
   public EarModule newEarModule(Xpp3Dom domModule, String defaultLibBundleDir, IProjectFacetVersion javaEEVersion, boolean defaultIncludeInApplicationXml) throws EarPluginException {
     String artifactType = domModule.getName();
-    String groupId      = getChildValue(domModule, "groupId");
-    String artifactId   = getChildValue(domModule, "artifactId");
-    String classifier   = getChildValue(domModule, "classifier");
+    String groupId      = getChildValue(domModule, "groupId"); //$NON-NLS-1$
+    String artifactId   = getChildValue(domModule, "artifactId"); //$NON-NLS-1$
+    String classifier   = getChildValue(domModule, "classifier"); //$NON-NLS-1$
     
     AbstractEarModule earModule = null;
     // Get the standard artifact type based on default config and user-defined mapping(s)
-    if ( "jarModule".equals(artifactType) || "javaModule".equals(artifactType)) {
+    if ( "jarModule".equals(artifactType) || "javaModule".equals(artifactType)) { //$NON-NLS-1$ //$NON-NLS-2$
       JarModule jarModule = new JarModule();
       jarModule.setBundleDir(defaultLibBundleDir);
       
-      if (domModule.getChild("includeInApplicationXml") == null) {
+      if (domModule.getChild("includeInApplicationXml") == null) { //$NON-NLS-1$
         jarModule.setIncludeInApplicationXml(defaultIncludeInApplicationXml);
       } else {
-        jarModule.setIncludeInApplicationXml(getBooleanChildValue(domModule, "includeInApplicationXml"));  
+        jarModule.setIncludeInApplicationXml(getBooleanChildValue(domModule, "includeInApplicationXml"));   //$NON-NLS-1$
       }
       earModule = jarModule;
     } 
-    else if ( "ejbModule".equals(artifactType) || "ejb3Module".equals(artifactType)) {
+    else if ( "ejbModule".equals(artifactType) || "ejb3Module".equals(artifactType)) { //$NON-NLS-1$ //$NON-NLS-2$
       earModule  = new EjbModule();
     } 
-    else if ( "webModule".equals(artifactType)){
+    else if ( "webModule".equals(artifactType)){ //$NON-NLS-1$
       WebModule webModule  = new WebModule();
-      webModule.setContextRoot(getChildValue(domModule, "contextRoot"));
+      webModule.setContextRoot(getChildValue(domModule, "contextRoot")); //$NON-NLS-1$
       earModule = webModule;
     }
-    else if ( "parModule".equals(artifactType)){
+    else if ( "parModule".equals(artifactType)){ //$NON-NLS-1$
       earModule = new ParModule();
     }
-    else if ( "ejbClientModule".equals(artifactType)){
+    else if ( "ejbClientModule".equals(artifactType)){ //$NON-NLS-1$
       earModule = new EjbClientModule();
       if (javaEEVersion.compareTo(IJ2EEFacetConstants.ENTERPRISE_APPLICATION_14) >  0)
       {
         ((EjbClientModule)earModule).setLibBundleDir(defaultLibBundleDir);
       }
     }
-    else if ( "rarModule".equals(artifactType)){
+    else if ( "rarModule".equals(artifactType)){ //$NON-NLS-1$
       earModule = new RarModule();
     }
-    else if ( "warModule".equals(artifactType)){
+    else if ( "warModule".equals(artifactType)){ //$NON-NLS-1$
       earModule = new WebModule();
     }
-    else if ( "sarModule".equals(artifactType)){
+    else if ( "sarModule".equals(artifactType)){ //$NON-NLS-1$
       earModule = new SarModule();
     }
-    else if ( "wsrModule".equals(artifactType)){
+    else if ( "wsrModule".equals(artifactType)){ //$NON-NLS-1$
       earModule = new WsrModule();
     }
-    else if ( "harModule".equals(artifactType)){
+    else if ( "harModule".equals(artifactType)){ //$NON-NLS-1$
       earModule = new HarModule();
     }
-    else if ( "appClientModule".equals(artifactType)){
+    else if ( "appClientModule".equals(artifactType)){ //$NON-NLS-1$
         earModule = new AppClientModule();
     }
     else {
-        throw new IllegalStateException( "Could not handle artifact type[" + artifactType + "]" );
+        throw new IllegalStateException( "Could not handle artifact type[" + artifactType + "]" ); //$NON-NLS-1$ //$NON-NLS-2$
     }
     
     Artifact artifact   = artifactRepository.resolveArtifact(groupId, artifactId, earModule.getType(), classifier);
     earModule.setArtifact(artifact);
     
-    String bundleDir = getChildValue(domModule, "bundleDir");
+    String bundleDir = getChildValue(domModule, "bundleDir"); //$NON-NLS-1$
     if (StringUtils.isNotBlank(bundleDir)){
       earModule.setBundleDir(bundleDir);      
     }
     //To this point, we're sure to have a valid earModule ...
-    String bundleFileName  = getChildValue(domModule, "bundleFileName");
+    String bundleFileName  = getChildValue(domModule, "bundleFileName"); //$NON-NLS-1$
     if (null==bundleFileName){
       bundleFileName = fileNameMapping.mapFileName(artifact);
     }
     earModule.setBundleFileName(bundleFileName);
-    earModule.setUri(getChildValue(domModule, "uri"));
-    earModule.setExcluded(getBooleanChildValue(domModule, "excluded"));
+    earModule.setUri(getChildValue(domModule, "uri")); //$NON-NLS-1$
+    earModule.setExcluded(getBooleanChildValue(domModule, "excluded")); //$NON-NLS-1$
 
-    earModule.setAltDeploymentDescriptor(getChildValue(domModule, "altDeploymentDescriptor"));
+    earModule.setAltDeploymentDescriptor(getChildValue(domModule, "altDeploymentDescriptor")); //$NON-NLS-1$
     
     //The following will be ignored by WTP - so far
-    String unpack = getChildValue(domModule, "unpack");
+    String unpack = getChildValue(domModule, "unpack"); //$NON-NLS-1$
     earModule.setShouldUnpack(unpack==null?null:Boolean.valueOf(unpack));
     
     return earModule;
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/EarPluginException.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/EarPluginException.java
index 36ad881..3a75e6e 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/EarPluginException.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/EarPluginException.java
@@ -23,6 +23,7 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.m2e.core.internal.IMavenConstants;
+import org.eclipse.m2e.wtp.internal.Messages;
 
 
 /**
@@ -36,7 +37,7 @@
 public class EarPluginException extends CoreException {
   private static final long serialVersionUID = -819727447130647982L;
 
-  private static final String DEFAULT_MESSAGE = "Error in ear plugin configuration";
+  private static final String DEFAULT_MESSAGE = Messages.EarPluginException_Default_Message;
 
   public EarPluginException() {
     super(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, DEFAULT_MESSAGE));
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/EjbClientModule.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/EjbClientModule.java
index f4d7b16..065b3bd 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/EjbClientModule.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/EjbClientModule.java
@@ -40,11 +40,11 @@
   }
 
   public String getType() {
-    return "ejb-client";
+    return "ejb-client"; //$NON-NLS-1$
   }
   
   protected String getModuleType() {
-    return "ejbClientModule";
+    return "ejbClientModule"; //$NON-NLS-1$
   }
   
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/EjbModule.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/EjbModule.java
index 04c8558..a27b801 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/EjbModule.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/EjbModule.java
@@ -41,10 +41,10 @@
   }
 
   public String getType() {
-    return "ejb";
+    return "ejb"; //$NON-NLS-1$
   }
   
   protected String getModuleType() {
-    return "ejbModule";
+    return "ejbModule"; //$NON-NLS-1$
   }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/HarModule.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/HarModule.java
index 9b966c2..1bb1e96 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/HarModule.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/HarModule.java
@@ -40,11 +40,11 @@
   }
 
   public String getType() {
-    return "har";
+    return "har"; //$NON-NLS-1$
   }
 
   protected String getModuleType() {
-    return "harModule";
+    return "harModule"; //$NON-NLS-1$
   }
   
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/JarModule.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/JarModule.java
index b8d86f9..781f3e5 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/JarModule.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/JarModule.java
@@ -47,7 +47,7 @@
   }
 
   public String getType() {
-    return "jar";
+    return "jar"; //$NON-NLS-1$
   }
 
   void setLibBundleDir(String defaultLibBundleDir) {
@@ -65,7 +65,7 @@
   }
 
   protected void setCustomValues(Xpp3Dom module) {
-    Xpp3Dom contextRootDom = new Xpp3Dom("includeInApplicationXml");
+    Xpp3Dom contextRootDom = new Xpp3Dom("includeInApplicationXml"); //$NON-NLS-1$
     contextRootDom.setValue(Boolean.toString(includeInApplicationXml));
     module.addChild(contextRootDom); 
   }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/ParModule.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/ParModule.java
index 20291f1..b91bff1 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/ParModule.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/ParModule.java
@@ -40,11 +40,11 @@
   }
 
   public String getType() {
-    return "par";
+    return "par"; //$NON-NLS-1$
   }
   
   protected String getModuleType() {
-    return "parModule";
+    return "parModule"; //$NON-NLS-1$
   }
   
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/RarModule.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/RarModule.java
index 754464b..505cb74 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/RarModule.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/RarModule.java
@@ -40,11 +40,11 @@
   }
 
   public String getType() {
-    return "rar";
+    return "rar"; //$NON-NLS-1$
   }
   
   protected String getModuleType() {
-    return "rarModule";
+    return "rarModule"; //$NON-NLS-1$
   }
   
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/SarModule.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/SarModule.java
index a2289c1..d0c7cef 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/SarModule.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/SarModule.java
@@ -40,11 +40,11 @@
   }
 
   public String getType() {
-    return "sar";
+    return "sar"; //$NON-NLS-1$
   }
 
   protected String getModuleType() {
-    return "sarModule";
+    return "sarModule"; //$NON-NLS-1$
   }
   
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/WebModule.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/WebModule.java
index 775a11d..196ccf1 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/WebModule.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/WebModule.java
@@ -58,7 +58,7 @@
   }
 
   public String getType() {
-    return "war";
+    return "war"; //$NON-NLS-1$
   }
 
   /**
@@ -69,9 +69,9 @@
    */
   private static String getDefaultContextRoot(Artifact a) {
     if(a == null) {
-      throw new NullPointerException("Artifact could not be null.");
+      throw new NullPointerException("Artifact could not be null."); //$NON-NLS-1$
     }
-    return "/" + a.getArtifactId();
+    return "/" + a.getArtifactId(); //$NON-NLS-1$
   }
 
   public void setContextRoot(String contextRoot) {
@@ -79,12 +79,12 @@
   }
   
   protected void setCustomValues(Xpp3Dom module) {
-    Xpp3Dom contextRootDom = new Xpp3Dom("contextRoot");
+    Xpp3Dom contextRootDom = new Xpp3Dom("contextRoot"); //$NON-NLS-1$
     contextRootDom.setValue(getContextRoot());
     module.addChild(contextRootDom);
   }
 
   protected String getModuleType() {
-    return "webModule";
+    return "webModule"; //$NON-NLS-1$
   }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/WsrModule.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/WsrModule.java
index a6878d7..a2a849c 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/WsrModule.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/earmodules/WsrModule.java
@@ -40,11 +40,11 @@
   }
 
   public String getType() {
-    return "wsr";
+    return "wsr"; //$NON-NLS-1$
   }
 
   protected String getModuleType() {
-    return "wsrModule";
+    return "wsrModule"; //$NON-NLS-1$
   }
   
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/facets/AbstractFacetDetector.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/facets/AbstractFacetDetector.java
index 3840d02..118797a 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/facets/AbstractFacetDetector.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/facets/AbstractFacetDetector.java
@@ -27,13 +27,13 @@
  */
 public abstract class AbstractFacetDetector implements IExecutableExtension, Comparable<AbstractFacetDetector> {
   
-  public static final String ATTR_ID = "id";
+  public static final String ATTR_ID = "id"; //$NON-NLS-1$
   
-  public static final String ATTR_FACET_ID = "facetId";
+  public static final String ATTR_FACET_ID = "facetId"; //$NON-NLS-1$
   
-  public static final String ATTR_PRIORITY = "priority";
+  public static final String ATTR_PRIORITY = "priority"; //$NON-NLS-1$
   
-  public static final String ATTR_CLASS = "class";
+  public static final String ATTR_CLASS = "class"; //$NON-NLS-1$
   
   private String id;
   
@@ -82,7 +82,8 @@
    * 
    * @see java.lang.Comparable#compareTo(java.lang.Object)
    */
-  public int compareTo(AbstractFacetDetector other) {
+  @Override
+public int compareTo(AbstractFacetDetector other) {
     if (other == null) {
       return priority;
     }
@@ -96,7 +97,8 @@
   /**
    * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object)
    */
-  public void setInitializationData(IConfigurationElement config, String propertyName, Object data)
+  @Override
+public void setInitializationData(IConfigurationElement config, String propertyName, Object data)
       throws CoreException {
       this.id = config.getAttribute(ATTR_ID);
       this.facetId = config.getAttribute(ATTR_FACET_ID);
@@ -110,7 +112,8 @@
   /* (non-Javadoc)
    * @see java.lang.Object#toString()
    */
-  public String toString() {
+  @Override
+public String toString() {
     return getId();
   }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/facets/FacetDetectorExtensionReader.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/facets/FacetDetectorExtensionReader.java
index 44a66a4..f34ab46 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/facets/FacetDetectorExtensionReader.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/facets/FacetDetectorExtensionReader.java
@@ -22,6 +22,7 @@
 import org.eclipse.core.runtime.IExtensionPoint;
 import org.eclipse.core.runtime.IExtensionRegistry;
 import org.eclipse.core.runtime.Platform;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -36,9 +37,9 @@
 
   private static final Logger LOG = LoggerFactory.getLogger(FacetDetectorExtensionReader.class);
 
-  private static final String EXTENSION_FACET_DETECTORS = "org.eclipse.m2e.wtp.facetDetectors";
+  private static final String EXTENSION_FACET_DETECTORS = "org.eclipse.m2e.wtp.facetDetectors"; //$NON-NLS-1$
 
-  private static final Object ELEMENT_FACET_DETECTOR = "facetDetector";
+  private static final Object ELEMENT_FACET_DETECTOR = "facetDetector"; //$NON-NLS-1$
 
   public static synchronized Map<String, List<AbstractFacetDetector>> readFacetDetectorExtensions() {
     
@@ -63,7 +64,7 @@
               }
               detectors.add(facetDetector);
             } catch(CoreException ex) {
-              LOG.error("Error configuring facet detector", ex);
+              LOG.error(Messages.FacetDetectorExtensionReader_Error_Configuring_Facet_Detector, ex);
             }
           }
         }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/AntPathMatcher.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/AntPathMatcher.java
index bb96b02..6416ae7 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/AntPathMatcher.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/AntPathMatcher.java
@@ -55,7 +55,7 @@
 public class AntPathMatcher  {
 
 	/** Default path separator: "/" */
-	public static final String DEFAULT_PATH_SEPARATOR = "/";
+	public static final String DEFAULT_PATH_SEPARATOR = "/"; //$NON-NLS-1$
 
 	private String pathSeparator = DEFAULT_PATH_SEPARATOR;
 
@@ -107,7 +107,7 @@
 		// Match all elements up to the first **
 		while (pattIdxStart <= pattIdxEnd && pathIdxStart <= pathIdxEnd) {
 			String patDir = pattDirs[pattIdxStart];
-			if ("**".equals(patDir)) {
+			if ("**".equals(patDir)) { //$NON-NLS-1$
 				break;
 			}
 			if (!matchStrings(patDir, pathDirs[pathIdxStart])) {
@@ -126,12 +126,12 @@
 			if (!fullMatch) {
 				return true;
 			}
-			if (pattIdxStart == pattIdxEnd && pattDirs[pattIdxStart].equals("*") &&
+			if (pattIdxStart == pattIdxEnd && pattDirs[pattIdxStart].equals("*") && //$NON-NLS-1$
 					path.endsWith(this.pathSeparator)) {
 				return true;
 			}
 			for (int i = pattIdxStart; i <= pattIdxEnd; i++) {
-				if (!pattDirs[i].equals("**")) {
+				if (!pattDirs[i].equals("**")) { //$NON-NLS-1$
 					return false;
 				}
 			}
@@ -141,7 +141,7 @@
 			// String not exhausted, but pattern is. Failure.
 			return false;
 		}
-		else if (!fullMatch && "**".equals(pattDirs[pattIdxStart])) {
+		else if (!fullMatch && "**".equals(pattDirs[pattIdxStart])) { //$NON-NLS-1$
 			// Path start definitely matches due to "**" part in pattern.
 			return true;
 		}
@@ -149,7 +149,7 @@
 		// up to last '**'
 		while (pattIdxStart <= pattIdxEnd && pathIdxStart <= pathIdxEnd) {
 			String patDir = pattDirs[pattIdxEnd];
-			if (patDir.equals("**")) {
+			if (patDir.equals("**")) { //$NON-NLS-1$
 				break;
 			}
 			if (!matchStrings(patDir, pathDirs[pathIdxEnd])) {
@@ -161,7 +161,7 @@
 		if (pathIdxStart > pathIdxEnd) {
 			// String is exhausted
 			for (int i = pattIdxStart; i <= pattIdxEnd; i++) {
-				if (!pattDirs[i].equals("**")) {
+				if (!pattDirs[i].equals("**")) { //$NON-NLS-1$
 					return false;
 				}
 			}
@@ -171,7 +171,7 @@
 		while (pattIdxStart != pattIdxEnd && pathIdxStart <= pathIdxEnd) {
 			int patIdxTmp = -1;
 			for (int i = pattIdxStart + 1; i <= pattIdxEnd; i++) {
-				if (pattDirs[i].equals("**")) {
+				if (pattDirs[i].equals("**")) { //$NON-NLS-1$
 					patIdxTmp = i;
 					break;
 				}
@@ -209,7 +209,7 @@
 		}
 
 		for (int i = pattIdxStart; i <= pattIdxEnd; i++) {
-			if (!pattDirs[i].equals("**")) {
+			if (!pattDirs[i].equals("**")) { //$NON-NLS-1$
 				return false;
 			}
 		}
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/ExtensionReader.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/ExtensionReader.java
index e70fca6..c697022 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/ExtensionReader.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/ExtensionReader.java
@@ -33,11 +33,11 @@
  */
 public class ExtensionReader {
 
-  public static final String EXTENSION_DEPENDENCY_CONFIGURATORS = "org.eclipse.m2e.wtp.dependencyConfigurators";
+  public static final String EXTENSION_DEPENDENCY_CONFIGURATORS = "org.eclipse.m2e.wtp.dependencyConfigurators"; //$NON-NLS-1$
   
   private static final Logger LOG = LoggerFactory.getLogger(ExtensionReader.class);
       
-  private static final String ELEMENT_CONFIGURATOR = "configurator";
+  private static final String ELEMENT_CONFIGURATOR = "configurator"; //$NON-NLS-1$
   
   private static ArrayList<AbstractDependencyConfigurator> dependencyConfigurators;
 
@@ -64,7 +64,7 @@
                 
                 dependencyConfigurators.add(projectConfigurator);
               } catch(CoreException ex) {
-                LOG.error("Error configuring dependency configurator", ex);
+                LOG.error("Error configuring dependency configurator", ex); //$NON-NLS-1$
               }
             }
           }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/Messages.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/Messages.java
new file mode 100644
index 0000000..c7a0df8
--- /dev/null
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/Messages.java
@@ -0,0 +1,87 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.m2e.wtp.internal;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * Messages
+ *
+ * @author Fred Bricon
+ */
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.eclipse.m2e.wtp.internal.messages"; //$NON-NLS-1$
+	public static String AbstractProjectFacetConversionEnabler_Error_Accessing_Project;
+	public static String AppClientVersionChangeListener_Error_Notifying_Application_Client_Version_Change;
+	public static String VersionChangeListener_Unreadeable_Project_Nature;
+	public static String EarProjectConverter_Error_EAR_Root_Content_Folder;
+	public static String EarVersionChangeListener_Error_Notifying_EAR_Version_Change;
+	public static String EjbClientClassifierClasspathProvider_EJB_Client_Classpath_Provider;
+	public static String ClassifierClasspathProvider_Error_Loading_Maven_Instance;
+	public static String MavenPluginUtils_ArtifactId_Cant_Be_Null;
+	public static String MavenPluginUtils_Error_Cant_Retrieve_Latest_Plugin_Version;
+	public static String MavenPluginUtils_GroupId_Cant_Be_Null;
+	public static String MavenWtpPreferencePage_EAR_Project_Preferences;
+	public static String MavenWtpPreferencePage_Enable_Project_Specific_Settings;
+	public static String MavenWtpPreferencePage_Generate_ApplicationXml_Under_Build_Dir;
+	public static String MavenWtpPreferencePage_Generate_MavenArchiver_Files_Under_Build_Dir;
+	public static String MavenWtpPreferencePage_JavaEE_Integration_Settings;
+	public static String MavenWtpPreferencePage_Maven_JavaEE_Integration_Settings;
+	public static String MavenWtpPreferencePage_Select_Active_JavaEE_Configurators;
+	public static String MavenWtpPreferencePage_Update_Projects_After_Preference_Changes;
+	public static String MavenWtpPreferencePage_Updating_Configuration_For_Project;
+	public static String MavenWtpPreferencePage_Updating_Maven_Projects_Job;
+	public static String MavenWtpPreferencePage_Updating_Maven_Projects_Monitor;
+	public static String MavenWtpPreferencePage_Using_Build_Directory;
+	public static String MavenWtpPreferencePage_WAR_Project_Preferences;
+	public static String MavenWtpPreferencesManagerImpl_0;
+	public static String ResourceFilteringBuildParticipant_Changed_Resources_Require_Clean_Build;
+	public static String ResourceFilteringBuildParticipant_Cleaning_Filtered_Folder;
+	public static String ResourceFilteringBuildParticipant_Error_While_Filtering_Resources;
+	public static String ResourceFilteringBuildParticipant_Executing_Resource_Filtering;
+	public static String WarClassesClassifierClasspathProvider_WAR_Classes_Classifier_Classpath_Provider;
+	public static String WarVersionChangeListener_Error_Notifying_WebApp_Version_Change;
+	public static String WTPResourcesContentProvider_Error_Getting_Pipelined_Children;
+	public static String WTPResourcesImages_Error_Creating_ImageDescriptor;
+	public static String WTPResourcesNode_Cant_Retrieve_Project_Facet;
+	public static String WTPResourcesNode_Deployed_Resources_Label;
+	public static String WTPResourcesNode_Error_Getting_WTP_Resources;
+	public static String FacetDetectorExtensionReader_Error_Configuring_Facet_Detector;
+	public static String AbstractProjectConfiguratorDelegate_Error_Inconsistent_Java_Configuration;
+	public static String AbstractProjectConfiguratorDelegate_Unable_To_Configure_Project;
+	public static String AcrPluginConfiguration_Error_Project_Not_appclient;
+	public static String ArtifactHelper_Error_Artifact_Must_Not_Be_Null;
+	public static String EarPluginConfiguration_Error_Reading_EAR_Version;
+	public static String EarPluginConfiguration_Project_Must_Have_ear_Packaging;
+	public static String EarProjectConfiguratorDelegate_Configuring_EAR_Project;
+	public static String EjbPluginConfiguration_Project_Must_Have_ejb_Packaging;
+	public static String Error_Cleaning_WTP_Files;
+	public static String Error_Maven_Project_Cant_Be_Null;
+	public static String Error_Reading_Project_Facet;
+    public static String markers_inclusion_patterns_problem;
+	public static String markers_unsupported_dependencies_warning;
+	public static String markers_mavenarchiver_output_settings_ignored_warning;
+	public static String MavenDeploymentDescriptorManagement_Error_Deleting_Temp_Folder;
+	public static String MavenSessionHelper_Error_Component_Lookup;
+	public static String RarPluginConfiguration_Project_Must_Have_rar_Packaging;
+    public static String WebProjectConfiguratorDelegate_File_Copy_Failed;
+	public static String WebProjectConfiguratorDelegate_Renamed_Dependencies_Will_Be_Copied;
+	public static String WTPProjectsUtil_Actions_Cant_Be_Null;
+	public static String WTPProjectsUtil_Facet_Version_Cant_Be_Null;
+	public static String WTPProjectsUtil_Project_Cant_Be_Null;
+	public static String WTPProjectsUtil_Unable_To_Add_ModuleCoreNature;
+	public static String EarPluginException_Default_Message;
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/StringUtils.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/StringUtils.java
index a845c0e..26c57b3 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/StringUtils.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/StringUtils.java
@@ -97,6 +97,6 @@
           stringSet.addAll(Arrays.asList(strings));
         }
     }
-    return org.codehaus.plexus.util.StringUtils.join(stringSet.iterator(), ",");
+    return org.codehaus.plexus.util.StringUtils.join(stringSet.iterator(), ","); //$NON-NLS-1$
   }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesContentProvider.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesContentProvider.java
index 5fcaad3..cafeadd 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesContentProvider.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesContentProvider.java
@@ -36,16 +36,20 @@
 
   private static final Logger LOG = LoggerFactory.getLogger(WTPResourcesContentProvider.class); 
   
-  public void init(ICommonContentExtensionSite config) {
+  @Override
+public void init(ICommonContentExtensionSite config) {
   }
 
-  public void restoreState(IMemento memento) {
+  @Override
+public void restoreState(IMemento memento) {
   }
 
-  public void saveState(IMemento memento) {
+  @Override
+public void saveState(IMemento memento) {
   }
 
-  public Object[] getChildren(Object element) {
+  @Override
+public Object[] getChildren(Object element) {
     if(element instanceof WTPResourcesNode) {
       return ((WTPResourcesNode) element).getResources();
     }
@@ -54,11 +58,13 @@
 
   // IPipelinedTreeContentProvider
 
-  @SuppressWarnings("rawtypes")
+  @Override
+@SuppressWarnings("rawtypes")
   public void getPipelinedElements(Object element, Set currentElements) {
   }
   
-  @SuppressWarnings({"unchecked", "rawtypes"})
+  @Override
+@SuppressWarnings({"unchecked", "rawtypes"})
   public void getPipelinedChildren(Object parent, Set currentChildren) {
     if (parent instanceof IProject) {
       IProject project = (IProject) parent;
@@ -75,29 +81,34 @@
             currentChildren.addAll(newChildren);
           }
         } catch(CoreException ex) {
-          LOG.error("Error getting pipelined children", ex);
+          LOG.error(Messages.WTPResourcesContentProvider_Error_Getting_Pipelined_Children, ex);
         }
       }
     }
   }
 
-  public Object getPipelinedParent(Object element, Object suggestedParent) {
+  @Override
+public Object getPipelinedParent(Object element, Object suggestedParent) {
     return suggestedParent;
   }
 
-  public boolean interceptRefresh(PipelinedViewerUpdate refreshSynchronization) {
+  @Override
+public boolean interceptRefresh(PipelinedViewerUpdate refreshSynchronization) {
     return false;
   }
   
-  public boolean interceptUpdate(PipelinedViewerUpdate updateSynchronization) {
+  @Override
+public boolean interceptUpdate(PipelinedViewerUpdate updateSynchronization) {
     return false;
   }
   
-  public PipelinedShapeModification interceptAdd(PipelinedShapeModification addModification) {
+  @Override
+public PipelinedShapeModification interceptAdd(PipelinedShapeModification addModification) {
     return addModification;
   }
 
-  public PipelinedShapeModification interceptRemove(PipelinedShapeModification removeModification) {
+  @Override
+public PipelinedShapeModification interceptRemove(PipelinedShapeModification removeModification) {
     return removeModification;
   }
   
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesImages.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesImages.java
index bf350a5..631e6ec 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesImages.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesImages.java
@@ -11,6 +11,7 @@
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.jface.resource.ImageRegistry;
 import org.eclipse.m2e.wtp.MavenWtpPlugin;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -25,9 +26,9 @@
   private static final Logger LOG = LoggerFactory.getLogger(WTPResourcesImages.class);
 
   // descriptors
-  public static final ImageDescriptor WEB_RESOURCES = create("web-resources.gif");
+  public static final ImageDescriptor WEB_RESOURCES = create("web-resources.gif"); //$NON-NLS-1$
   
-  public static final ImageDescriptor APP_RESOURCES = create("ear-resources.gif");
+  public static final ImageDescriptor APP_RESOURCES = create("ear-resources.gif"); //$NON-NLS-1$
 
   private static ImageDescriptor create(String key) {
     try {
@@ -41,7 +42,7 @@
         return imageDescriptor;
       }
     } catch(Exception ex) {
-      LOG.error("Error creating ImageDescriptor {}",key, ex);
+      LOG.error(NLS.bind(Messages.WTPResourcesImages_Error_Creating_ImageDescriptor,key), ex);
     }
     return null;
   }
@@ -52,7 +53,7 @@
   }
 
   private static ImageDescriptor createDescriptor(String image) {
-    return AbstractUIPlugin.imageDescriptorFromPlugin(MavenWtpPlugin.ID, "icons/" + image);
+    return AbstractUIPlugin.imageDescriptorFromPlugin(MavenWtpPlugin.ID, "icons/" + image); //$NON-NLS-1$
   }
 
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesLabelProvider.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesLabelProvider.java
index 7f0ff8a..41d7ef2 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesLabelProvider.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesLabelProvider.java
@@ -20,16 +20,20 @@
  */
 public class WTPResourcesLabelProvider extends WorkbenchLabelProvider implements ICommonLabelProvider {
 
-  public void init(ICommonContentExtensionSite config) {
+  @Override
+public void init(ICommonContentExtensionSite config) {
   }
 
-  public void restoreState(IMemento memento) {
+  @Override
+public void restoreState(IMemento memento) {
   }
 
-  public void saveState(IMemento memento) {
+  @Override
+public void saveState(IMemento memento) {
   }
 
-  public String getDescription(Object element) {
+  @Override
+public String getDescription(Object element) {
     if(element instanceof WTPResourcesNode) {
       return ((WTPResourcesNode)element).getLabel();
     }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesNode.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesNode.java
index 629977c..43d366a 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesNode.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesNode.java
@@ -45,7 +45,7 @@
       try {
         return folders[0].members();
       } catch(CoreException ex) {
-        LOG.error("Error getting WTP resources",ex);
+        LOG.error(Messages.WTPResourcesNode_Error_Getting_WTP_Resources,ex);
       }
     }
 
@@ -54,7 +54,8 @@
 
   // IWorkbenchAdapter
   
-  public String getLabel(Object o) {
+  @Override
+public String getLabel(Object o) {
 //    IContainer[] folders = getRootFolders();
 //    StringBuilder label = new StringBuilder(getLabel());
 //    if(folders.length == 1) {
@@ -65,23 +66,26 @@
     return getLabel();
   }
 
-  public ImageDescriptor getImageDescriptor(Object object) {
+  @Override
+public ImageDescriptor getImageDescriptor(Object object) {
     try {
       IFacetedProject facetedProject = ProjectFacetsManager.create(project);
       if (facetedProject != null && facetedProject.hasProjectFacet(IJ2EEFacetConstants.ENTERPRISE_APPLICATION_FACET)) {
         return WTPResourcesImages.APP_RESOURCES;
       }
     } catch(CoreException ex) {
-      LOG.error("Cannot retrieve the project facet",ex);
+      LOG.error(Messages.WTPResourcesNode_Cant_Retrieve_Project_Facet,ex);
     }    
     return WTPResourcesImages.WEB_RESOURCES;
   }
 
-  public Object getParent(Object o) {
+  @Override
+public Object getParent(Object o) {
     return project;
   }
 
-  public Object[] getChildren(Object o) {
+  @Override
+public Object[] getChildren(Object o) {
     return getResources();
   }
 
@@ -99,28 +103,19 @@
     return folders;
   }
   
-  public String getLabel() {
-//    try {
-//      IFacetedProject facetedProject = ProjectFacetsManager.create(project);
-//      if (facetedProject.hasProjectFacet(IJ2EEFacetConstants.DYNAMIC_WEB_FACET)) {
-//        return "Web Resources";
-//      }
-//      if (facetedProject.hasProjectFacet(IJ2EEFacetConstants.ENTERPRISE_APPLICATION_FACET)) {
-//        return "Application Resources";
-//      }
-//    } catch(CoreException ex) {
-//      LOG.error("Cannot retrieve the project facet",ex);
-//    }    
-    return "Deployed Resources";
+  public String getLabel() {  
+    return Messages.WTPResourcesNode_Deployed_Resources_Label;
   }
 
-  public boolean equals(Object o) {
+  @Override
+public boolean equals(Object o) {
     if( !(o instanceof WTPResourcesNode))
       return false;
     IProject p = ((WTPResourcesNode)o).project;
     return this.project == null ? p == null : this.project.equals(p);
   }
-  public int hashCode() {
+  @Override
+public int hashCode() {
     return HASHCODE_ADDITION + (project == null ? 0 : project.hashCode());
   }
   
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesSorter.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesSorter.java
index fcc0c87..38868d8 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesSorter.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/WTPResourcesSorter.java
@@ -35,7 +35,8 @@
     return 1;
   }
   
-  public int compare(Viewer viewer, Object e1, Object e2) {
+  @Override
+public int compare(Viewer viewer, Object e1, Object e2) {
 //    if(e1 instanceof WebResourcesNode) {
 //      if(e2 instanceof IResource) {
 //        return 1;
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/AbstractProjectFacetConversionEnabler.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/AbstractProjectFacetConversionEnabler.java
index 3869646..e3aa707 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/AbstractProjectFacetConversionEnabler.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/AbstractProjectFacetConversionEnabler.java
@@ -12,6 +12,8 @@
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.m2e.core.project.conversion.AbstractProjectConversionEnabler;
+import org.eclipse.m2e.wtp.internal.Messages;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.common.project.facet.core.IFacetedProject;
 import org.eclipse.wst.common.project.facet.core.IProjectFacet;
 import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
@@ -38,6 +40,7 @@
   /**
    * Checks the project has the required {@link IProjectFacet}
    */
+  @Override
   public boolean accept(IProject project) {
     if (project != null) {
       IFacetedProject facetedProject;
@@ -45,7 +48,7 @@
         facetedProject = ProjectFacetsManager.create(project);
         return facetedProject != null && facetedProject.hasProjectFacet(requiredFacet);
       } catch(CoreException ex) {
-        LOG.error("Can not accept "+ project.getName(), ex);
+        LOG.error(NLS.bind(Messages.AbstractProjectFacetConversionEnabler_Error_Accessing_Project,project.getName()), ex);
       }
     }
     return false;
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/AbstractWtpProjectConversionParticipant.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/AbstractWtpProjectConversionParticipant.java
index 2cf560b..78e7861 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/AbstractWtpProjectConversionParticipant.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/AbstractWtpProjectConversionParticipant.java
@@ -30,7 +30,8 @@
   
   protected static final String CONFIGURATION_KEY = "configuration"; //$NON-NLS-1$
 
-  public boolean accept(IProject project) throws CoreException {
+  @Override
+public boolean accept(IProject project) throws CoreException {
     IFacetedProject fp = ProjectFacetsManager.create(project);
     if (fp != null && fp.hasProjectFacet(getRequiredFaced()))  {
       return true;
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/AppClientProjectConversionEnabler.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/AppClientProjectConversionEnabler.java
index 5d6bae4..2e251cb 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/AppClientProjectConversionEnabler.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/AppClientProjectConversionEnabler.java
@@ -30,7 +30,8 @@
   /**
    * Returns the <code>app-client</code> packaging
    */
-  public String[] getPackagingTypes(IProject project) {
+  @Override
+public String[] getPackagingTypes(IProject project) {
     return new String[]{JEEPackaging.APP_CLIENT.getName()};
   }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/AppClientProjectConverter.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/AppClientProjectConverter.java
index 183cd06..3bab98b 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/AppClientProjectConverter.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/AppClientProjectConverter.java
@@ -42,10 +42,11 @@
  */
 public class AppClientProjectConverter extends AbstractWtpProjectConversionParticipant {
 
-  private static final String MAIN_CLASS = "Main-Class";
+  private static final String MAIN_CLASS = "Main-Class"; //$NON-NLS-1$
   
-  public void convert(IProject project, Model model, IProgressMonitor monitor) throws CoreException {
-    if (!accept(project) || !"app-client".equals(model.getPackaging())) {
+  @Override
+public void convert(IProject project, Model model, IProgressMonitor monitor) throws CoreException {
+    if (!accept(project) || !"app-client".equals(model.getPackaging())) { //$NON-NLS-1$
       return;
     }
     IVirtualComponent component = ComponentCore.createComponent(project);
@@ -58,8 +59,8 @@
 
   private void setAcrPlugin(IVirtualComponent component, Model model) {
     Build build = getCloneOrCreateBuild(model);
-    String pluginVersion = MavenPluginUtils.getMostRecentPluginVersion("org.apache.maven.plugins", "maven-acr-plugin", "1.0");
-    Plugin acrPlugin = setPlugin(build, "org.apache.maven.plugins", "maven-acr-plugin", pluginVersion);
+    String pluginVersion = MavenPluginUtils.getMostRecentPluginVersion("org.apache.maven.plugins", "maven-acr-plugin", "1.0"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+    Plugin acrPlugin = setPlugin(build, "org.apache.maven.plugins", "maven-acr-plugin", pluginVersion); //$NON-NLS-1$ //$NON-NLS-2$
     acrPlugin.setExtensions(true);
     
     String mainClass = getMainClass(component.getProject());
@@ -73,7 +74,7 @@
   private void configureManifest(Plugin acrPlugin, String mainClass) {
     Xpp3Dom archiver = getArchiver(acrPlugin);
     
-    Xpp3Dom manifestEntriesDom = getOrCreateChildNode(archiver, "manifestEntries");
+    Xpp3Dom manifestEntriesDom = getOrCreateChildNode(archiver, "manifestEntries"); //$NON-NLS-1$
     
     for (Xpp3Dom entry : manifestEntriesDom.getChildren()) {
       if (MAIN_CLASS.equals(entry.getName()) && StringUtils.isNotEmpty(entry.getValue())) {
@@ -90,7 +91,7 @@
   private Xpp3Dom getArchiver(Plugin plugin) {
     Xpp3Dom config = getOrCreateConfiguration(plugin);
     plugin.setConfiguration(config);
-    return getOrCreateChildNode(config, "archive");
+    return getOrCreateChildNode(config, "archive"); //$NON-NLS-1$
   }
   
   private String getMainClass(IProject project) {
@@ -106,7 +107,7 @@
       classpath = javaProject.getRawClasspath();
       for (IClasspathEntry cpe : classpath) {
         if (IClasspathEntry.CPE_SOURCE == cpe.getEntryKind()) {
-          IFile sourceManifest = root.getFile(cpe.getPath().append("META-INF/MANIFEST.MF"));  
+          IFile sourceManifest = root.getFile(cpe.getPath().append("META-INF/MANIFEST.MF"));   //$NON-NLS-1$
           if (sourceManifest.exists()) {
             manifest = sourceManifest;
             break;
@@ -136,7 +137,8 @@
     return null;
   }
 
-  protected IProjectFacet getRequiredFaced() {
+  @Override
+protected IProjectFacet getRequiredFaced() {
     return WTPProjectsUtil.APP_CLIENT_FACET;
   }
 
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/ConnectorProjectConversionEnabler.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/ConnectorProjectConversionEnabler.java
index b358a34..9b3b345 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/ConnectorProjectConversionEnabler.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/ConnectorProjectConversionEnabler.java
@@ -30,7 +30,8 @@
   /**
    * Returns the <code>rar</code> packaging
    */
-  public String[] getPackagingTypes(IProject project) {
+  @Override
+public String[] getPackagingTypes(IProject project) {
     return new String[]{JEEPackaging.RAR.getName()};
   }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/ConnectorProjectConverter.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/ConnectorProjectConverter.java
index 25b1238..8fadb9e 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/ConnectorProjectConverter.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/ConnectorProjectConverter.java
@@ -33,10 +33,11 @@
  */
 public class ConnectorProjectConverter extends AbstractWtpProjectConversionParticipant {
 
-  private static final String DEFAULT_RA_XML = "src/main/rar/META-INF/ra.xml";
+  private static final String DEFAULT_RA_XML = "src/main/rar/META-INF/ra.xml"; //$NON-NLS-1$
 
-  public void convert(IProject project, Model model, IProgressMonitor monitor) throws CoreException {
-    if (!accept(project) || !"rar".equals(model.getPackaging())) {
+  @Override
+public void convert(IProject project, Model model, IProgressMonitor monitor) throws CoreException {
+    if (!accept(project) || !"rar".equals(model.getPackaging())) { //$NON-NLS-1$
       return;
     }
     IVirtualComponent component = ComponentCore.createComponent(project);
@@ -54,14 +55,14 @@
     Build build = getCloneOrCreateBuild(model);
     //maven-jar-plugin 2.4 is not supported by the mavenarchiver plugin
     //see https://github.com/sonatype/m2eclipse-extras/issues/10
-    Plugin jarPlugin = setPlugin(build, "org.apache.maven.plugins", "maven-jar-plugin", "2.3.2");
+    Plugin jarPlugin = setPlugin(build, "org.apache.maven.plugins", "maven-jar-plugin", "2.3.2"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 
     PluginExecution jarExecution = new PluginExecution();
-    jarExecution.setId("build_jar");
+    jarExecution.setId("build_jar"); //$NON-NLS-1$
     //Tell maven to package the project classes as a jar
-    jarExecution.addGoal("jar");
+    jarExecution.addGoal("jar"); //$NON-NLS-1$
     //The .jar must be created before the rar is packaged.
-    jarExecution.setPhase("process-classes");
+    jarExecution.setPhase("process-classes"); //$NON-NLS-1$
     jarPlugin.addExecution(jarExecution);
 
     model.setBuild(build);
@@ -69,21 +70,22 @@
 
   private void setRarPlugin(IVirtualComponent component, Model model) throws CoreException {
     Build build = getCloneOrCreateBuild(model);
-    String pluginVersion = MavenPluginUtils.getMostRecentPluginVersion("org.apache.maven.plugins", "maven-rar-plugin", "2.2");
-    Plugin rarPlugin = setPlugin(build, "org.apache.maven.plugins", "maven-rar-plugin", pluginVersion);
+    String pluginVersion = MavenPluginUtils.getMostRecentPluginVersion("org.apache.maven.plugins", "maven-rar-plugin", "2.2"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+    Plugin rarPlugin = setPlugin(build, "org.apache.maven.plugins", "maven-rar-plugin", pluginVersion); //$NON-NLS-1$ //$NON-NLS-2$
     IFile raXml = findRaXml(component);
     if (raXml != null) {
       String raXmlPath = raXml.getProjectRelativePath().toPortableString();
       if (!DEFAULT_RA_XML.equals(raXmlPath)) {
         //Failing to set up non default ra.xml would make maven-rar-plugin crash
-        configure(rarPlugin, "raXmlFile", raXmlPath);
+        configure(rarPlugin, "raXmlFile", raXmlPath); //$NON-NLS-1$
         model.setBuild(build);
       }
     }
     
   }
 
-  protected IProjectFacet getRequiredFaced() {
+  @Override
+protected IProjectFacet getRequiredFaced() {
     return WTPProjectsUtil.JCA_FACET;
   }
 
@@ -91,8 +93,8 @@
     for (IVirtualResource vr : component.getRootFolder().members()) {
       if (vr instanceof IVirtualFolder) {
         IFolder f = (IFolder)((IVirtualFolder) vr).getUnderlyingFolder();
-        if ("META-INF".equals(f.getName())) {
-          IFile ra = f.getFile("ra.xml");
+        if ("META-INF".equals(f.getName())) { //$NON-NLS-1$
+          IFile ra = f.getFile("ra.xml"); //$NON-NLS-1$
           if (ra.isAccessible()) {
             return ra;
           }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/EarProjectConversionEnabler.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/EarProjectConversionEnabler.java
index 7a9fd77..f18b34f 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/EarProjectConversionEnabler.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/EarProjectConversionEnabler.java
@@ -30,7 +30,8 @@
   /**
    * Returns the <code>ear</code> packaging
    */
-  public String[] getPackagingTypes(IProject project) {
+  @Override
+public String[] getPackagingTypes(IProject project) {
     return new String[]{JEEPackaging.EAR.getName()};
   }
 
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/EarProjectConverter.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/EarProjectConverter.java
index 6812088..ab3e073 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/EarProjectConverter.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/EarProjectConverter.java
@@ -20,6 +20,8 @@
 import org.eclipse.jst.j2ee.project.EarUtilities;
 import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants;
 import org.eclipse.m2e.wtp.WTPProjectsUtil;
+import org.eclipse.m2e.wtp.internal.Messages;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
 import org.eclipse.wst.common.project.facet.core.IFacetedProject;
@@ -36,18 +38,19 @@
  */
 public class EarProjectConverter extends AbstractWtpProjectConversionParticipant {
 
-  private static final String DEFAULT_APPLICATION_FOLDER = "src/main/application";
+  private static final String DEFAULT_APPLICATION_FOLDER = "src/main/application"; //$NON-NLS-1$
   
-  private static final String EAR_SOURCE_DIRECTORY_KEY = "earSourceDirectory";
+  private static final String EAR_SOURCE_DIRECTORY_KEY = "earSourceDirectory"; //$NON-NLS-1$
 
-  private static final String EAR_VERSION = "version";
+  private static final String EAR_VERSION = "version"; //$NON-NLS-1$
 
-  private static final String GENERATE_APPLICATION_XML = "generateApplicationXml";
+  private static final String GENERATE_APPLICATION_XML = "generateApplicationXml"; //$NON-NLS-1$
   
   private static final Logger LOG = LoggerFactory.getLogger(EarProjectConverter.class);
 
-  public void convert(IProject project, Model model, IProgressMonitor monitor) throws CoreException {
-    if (!accept(project) || !"ear".equals(model.getPackaging())) {
+  @Override
+public void convert(IProject project, Model model, IProgressMonitor monitor) throws CoreException {
+    if (!accept(project) || !"ear".equals(model.getPackaging())) { //$NON-NLS-1$
       return;
     }
     IVirtualComponent component = ComponentCore.createComponent(project);
@@ -60,8 +63,8 @@
 
   private void setEarPlugin(IVirtualComponent component, Model model) throws CoreException {
     Build build = getCloneOrCreateBuild(model);
-    String pluginVersion = MavenPluginUtils.getMostRecentPluginVersion("org.apache.maven.plugins", "maven-ear-plugin", "2.8");
-    Plugin earPlugin = setPlugin(build, "org.apache.maven.plugins", "maven-ear-plugin", pluginVersion);
+    String pluginVersion = MavenPluginUtils.getMostRecentPluginVersion("org.apache.maven.plugins", "maven-ear-plugin", "2.8"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+    Plugin earPlugin = setPlugin(build, "org.apache.maven.plugins", "maven-ear-plugin", pluginVersion); //$NON-NLS-1$ //$NON-NLS-2$
   
     // Set  <earSourceDirectory>EarContent</earSourceDirectory>
     IFolder applicationContentFolder = findEarContentFolder(component);
@@ -73,11 +76,11 @@
         configure(earPlugin, EAR_SOURCE_DIRECTORY_KEY, applicationContent);
         customized = true;
       }
-      hasApplicationXml = applicationContentFolder.getFile("META-INF/application.xml").exists();
+      hasApplicationXml = applicationContentFolder.getFile("META-INF/application.xml").exists(); //$NON-NLS-1$
     }
     else{
       IProject project = component.getProject();
-      String msg =  "The EAR project " + (project!= null?project.getName():component.getName()) + " does not have a content folder or uses root as content folder";
+      String msg =  NLS.bind(Messages.EarProjectConverter_Error_EAR_Root_Content_Folder, (project!= null?project.getName():component.getName())); 
       LOG.warn(msg);
     }
     
@@ -91,7 +94,7 @@
           // maven-ear-plugin needs version 5 instead of 5.0
           version = earVersion.getVersionString().substring(0, 1);//Yuck!
           if (!hasApplicationXml){
-            configure(earPlugin, GENERATE_APPLICATION_XML, "false");
+            configure(earPlugin, GENERATE_APPLICATION_XML, "false"); //$NON-NLS-1$
           }
         } else {
           version = earVersion.getVersionString();
@@ -105,7 +108,7 @@
         libDir = inspectDefaultLibDirs(applicationContentFolder);
       }
       if (libDir != null) {
-        configure(earPlugin, "defaultLibBundleDir", libDir);
+        configure(earPlugin, "defaultLibBundleDir", libDir); //$NON-NLS-1$
         customized = true;
       }
       
@@ -122,7 +125,7 @@
    */
   private String inspectDefaultLibDirs(IFolder applicationContentFolder) {
     
-    for (String candidate : new String[] {"lib", "APP-INF/lib"}) {
+    for (String candidate : new String[] {"lib", "APP-INF/lib"}) { //$NON-NLS-1$ //$NON-NLS-2$
       if  (applicationContentFolder.getFolder(candidate).exists()) {
         return candidate;
       }
@@ -134,7 +137,8 @@
     return WTPProjectsUtil.getDefaultDeploymentDescriptorFolder(component.getRootFolder());
   }
 
-  protected IProjectFacet getRequiredFaced() {
+  @Override
+protected IProjectFacet getRequiredFaced() {
     return WTPProjectsUtil.EAR_FACET;
   }
 
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/EjbProjectConversionEnabler.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/EjbProjectConversionEnabler.java
index 9ec1415..c510ed3 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/EjbProjectConversionEnabler.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/EjbProjectConversionEnabler.java
@@ -30,7 +30,8 @@
   /**
    * Returns the <code>ejb</code> packaging
    */
-  public String[] getPackagingTypes(IProject project) {
+  @Override
+public String[] getPackagingTypes(IProject project) {
     return new String[]{JEEPackaging.EJB.getName()};
   }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/EjbProjectConverter.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/EjbProjectConverter.java
index eb5fa4e..3e5b6b8 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/EjbProjectConverter.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/EjbProjectConverter.java
@@ -32,10 +32,11 @@
  */
 public class EjbProjectConverter extends AbstractWtpProjectConversionParticipant {
 
-  private static final String EJB_VERSION= "ejbVersion";
+  private static final String EJB_VERSION= "ejbVersion"; //$NON-NLS-1$
 
-  public void convert(IProject project, Model model, IProgressMonitor monitor) throws CoreException {
-    if (!accept(project) || !"ejb".equals(model.getPackaging())) {
+  @Override
+public void convert(IProject project, Model model, IProgressMonitor monitor) throws CoreException {
+    if (!accept(project) || !"ejb".equals(model.getPackaging())) { //$NON-NLS-1$
       return;
     }
     IVirtualComponent component = ComponentCore.createComponent(project);
@@ -48,8 +49,8 @@
 
   private void setEjbPlugin(IVirtualComponent component, Model model) throws CoreException {
     Build build = getCloneOrCreateBuild(model);
-    String pluginVersion = MavenPluginUtils.getMostRecentPluginVersion("org.apache.maven.plugins", "maven-ejb-plugin", "2.3");
-    Plugin ejbPlugin = setPlugin(build, "org.apache.maven.plugins", "maven-ejb-plugin", pluginVersion);
+    String pluginVersion = MavenPluginUtils.getMostRecentPluginVersion("org.apache.maven.plugins", "maven-ejb-plugin", "2.3"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+    Plugin ejbPlugin = setPlugin(build, "org.apache.maven.plugins", "maven-ejb-plugin", pluginVersion); //$NON-NLS-1$ //$NON-NLS-2$
   
     IFacetedProject fProject = ProjectFacetsManager.create(component.getProject());
     boolean customized = false;
@@ -66,7 +67,8 @@
     }
   }
 
-  protected IProjectFacet getRequiredFaced() {
+  @Override
+protected IProjectFacet getRequiredFaced() {
     return WTPProjectsUtil.EJB_FACET;
   }
 
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/MavenPluginUtils.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/MavenPluginUtils.java
index b97c516..0431848 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/MavenPluginUtils.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/MavenPluginUtils.java
@@ -27,6 +27,8 @@
 import org.eclipse.m2e.core.internal.index.SearchExpression;
 import org.eclipse.m2e.core.internal.index.SourcedSearchExpression;
 import org.eclipse.m2e.jdt.internal.JavaProjectConversionParticipant;
+import org.eclipse.m2e.wtp.internal.Messages;
+import org.eclipse.osgi.util.NLS;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -39,7 +41,7 @@
 
   private static Logger log = LoggerFactory.getLogger(MavenPlugin.class);
   
-  private static final String CONFIGURATION_KEY = "configuration";
+  private static final String CONFIGURATION_KEY = "configuration"; //$NON-NLS-1$
 
   private MavenPluginUtils() {
   }
@@ -75,8 +77,8 @@
    */
   @SuppressWarnings("restriction")
   public static String getMostRecentPluginVersion(String groupId, String artifactId, String referenceVersion) {
-      Assert.isNotNull(groupId, "groupId can not be null");
-      Assert.isNotNull(artifactId, "artifactId can not be null");
+      Assert.isNotNull(groupId, Messages.MavenPluginUtils_GroupId_Cant_Be_Null);
+      Assert.isNotNull(artifactId, Messages.MavenPluginUtils_ArtifactId_Cant_Be_Null);
       String version = referenceVersion;
       String partialKey = artifactId + " : " + groupId; //$NON-NLS-1$
       try {
@@ -100,7 +102,7 @@
               continue;
             }
             for(IndexedArtifactFile f : e.getValue().getFiles()) {
-              if(groupId.equals(f.group) && artifactId.equals(f.artifact) && !f.version.contains("SNAPSHOT")) {
+              if(groupId.equals(f.group) && artifactId.equals(f.artifact) && !f.version.contains("-SNAPSHOT")) { //$NON-NLS-1$
                 ComparableVersion v = new ComparableVersion(f.version);
                 if(referenceComparableVersion == null || v.compareTo(referenceComparableVersion) > 0) {
                   versions.add(v);
@@ -118,7 +120,7 @@
           }
         }
       } catch(CoreException e) {
-        log.error("Can not retrieve latest version of " + partialKey, e);
+        log.error(NLS.bind(Messages.MavenPluginUtils_Error_Cant_Retrieve_Latest_Plugin_Version, partialKey), e);
       }
       return version;
     }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/WebProjectConversionEnabler.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/WebProjectConversionEnabler.java
index 711e134..333ec25 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/WebProjectConversionEnabler.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/WebProjectConversionEnabler.java
@@ -30,7 +30,8 @@
   /**
    * Returns the <code>war</code> packaging
    */
-  public String[] getPackagingTypes(IProject project) {
+  @Override
+public String[] getPackagingTypes(IProject project) {
     return new String[]{JEEPackaging.WAR.getName()};
   }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/WebProjectConverter.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/WebProjectConverter.java
index d6908ca..684d1eb 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/WebProjectConverter.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/conversion/WebProjectConverter.java
@@ -34,14 +34,15 @@
  */
 public class WebProjectConverter extends AbstractWtpProjectConversionParticipant {
 
-  private static final String DEFAULT_WAR_SOURCE_FOLDER = "src/main/webapp";
+  private static final String DEFAULT_WAR_SOURCE_FOLDER = "src/main/webapp"; //$NON-NLS-1$
   
-  private static final String WAR_SOURCE_DIRECTORY_KEY = "warSourceDirectory";
+  private static final String WAR_SOURCE_DIRECTORY_KEY = "warSourceDirectory"; //$NON-NLS-1$
 
-  private static final String FAIL_IF_MISSING_WEBXML_KEY = "failOnMissingWebXml";
+  private static final String FAIL_IF_MISSING_WEBXML_KEY = "failOnMissingWebXml"; //$NON-NLS-1$
 
-  public void convert(IProject project, Model model, IProgressMonitor monitor) throws CoreException {
-    if (!accept(project) || !"war".equals(model.getPackaging())) {
+  @Override
+public void convert(IProject project, Model model, IProgressMonitor monitor) throws CoreException {
+    if (!accept(project) || !"war".equals(model.getPackaging())) { //$NON-NLS-1$
       return;
     }
     IVirtualComponent component = ComponentCore.createComponent(project);
@@ -54,8 +55,8 @@
 
   private void setWarPlugin(IVirtualComponent component, Model model) throws CoreException {
     Build build = getCloneOrCreateBuild(model);
-    String warPluginVersion = MavenPluginUtils.getMostRecentPluginVersion("org.apache.maven.plugins", "maven-war-plugin", "2.3");
-    Plugin warPlugin = setPlugin(build, "org.apache.maven.plugins", "maven-war-plugin", warPluginVersion);
+    String warPluginVersion = MavenPluginUtils.getMostRecentPluginVersion("org.apache.maven.plugins", "maven-war-plugin", "2.3"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+    Plugin warPlugin = setPlugin(build, "org.apache.maven.plugins", "maven-war-plugin", warPluginVersion); //$NON-NLS-1$ //$NON-NLS-2$
   
     // Set  <warSourceDirectory>WebContent</warSourceDirectory>
     IFolder webContentFolder = findWebRootFolder(component);
@@ -73,7 +74,7 @@
     if (fProject != null) {
       IProjectFacetVersion webVersion = fProject.getProjectFacetVersion(IJ2EEFacetConstants.DYNAMIC_WEB_FACET);
       if (webVersion != null && webVersion.compareTo(IJ2EEFacetConstants.DYNAMIC_WEB_24) > 0) {
-        configure(warPlugin, FAIL_IF_MISSING_WEBXML_KEY, "false");
+        configure(warPlugin, FAIL_IF_MISSING_WEBXML_KEY, "false"); //$NON-NLS-1$
         customized = true;
       }
     }
@@ -87,7 +88,8 @@
     return WTPProjectsUtil.getDefaultDeploymentDescriptorFolder(component.getRootFolder());
   }
 
-  protected IProjectFacet getRequiredFaced() {
+  @Override
+protected IProjectFacet getRequiredFaced() {
     return WebFacetUtils.WEB_FACET;
   }
 
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/AppClientVersionChangeListener.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/AppClientVersionChangeListener.java
index ba1f975..2699c4c 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/AppClientVersionChangeListener.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/AppClientVersionChangeListener.java
@@ -18,6 +18,7 @@
 import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants;
 import org.eclipse.m2e.core.internal.IMavenConstants;
 import org.eclipse.m2e.wtp.WTPProjectsUtil;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.datamodel.FacetDataModelProvider;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
@@ -42,7 +43,8 @@
   /* (non-Javadoc)
    * @see org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener#handleEvent(org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent)
    */
-  public void handleEvent(IFacetedProjectEvent event) {
+  @Override
+public void handleEvent(IFacetedProjectEvent event) {
     if (event.getType().equals(IFacetedProjectEvent.Type.POST_VERSION_CHANGE)) {
       IProject project = ((IProjectFacetActionEvent) event).getProject().getProject();
       //The action applies if the Project has Maven nature and AppClient facet
@@ -71,13 +73,13 @@
               try {
                 ((IDataModelOperation) model.getProperty(FacetDataModelProvider.NOTIFICATION_OPERATION)).execute(monitor, null);
               } catch(ExecutionException e) {
-                LOG.error("Unable to notify Application Client version change", e);
+                LOG.error(Messages.AppClientVersionChangeListener_Error_Notifying_Application_Client_Version_Change, e);
               } 
             }
           }
         }
       } catch(CoreException e) {
-        LOG.error("Unable to read project nature", e);
+        LOG.error(Messages.VersionChangeListener_Unreadeable_Project_Nature, e);
       }
     }
   }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/EarVersionChangeListener.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/EarVersionChangeListener.java
index 12a1bee..537e26e 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/EarVersionChangeListener.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/EarVersionChangeListener.java
@@ -18,6 +18,7 @@
 import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants;
 import org.eclipse.m2e.core.internal.IMavenConstants;
 import org.eclipse.m2e.wtp.WTPProjectsUtil;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.datamodel.FacetDataModelProvider;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
@@ -43,7 +44,8 @@
   /* (non-Javadoc)
    * @see org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener#handleEvent(org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent)
    */
-  public void handleEvent(IFacetedProjectEvent event) {
+  @Override
+public void handleEvent(IFacetedProjectEvent event) {
     if (event.getType().equals(IFacetedProjectEvent.Type.POST_VERSION_CHANGE)) {
       IProject project = ((IProjectFacetActionEvent) event).getProject().getProject();
       //The action applies if the Project has Maven nature and ear facet
@@ -73,13 +75,13 @@
               try {
                 ((IDataModelOperation) model.getProperty(FacetDataModelProvider.NOTIFICATION_OPERATION)).execute(monitor, null);
               } catch(ExecutionException e) {
-                LOG.error("Unable to notify EAR version change", e);
+                LOG.error(Messages.EarVersionChangeListener_Error_Notifying_EAR_Version_Change, e);
               } 
             } 
           }
         }
       }catch(CoreException e) {
-        LOG.error("Unable to read project nature", e);
+          LOG.error(Messages.VersionChangeListener_Unreadeable_Project_Nature, e);
       }
     }
   }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/NoOpUninstallDelegate.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/NoOpUninstallDelegate.java
index 36d390e..a0fd61b 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/NoOpUninstallDelegate.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/NoOpUninstallDelegate.java
@@ -21,6 +21,7 @@
  */
 public class NoOpUninstallDelegate implements IDelegate {
 
+	@Override
 	public void execute(IProject project, IProjectFacetVersion fv,
 			Object config, IProgressMonitor monitor) throws CoreException {
 		// do nothing
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/NoOpVersionChangeListener.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/NoOpVersionChangeListener.java
index dbb4b2f..af3b6a6 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/NoOpVersionChangeListener.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/NoOpVersionChangeListener.java
@@ -22,7 +22,8 @@
     /* (non-Javadoc)
      * @see org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener#handleEvent(org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent)
      */
-    public void handleEvent(IFacetedProjectEvent event) {
+    @Override
+	public void handleEvent(IFacetedProjectEvent event) {
         //Does nothing
     }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/WarUninstallDelegate.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/WarUninstallDelegate.java
index 3c6c715..52977a8 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/WarUninstallDelegate.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/WarUninstallDelegate.java
@@ -31,7 +31,8 @@
  */
 public class WarUninstallDelegate implements IDelegate {
 
-  public void execute(IProject project, IProjectFacetVersion fv, Object config, IProgressMonitor monitor)
+  @Override
+public void execute(IProject project, IProjectFacetVersion fv, Object config, IProgressMonitor monitor)
       throws CoreException {
     // remove web containers
     ArrayList<IClasspathEntry> entries = new ArrayList<IClasspathEntry>();
@@ -39,8 +40,8 @@
     IClasspathEntry[] cp = JavaCore.create(project).getRawClasspath();
     for(IClasspathEntry entry : cp) {
       String segment = entry.getPath().segment(0);
-      if(!"org.eclipse.jst.j2ee.internal.web.container".equals(segment)
-          && !"org.eclipse.jst.j2ee.internal.module.container".equals(segment)) {
+      if(!"org.eclipse.jst.j2ee.internal.web.container".equals(segment) //$NON-NLS-1$
+          && !"org.eclipse.jst.j2ee.internal.module.container".equals(segment)) { //$NON-NLS-1$
         entries.add(entry);
       }
     }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/WarVersionChangeListener.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/WarVersionChangeListener.java
index 5759fd4..2f31478 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/WarVersionChangeListener.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/facets/WarVersionChangeListener.java
@@ -23,6 +23,7 @@
 import org.eclipse.jst.j2ee.web.project.facet.IWebFacetInstallDataModelProperties;
 import org.eclipse.m2e.core.internal.IMavenConstants;
 import org.eclipse.m2e.wtp.WTPProjectsUtil;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.datamodel.FacetDataModelProvider;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
@@ -48,7 +49,8 @@
   /* (non-Javadoc)
    * @see org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener#handleEvent(org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent)
    */
-  public void handleEvent(IFacetedProjectEvent event) {
+  @Override
+public void handleEvent(IFacetedProjectEvent event) {
     if (event.getType().equals(IFacetedProjectEvent.Type.POST_VERSION_CHANGE)) {
       IProject project = ((IProjectFacetActionEvent) event).getProject().getProject();
       //The action applies if the Project has Maven nature and web facet
@@ -93,12 +95,12 @@
                 }
               }
             }catch (ExecutionException e) {
-              LOG.error("Unable to notify Dynamic Web version change", e);
+              LOG.error(Messages.WarVersionChangeListener_Error_Notifying_WebApp_Version_Change, e);
             }
           }
         }
       }catch(CoreException e) {
-        LOG.error("Unable to read project nature", e);
+          LOG.error(Messages.VersionChangeListener_Unreadeable_Project_Nature, e);
       }
     }
   }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/AbstractResourceFilteringConfiguration.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/AbstractResourceFilteringConfiguration.java
index 2b3d336..59a36b9 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/AbstractResourceFilteringConfiguration.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/AbstractResourceFilteringConfiguration.java
@@ -32,7 +32,8 @@
   }
   
 
-  public List<String> getFilters() {
+  @Override
+public List<String> getFilters() {
     List<String> filters = new ArrayList<String>(mavenProjectFacade.getMavenProject().getFilters());
     if (pluginConfiguration != null) {
       filters.addAll(pluginConfiguration.getFilters());
@@ -40,14 +41,16 @@
     return filters;
   }
 
-  public String getEscapeString() {
+  @Override
+public String getEscapeString() {
     if (pluginConfiguration == null) {
       return null;
     }
     return pluginConfiguration.getEscapeString();
   }
 
-  public List<Xpp3Dom> getNonfilteredExtensions() {
+  @Override
+public List<Xpp3Dom> getNonfilteredExtensions() {
     if (pluginConfiguration == null) {
       return Collections.emptyList();
     }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/AppClientResourceFilteringConfiguration.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/AppClientResourceFilteringConfiguration.java
index a30fa95..af8bfc8 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/AppClientResourceFilteringConfiguration.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/AppClientResourceFilteringConfiguration.java
@@ -33,13 +33,15 @@
     acrPluginConfiguration = new AcrPluginConfiguration(mavenProjectFacade);
   }
 
-  public IPath getTargetFolder() {
+  @Override
+public IPath getTargetFolder() {
     String buildOutputDir = mavenProjectFacade.getMavenProject().getBuild().getOutputDirectory();
     String relativeBuildOutputDir = ProjectUtils.getRelativePath(mavenProjectFacade.getProject(), buildOutputDir);
     return new Path(relativeBuildOutputDir);
   }
 
-  public List<Xpp3Dom> getResources() {
+  @Override
+public List<Xpp3Dom> getResources() {
     if (!acrPluginConfiguration.isFilteringDeploymentDescriptorsEnabled()) {
       return null;
     }
@@ -47,19 +49,19 @@
     if (applicationClientXml == null) {
       return null;
     }
-    Xpp3Dom resource = new Xpp3Dom("resource");
-    Xpp3Dom directory = new Xpp3Dom("directory");
+    Xpp3Dom resource = new Xpp3Dom("resource"); //$NON-NLS-1$
+    Xpp3Dom directory = new Xpp3Dom("directory"); //$NON-NLS-1$
     directory.setValue(applicationClientXml.getParent().getProjectRelativePath().toPortableString());
     resource.addChild(directory);
-    Xpp3Dom filter = new Xpp3Dom("filtering");
+    Xpp3Dom filter = new Xpp3Dom("filtering"); //$NON-NLS-1$
     filter.setValue(Boolean.TRUE.toString());
-    Xpp3Dom includes = new Xpp3Dom("includes");
-    Xpp3Dom include = new Xpp3Dom("include");
+    Xpp3Dom includes = new Xpp3Dom("includes"); //$NON-NLS-1$
+    Xpp3Dom include = new Xpp3Dom("include"); //$NON-NLS-1$
     include.setValue(applicationClientXml.getName());
     includes.addChild(include);
     resource.addChild(includes);
-    Xpp3Dom targetPath = new Xpp3Dom("targetPath");
-    targetPath.setValue("META-INF/");
+    Xpp3Dom targetPath = new Xpp3Dom("targetPath"); //$NON-NLS-1$
+    targetPath.setValue("META-INF/"); //$NON-NLS-1$
     resource.addChild(targetPath);
     resource.addChild(filter);
     
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 db7a206..7cf8401 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
@@ -35,7 +35,8 @@
     pluginConfiguration = earPluginConfiguration;
   }
 
-  public IPath getTargetFolder() {
+  @Override
+public IPath getTargetFolder() {
     return getTargetFolder(mavenProjectFacade.getMavenProject(), mavenProjectFacade.getProject());
   }
 
@@ -43,16 +44,17 @@
     return ProjectUtils.getM2eclipseWtpFolder(mavenProject, project).append(MavenWtpConstants.EAR_RESOURCES_FOLDER);
   }
 
-  public List<Xpp3Dom> getResources() {
+  @Override
+public List<Xpp3Dom> getResources() {
     if (!earPluginConfiguration.isFilteringDeploymentDescriptorsEnabled()) {
       return null;
     }
     String earContentDir = earPluginConfiguration.getEarContentDirectory(mavenProjectFacade.getProject());
-    Xpp3Dom resource = new Xpp3Dom("resource");
-    Xpp3Dom directory = new Xpp3Dom("directory");
+    Xpp3Dom resource = new Xpp3Dom("resource"); //$NON-NLS-1$
+    Xpp3Dom directory = new Xpp3Dom("directory"); //$NON-NLS-1$
     directory.setValue(earContentDir);
     resource.addChild(directory);
-    Xpp3Dom filter = new Xpp3Dom("filtering");
+    Xpp3Dom filter = new Xpp3Dom("filtering"); //$NON-NLS-1$
     filter.setValue(Boolean.TRUE.toString());
     resource.addChild(filter);
     
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 471db40..cb7d47d 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
@@ -49,6 +49,8 @@
 import org.eclipse.m2e.core.project.configurator.AbstractBuildParticipant;
 import org.eclipse.m2e.wtp.DomUtils;
 import org.eclipse.m2e.wtp.WTPProjectsUtil;
+import org.eclipse.m2e.wtp.internal.Messages;
+import org.eclipse.osgi.util.NLS;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.sonatype.plexus.build.incremental.BuildContext;
@@ -65,11 +67,12 @@
   private static final Logger LOG = LoggerFactory.getLogger(ResourceFilteringBuildParticipant.class );
 
   //Need to duplicate org.eclipse.m2e.core.internal.builder.MavenBuilder.BUILD_CONTEXT_KEY since it's not accessible 
-  private static final QualifiedName BUILD_CONTEXT_KEY = new QualifiedName(IMavenConstants.PLUGIN_ID, "BuildContext");
+  private static final QualifiedName BUILD_CONTEXT_KEY = new QualifiedName(IMavenConstants.PLUGIN_ID, "BuildContext"); //$NON-NLS-1$
   
   private EclipseBuildContext forceCopyBuildContext; 
   
-  public Set<IProject> build(int kind, IProgressMonitor monitor) throws Exception {
+  @Override
+public Set<IProject> build(int kind, IProgressMonitor monitor) throws Exception {
     IMavenProjectFacade facade = getMavenProjectFacade();
     ResourceFilteringConfiguration configuration = ResourceFilteringConfigurationFactory.getConfiguration(facade);
     List<Xpp3Dom> resources = null;
@@ -89,7 +92,7 @@
       forceCopyBuildContext = null;
       List<String> filters = configuration.getFilters();
       if (changeRequiresForcedCopy(facade, filters, delta)) {
-        LOG.info("Changed resources require a complete clean of filtered resources of {}",project.getName());
+        LOG.info(NLS.bind(Messages.ResourceFilteringBuildParticipant_Changed_Resources_Require_Clean_Build,project.getName()));
         Map<String, Object> contextState = new HashMap<String, Object>();
         project.setSessionProperty(BUILD_CONTEXT_KEY, contextState);
         //String id = "" + "-" + getClass().getName();
@@ -98,7 +101,7 @@
         ThreadBuildContext.setThreadBuildContext(forceCopyBuildContext);
       }
       if (forceCopyBuildContext != null || hasResourcesChanged(facade, delta, resources)) {
-        LOG.info("Executing resource filtering for {}",project.getName());
+        LOG.info(NLS.bind(Messages.ResourceFilteringBuildParticipant_Executing_Resource_Filtering,project.getName()));
         executeCopyResources(facade, configuration, targetFolder, resources, monitor);
         //FIXME deal with absolute paths
         IFolder destFolder = project.getFolder(targetFolder);
@@ -118,13 +121,13 @@
    */
   private String getBuildParticipantId() {
     BuildContext originalContext = super.getBuildContext();
-    String id = "org.apache.maven.plugins:maven-resources:copy-resources:::-"+getClass().getName(); 
+    String id = "org.apache.maven.plugins:maven-resources:copy-resources:::-"+getClass().getName();  //$NON-NLS-1$
     if (originalContext != null && (originalContext instanceof AbstractEclipseBuildContext)) {
       //That allows us to avoid doing some introspection
       AbstractEclipseBuildContext eclipseContext = ((AbstractEclipseBuildContext)originalContext); 
       Map<String, List<Message>> map = eclipseContext.getMessages();
       if (map == null || map.isEmpty()) {
-        eclipseContext.addMessage(null, 0, 0, "dummy", 0, null);
+        eclipseContext.addMessage(null, 0, 0, "dummy", 0, null); //$NON-NLS-1$
         //adding a message initializes the map 
         map = eclipseContext.getMessages();
         id = map.keySet().iterator().next();
@@ -136,7 +139,8 @@
     return id;
   }
 
-  protected BuildContext getBuildContext() {
+  @Override
+protected BuildContext getBuildContext() {
      return (forceCopyBuildContext == null)?super.getBuildContext() : forceCopyBuildContext;
   }
 
@@ -168,7 +172,8 @@
      
    }
  
-  public void clean(IProgressMonitor monitor) throws CoreException {
+  @Override
+public void clean(IProgressMonitor monitor) throws CoreException {
     IMavenProjectFacade facade = getMavenProjectFacade();
     ResourceFilteringConfiguration configuration = ResourceFilteringConfigurationFactory.getConfiguration(facade);
     if (configuration == null) {
@@ -186,7 +191,7 @@
     IFolder targetFolder = project.getFolder(targetFolderPath);
     if (targetFolder.exists()) {
       IContainer parent = targetFolder.getParent(); 
-      LOG.info("Cleaning filtered folder for "+project.getName());
+      LOG.info(NLS.bind(Messages.ResourceFilteringBuildParticipant_Cleaning_Filtered_Folder,project.getName()));
       IProgressMonitor monitor =new NullProgressMonitor();
       targetFolder.delete(true, monitor);
       if (parent != null) {
@@ -230,7 +235,7 @@
     Set<IPath> resourcePaths = new LinkedHashSet<IPath>();
     for(Xpp3Dom resource : resources) {
       IPath folder= null;
-      Xpp3Dom xpp3Directory = resource.getChild("directory");
+      Xpp3Dom xpp3Directory = resource.getChild("directory"); //$NON-NLS-1$
       if (xpp3Directory != null)
       {
         String dir = xpp3Directory.getValue();
@@ -262,14 +267,14 @@
     MavenProject mavenProject = facade.getMavenProject();
     
     MavenSession session = maven.createSession(request, mavenProject);
-    MavenExecutionPlan executionPlan = maven.calculateExecutionPlan(session, mavenProject, Collections.singletonList("resources:copy-resources"), true, monitor);
+    MavenExecutionPlan executionPlan = maven.calculateExecutionPlan(session, mavenProject, Collections.singletonList("resources:copy-resources"), true, monitor); //$NON-NLS-1$
     
-    MojoExecution copyFilteredResourcesMojo = getExecution(executionPlan, "maven-resources-plugin");
+    MojoExecution copyFilteredResourcesMojo = getExecution(executionPlan, "maven-resources-plugin"); //$NON-NLS-1$
 
     if (copyFilteredResourcesMojo == null) return;
 
     Xpp3Dom originalConfig = copyFilteredResourcesMojo.getConfiguration();
-    Xpp3Dom  configuration = Xpp3DomUtils.mergeXpp3Dom(new Xpp3Dom("configuration"), originalConfig);
+    Xpp3Dom  configuration = Xpp3DomUtils.mergeXpp3Dom(new Xpp3Dom("configuration"), originalConfig); //$NON-NLS-1$
     boolean parentHierarchyLoaded = false;
     try {
       parentHierarchyLoaded = loadParentHierarchy(facade, monitor);
@@ -278,15 +283,15 @@
       setupResources(configuration, resources);
       
       //Force overwrite
-      setValue(configuration, "overwrite", Boolean.TRUE);
+      setValue(configuration, "overwrite", Boolean.TRUE); //$NON-NLS-1$
       
       //Limit placeholder delimiters, otherwise, pages containing @ wouldn't be filtered correctly
       setupDelimiters(configuration);
       
       //Set output directory to the m2eclipse-wtp webresources directory
-      setValue(configuration, "outputDirectory", targetFolder.toPortableString());
+      setValue(configuration, "outputDirectory", targetFolder.toPortableString()); //$NON-NLS-1$
       
-      setValue(configuration, "escapeString", filteringConfiguration.getEscapeString());
+      setValue(configuration, "escapeString", filteringConfiguration.getEscapeString()); //$NON-NLS-1$
 
       setNonfilteredExtensions(configuration, filteringConfiguration.getNonfilteredExtensions());
 
@@ -299,13 +304,13 @@
 
       //Execute our modified mojo 
       copyFilteredResourcesMojo.setConfiguration(configuration);
-      copyFilteredResourcesMojo.getMojoDescriptor().setGoal("copy-resources");
+      copyFilteredResourcesMojo.getMojoDescriptor().setGoal("copy-resources"); //$NON-NLS-1$
 
       maven.execute(session, copyFilteredResourcesMojo, monitor);
       
       if (session.getResult().hasExceptions()){
         
-          MavenPluginActivator.getDefault().getMavenMarkerManager().addMarker(facade.getProject(), IMavenConstants.MARKER_CONFIGURATION_ID,"An error occurred while filtering resources", -1,  IMarker.SEVERITY_ERROR);
+          MavenPluginActivator.getDefault().getMavenMarkerManager().addMarker(facade.getProject(), IMavenConstants.MARKER_CONFIGURATION_ID,Messages.ResourceFilteringBuildParticipant_Error_While_Filtering_Resources, -1,  IMarker.SEVERITY_ERROR);
           //move exceptions up to the original session, so they can be handled by the maven builder
           //XXX current exceptions refer to maven-resource-plugin (since that's what we used), we should probably 
           // throw a new exception instead to indicate the problem(s) come(s) from web resource filtering
@@ -332,9 +337,9 @@
     if (extensions == null || extensions.isEmpty()) {
       return;
     }
-    Xpp3Dom nonFilteredFileExtensionsNode = configuration.getChild("nonFilteredFileExtensions");
+    Xpp3Dom nonFilteredFileExtensionsNode = configuration.getChild("nonFilteredFileExtensions"); //$NON-NLS-1$
     if (nonFilteredFileExtensionsNode == null) {
-      nonFilteredFileExtensionsNode = new Xpp3Dom("nonFilteredFileExtensions");
+      nonFilteredFileExtensionsNode = new Xpp3Dom("nonFilteredFileExtensions"); //$NON-NLS-1$
       configuration.addChild(nonFilteredFileExtensionsNode);
     } else {
       DomUtils.removeChildren(nonFilteredFileExtensionsNode);
@@ -356,29 +361,29 @@
 
   private void setupFilters(Xpp3Dom configuration, List<String> filters) {
     if (!filters.isEmpty()) {
-      Xpp3Dom  filtersNode = configuration.getChild("filters");
+      Xpp3Dom  filtersNode = configuration.getChild("filters"); //$NON-NLS-1$
       
       if (filtersNode==null){
-        filtersNode = new Xpp3Dom("filters");
+        filtersNode = new Xpp3Dom("filters"); //$NON-NLS-1$
         configuration.addChild(filtersNode);
       } else {
         DomUtils.removeChildren(filtersNode);
       }
       
       for (String filter : filters) {
-        Xpp3Dom filterNode = new Xpp3Dom("filter");
+        Xpp3Dom filterNode = new Xpp3Dom("filter"); //$NON-NLS-1$
         //Workaround : when run via the BuildParticipant, the maven-resource-plugin won't 
         //find a filter defined with a relative path, so we turn it into an absolute one
         IPath filterPath = new Path(filter);
         boolean isAbsolute = false;
-        if (filter.startsWith("${basedir}") ||filter.startsWith("/") || filterPath.getDevice() != null) {
+        if (filter.startsWith("${basedir}") ||filter.startsWith("/") || filterPath.getDevice() != null) { //$NON-NLS-1$ //$NON-NLS-2$
           isAbsolute = true;
         }
         String filterAbsolutePath;
         if (isAbsolute) {
           filterAbsolutePath = filter;
         } else {
-          filterAbsolutePath = "${basedir}/"+filter;
+          filterAbsolutePath = "${basedir}/"+filter; //$NON-NLS-1$
         }
 
         filterNode.setValue(filterAbsolutePath);
@@ -388,33 +393,33 @@
   }
   
   private void setupDelimiters(Xpp3Dom configuration) {
-    Xpp3Dom  useDefaultDelimitersNode = configuration.getChild("useDefaultDelimiters");
+    Xpp3Dom  useDefaultDelimitersNode = configuration.getChild("useDefaultDelimiters"); //$NON-NLS-1$
     if (useDefaultDelimitersNode==null){
-      useDefaultDelimitersNode = new Xpp3Dom("useDefaultDelimiters");
+      useDefaultDelimitersNode = new Xpp3Dom("useDefaultDelimiters"); //$NON-NLS-1$
       configuration.addChild(useDefaultDelimitersNode);
     }
     useDefaultDelimitersNode.setValue(Boolean.FALSE.toString());
 
-    Xpp3Dom  delimitersNode = configuration.getChild("delimiters");
+    Xpp3Dom  delimitersNode = configuration.getChild("delimiters"); //$NON-NLS-1$
     if (delimitersNode==null){
-      delimitersNode = new Xpp3Dom("delimiters");
+      delimitersNode = new Xpp3Dom("delimiters"); //$NON-NLS-1$
       configuration.addChild(delimitersNode);
     } else {
       DomUtils.removeChildren(delimitersNode);
     }
-    Xpp3Dom delimiter = new Xpp3Dom("delimiter");
-    delimiter.setValue("${*}");
+    Xpp3Dom delimiter = new Xpp3Dom("delimiter"); //$NON-NLS-1$
+    delimiter.setValue("${*}"); //$NON-NLS-1$
     delimitersNode.addChild(delimiter);
   }
   
 
   private void setupResources(Xpp3Dom configuration, List<Xpp3Dom> resources) {
-    Xpp3Dom  resourcesNode = configuration.getChild("resources");
+    Xpp3Dom  resourcesNode = configuration.getChild("resources"); //$NON-NLS-1$
     if (resourcesNode==null){
-      resourcesNode = new Xpp3Dom("resources");
+      resourcesNode = new Xpp3Dom("resources"); //$NON-NLS-1$
       configuration.addChild(resourcesNode);
     } else {
-      resourcesNode.setAttribute("default-value", "");
+      resourcesNode.setAttribute("default-value", ""); //$NON-NLS-1$ //$NON-NLS-2$
       DomUtils.removeChildren(resourcesNode);
     }
     for (Xpp3Dom resource : resources)
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/WebResourceFilteringConfiguration.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/WebResourceFilteringConfiguration.java
index 247934d..9c1daef 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/WebResourceFilteringConfiguration.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/filtering/WebResourceFilteringConfiguration.java
@@ -28,7 +28,7 @@
  */
 public class WebResourceFilteringConfiguration extends AbstractResourceFilteringConfiguration {
 
-  private static final String WEB_INF = "WEB-INF/";
+  private static final String WEB_INF = "WEB-INF/"; //$NON-NLS-1$
 
   private WarPluginConfiguration warPluginConfiguration;
   
@@ -38,7 +38,8 @@
     pluginConfiguration = warPluginConfiguration;
   }
 
-  public IPath getTargetFolder() {
+  @Override
+public IPath getTargetFolder() {
     return getTargetFolder(mavenProjectFacade.getMavenProject(), mavenProjectFacade.getProject());
   }
 
@@ -46,7 +47,8 @@
     return ProjectUtils.getM2eclipseWtpFolder(mavenProject, project).append(MavenWtpConstants.WEB_RESOURCES_FOLDER);
   }
 
-  public List<Xpp3Dom> getResources() {
+  @Override
+public List<Xpp3Dom> getResources() {
     Xpp3Dom[] domResources = warPluginConfiguration.getWebResources();
     List<Xpp3Dom> resources = new ArrayList<Xpp3Dom>();
     
@@ -68,25 +70,25 @@
       return null;
     }
     String warSourceDirectory = warPluginConfiguration.getWarSourceDirectory();
-    if (warSourceDirectory.startsWith("/")) {
+    if (warSourceDirectory.startsWith("/")) { //$NON-NLS-1$
       warSourceDirectory = warSourceDirectory.substring(1);
     }
-    if (!warSourceDirectory.endsWith("/")) {
-      warSourceDirectory = warSourceDirectory + "/";
+    if (!warSourceDirectory.endsWith("/")) { //$NON-NLS-1$
+      warSourceDirectory = warSourceDirectory + "/"; //$NON-NLS-1$
     }
-    Xpp3Dom resource = new Xpp3Dom("resource");
-    Xpp3Dom directory = new Xpp3Dom("directory");
+    Xpp3Dom resource = new Xpp3Dom("resource"); //$NON-NLS-1$
+    Xpp3Dom directory = new Xpp3Dom("directory"); //$NON-NLS-1$
     directory.setValue(warSourceDirectory+WEB_INF);
     resource.addChild(directory);
-    Xpp3Dom includes = new Xpp3Dom("includes");
-    Xpp3Dom include = new Xpp3Dom("include");
+    Xpp3Dom includes = new Xpp3Dom("includes"); //$NON-NLS-1$
+    Xpp3Dom include = new Xpp3Dom("include"); //$NON-NLS-1$
     //TODO handle custom web.xml
-    include.setValue("web.xml");
+    include.setValue("web.xml"); //$NON-NLS-1$
     includes.addChild(include);
     resource.addChild(includes);
-    Xpp3Dom filter = new Xpp3Dom("filtering");
+    Xpp3Dom filter = new Xpp3Dom("filtering"); //$NON-NLS-1$
     filter.setValue(Boolean.TRUE.toString());
-    Xpp3Dom targetPath = new Xpp3Dom("targetPath");
+    Xpp3Dom targetPath = new Xpp3Dom("targetPath"); //$NON-NLS-1$
     targetPath.setValue(WEB_INF);
     resource.addChild(targetPath);
     resource.addChild(filter);
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/jdt/launch/EjbClientClassifierClasspathProvider.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/jdt/launch/EjbClientClassifierClasspathProvider.java
index f6dadf9..f5d398a 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/jdt/launch/EjbClientClassifierClasspathProvider.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/jdt/launch/EjbClientClassifierClasspathProvider.java
@@ -21,6 +21,8 @@
 import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
 import org.eclipse.m2e.core.project.IMavenProjectFacade;
 import org.eclipse.m2e.jdt.AbstractClassifierClasspathProvider;
+import org.eclipse.m2e.wtp.JEEPackaging;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -39,7 +41,7 @@
   @Override
   public boolean applies(IMavenProjectFacade mavenProjectFacade, String classifier) {
     return getClassifier().equals(classifier) 
-        && "ejb".equals(mavenProjectFacade.getPackaging()) 
+        && JEEPackaging.EJB.getName().equals(mavenProjectFacade.getPackaging())
         && generatesClient(mavenProjectFacade);
   }
 
@@ -48,14 +50,14 @@
     try {
       mavenProject = mavenProjectFacade.getMavenProject(new NullProgressMonitor());
     } catch(CoreException ex) {
-      LOG.error("Could not load mavenProject instance ", ex);
+      LOG.error(Messages.ClassifierClasspathProvider_Error_Loading_Maven_Instance, ex);
       return false;
     }
-    Plugin ejbPlugin = mavenProject.getPlugin("org.apache.maven.plugins:maven-ejb-plugin");
+    Plugin ejbPlugin = mavenProject.getPlugin("org.apache.maven.plugins:maven-ejb-plugin"); //$NON-NLS-1$
     if (ejbPlugin != null) {
       Xpp3Dom config = (Xpp3Dom)ejbPlugin.getConfiguration();
       if (config != null) {
-        Xpp3Dom generateClient = config.getChild("generateClient");
+        Xpp3Dom generateClient = config.getChild("generateClient"); //$NON-NLS-1$
         if (generateClient != null && Boolean.parseBoolean(generateClient.getValue())) {
          return true; 
         }
@@ -65,22 +67,26 @@
   }
 
   
-  public String getClassifier() {
-    return "client";
+  @Override
+public String getClassifier() {
+    return "client"; //$NON-NLS-1$
   }
   
-  public void setRuntimeClasspath(Set<IRuntimeClasspathEntry> runtimeClasspath, IMavenProjectFacade mavenProjectFacade,
+  @Override
+public void setRuntimeClasspath(Set<IRuntimeClasspathEntry> runtimeClasspath, IMavenProjectFacade mavenProjectFacade,
       IProgressMonitor monitor) throws CoreException {
     addMainFolder(runtimeClasspath, mavenProjectFacade, monitor);
   }
 
-  public void setTestClasspath(Set<IRuntimeClasspathEntry> runtimeClasspath, IMavenProjectFacade mavenProjectFacade,
+  @Override
+public void setTestClasspath(Set<IRuntimeClasspathEntry> runtimeClasspath, IMavenProjectFacade mavenProjectFacade,
       IProgressMonitor monitor) throws CoreException {
     setRuntimeClasspath(runtimeClasspath, mavenProjectFacade, monitor);
   }
   
-  public String getName() {
-    return "EJB Client Classifier Classpath Provider";
+  @Override
+public String getName() {
+    return Messages.EjbClientClassifierClasspathProvider_EJB_Client_Classpath_Provider;
   }
 
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/jdt/launch/WarClassesClassifierClasspathProvider.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/jdt/launch/WarClassesClassifierClasspathProvider.java
index bb052be..3d9f97c 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/jdt/launch/WarClassesClassifierClasspathProvider.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/jdt/launch/WarClassesClassifierClasspathProvider.java
@@ -21,6 +21,8 @@
 import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
 import org.eclipse.m2e.core.project.IMavenProjectFacade;
 import org.eclipse.m2e.jdt.AbstractClassifierClasspathProvider;
+import org.eclipse.m2e.wtp.JEEPackaging;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -39,7 +41,7 @@
   @Override
   public boolean applies(IMavenProjectFacade mavenProjectFacade, String classifier) {
     return getClassifier().equals(classifier) 
-           && "war".equals(mavenProjectFacade.getPackaging()) 
+           && JEEPackaging.WAR.getName().equals(mavenProjectFacade.getPackaging()) 
            && hasAttachedClasses(mavenProjectFacade);
   }
 
@@ -48,14 +50,14 @@
     try {
       mavenProject = mavenProjectFacade.getMavenProject(new NullProgressMonitor());
     } catch(CoreException ex) {
-      LOG.error("Could not load mavenProject instance ", ex);
+      LOG.error(Messages.ClassifierClasspathProvider_Error_Loading_Maven_Instance, ex); 
       return false;
     }
-    Plugin warPlugin = mavenProject.getPlugin("org.apache.maven.plugins:maven-war-plugin");
+    Plugin warPlugin = mavenProject.getPlugin("org.apache.maven.plugins:maven-war-plugin"); //$NON-NLS-1$
     if (warPlugin != null) {
       Xpp3Dom config = (Xpp3Dom)warPlugin.getConfiguration();
       if (config != null) {
-        Xpp3Dom attachClasses = config.getChild("attachClasses");
+        Xpp3Dom attachClasses = config.getChild("attachClasses"); //$NON-NLS-1$
         if (attachClasses != null && Boolean.parseBoolean(attachClasses.getValue())) {
          return true; 
         }
@@ -64,22 +66,26 @@
     return false;
   }
 
-  public String getClassifier() {
-    return "classes";
+  @Override
+public String getClassifier() {
+    return "classes"; //$NON-NLS-1$
   }
   
-  public void setRuntimeClasspath(Set<IRuntimeClasspathEntry> runtimeClasspath, IMavenProjectFacade mavenProjectFacade,
+  @Override
+public void setRuntimeClasspath(Set<IRuntimeClasspathEntry> runtimeClasspath, IMavenProjectFacade mavenProjectFacade,
       IProgressMonitor monitor) throws CoreException {
     addMainFolder(runtimeClasspath, mavenProjectFacade, monitor);
   }
   
-  public void setTestClasspath(Set<IRuntimeClasspathEntry> runtimeClasspath, IMavenProjectFacade mavenProjectFacade,
+  @Override
+public void setTestClasspath(Set<IRuntimeClasspathEntry> runtimeClasspath, IMavenProjectFacade mavenProjectFacade,
       IProgressMonitor monitor) throws CoreException {
     setRuntimeClasspath(runtimeClasspath, mavenProjectFacade, monitor);
   }
 
-  public String getName() {
-    return "War classes Classifier Classpath Provider";
+  @Override
+public String getName() {
+    return Messages.WarClassesClassifierClasspathProvider_WAR_Classes_Classifier_Classpath_Provider;
   }
 
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/AcrMavenArchiverConfigurator.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/AcrMavenArchiverConfigurator.java
index 3bd0ab8..ff5f641 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/AcrMavenArchiverConfigurator.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/AcrMavenArchiverConfigurator.java
@@ -18,8 +18,9 @@
  */
 public class AcrMavenArchiverConfigurator extends AbstractWTPArchiverConfigurator {
 
-  protected MojoExecutionKey getExecutionKey() {
-    MojoExecutionKey key = new MojoExecutionKey("org.apache.maven.plugins", "maven-acr-plugin", "", "acr", null, null);
+  @Override
+protected MojoExecutionKey getExecutionKey() {
+    MojoExecutionKey key = new MojoExecutionKey("org.apache.maven.plugins", "maven-acr-plugin", "", "acr", null, null); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
     return key;
   }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/EarMavenArchiverConfigurator.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/EarMavenArchiverConfigurator.java
index c8ca577..19738e9 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/EarMavenArchiverConfigurator.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/EarMavenArchiverConfigurator.java
@@ -31,7 +31,7 @@
 
   @Override
   protected MojoExecutionKey getExecutionKey() {
-    MojoExecutionKey key = new MojoExecutionKey("org.apache.maven.plugins", "maven-ear-plugin", "", "ear", null, null);
+    MojoExecutionKey key = new MojoExecutionKey("org.apache.maven.plugins", "maven-ear-plugin", "", "ear", null, null); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
     return key;
   }
 
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/EjbMavenArchiverConfigurator.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/EjbMavenArchiverConfigurator.java
index 38a2318..80d5ba5 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/EjbMavenArchiverConfigurator.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/EjbMavenArchiverConfigurator.java
@@ -20,7 +20,7 @@
 
   @Override
   protected MojoExecutionKey getExecutionKey() {
-    MojoExecutionKey key = new MojoExecutionKey("org.apache.maven.plugins", "maven-ejb-plugin", "", "ejb", null, null);
+    MojoExecutionKey key = new MojoExecutionKey("org.apache.maven.plugins", "maven-ejb-plugin", "", "ejb", null, null); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
     return key;
   }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/RarMavenArchiverConfigurator.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/RarMavenArchiverConfigurator.java
index 9d7f7e3..546bf73 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/RarMavenArchiverConfigurator.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/RarMavenArchiverConfigurator.java
@@ -20,7 +20,7 @@
 
   @Override
   protected MojoExecutionKey getExecutionKey() {
-    MojoExecutionKey key = new MojoExecutionKey("org.apache.maven.plugins", "maven-rar-plugin", "", "rar", null, null);
+    MojoExecutionKey key = new MojoExecutionKey("org.apache.maven.plugins", "maven-rar-plugin", "", "rar", null, null); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
     return key;
   }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/WarMavenArchiverConfigurator.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/WarMavenArchiverConfigurator.java
index 6959737..0ecb3c4 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/WarMavenArchiverConfigurator.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/mavenarchiver/WarMavenArchiverConfigurator.java
@@ -49,12 +49,12 @@
   
   @Override
   protected String getArchiverFieldName() {
-    return "warArchiver";
+    return "warArchiver"; //$NON-NLS-1$
   }
   
   @Override
   protected MojoExecutionKey getExecutionKey() {
-    MojoExecutionKey key = new MojoExecutionKey("org.apache.maven.plugins", "maven-war-plugin", "", "war", null, null);
+    MojoExecutionKey key = new MojoExecutionKey("org.apache.maven.plugins", "maven-war-plugin", "", "war", null, null); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
     return key;
   }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/messages.properties b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/messages.properties
new file mode 100644
index 0000000..2172b86
--- /dev/null
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/messages.properties
@@ -0,0 +1,60 @@
+AbstractProjectFacetConversionEnabler_Error_Accessing_Project=Error accessing {0}
+AppClientVersionChangeListener_Error_Notifying_Application_Client_Version_Change=Unable to notify Application Client version change
+VersionChangeListener_Unreadeable_Project_Nature=Unable to read project nature
+EarProjectConverter_Error_EAR_Root_Content_Folder=The EAR project {0} does not have a content folder or uses root as content folder
+EarVersionChangeListener_Error_Notifying_EAR_Version_Change=Unable to notify EAR version change
+EjbClientClassifierClasspathProvider_EJB_Client_Classpath_Provider=EJB Client Classifier Classpath Provider
+ClassifierClasspathProvider_Error_Loading_Maven_Instance=Could not load mavenProject instance 
+MavenPluginUtils_ArtifactId_Cant_Be_Null=artifactId can not be null
+MavenPluginUtils_Error_Cant_Retrieve_Latest_Plugin_Version=Can not retrieve latest version of {0}
+MavenPluginUtils_GroupId_Cant_Be_Null=groupId can not be null
+MavenWtpPreferencePage_EAR_Project_Preferences=EAR Project preferences
+MavenWtpPreferencePage_Enable_Project_Specific_Settings=Enable Project Specific Settings
+MavenWtpPreferencePage_Generate_ApplicationXml_Under_Build_Dir=Generate application.xml under the build directory
+MavenWtpPreferencePage_Generate_MavenArchiver_Files_Under_Build_Dir=Maven Archiver generates files under the build directory
+MavenWtpPreferencePage_JavaEE_Integration_Settings=Java EE Integration Settings
+MavenWtpPreferencePage_Maven_JavaEE_Integration_Settings=Maven Java EE Integration Settings
+MavenWtpPreferencePage_Select_Active_JavaEE_Configurators=Select active Java EE configurators
+MavenWtpPreferencePage_Update_Projects_After_Preference_Changes=Maven Java EE Integration settings have changed. Do you want to update project configuration?
+MavenWtpPreferencePage_Updating_Configuration_For_Project=Updating configuration for {0}
+MavenWtpPreferencePage_Updating_Maven_Projects_Job=Updating maven projects 
+MavenWtpPreferencePage_Updating_Maven_Projects_Monitor=Updating Maven projects
+MavenWtpPreferencePage_Using_Build_Directory=The build directory will always be used if Web resource filtering is enabled
+MavenWtpPreferencePage_WAR_Project_Preferences=WAR Project preferences
+MavenWtpPreferencesManagerImpl_0=Error_Saving_Preferences
+ResourceFilteringBuildParticipant_Changed_Resources_Require_Clean_Build=Changed resources require a complete clean of filtered resources of {0}
+ResourceFilteringBuildParticipant_Cleaning_Filtered_Folder=Cleaning filtered folder for {0}
+ResourceFilteringBuildParticipant_Error_While_Filtering_Resources=An error occurred while filtering resources
+ResourceFilteringBuildParticipant_Executing_Resource_Filtering=Executing resource filtering for {0}
+WarClassesClassifierClasspathProvider_WAR_Classes_Classifier_Classpath_Provider=War classes Classifier Classpath Provider
+WarVersionChangeListener_Error_Notifying_WebApp_Version_Change=Unable to notify Dynamic Web version change
+WTPResourcesContentProvider_Error_Getting_Pipelined_Children=Error getting pipelined children
+WTPResourcesImages_Error_Creating_ImageDescriptor=Error creating ImageDescriptor {0}
+WTPResourcesNode_Cant_Retrieve_Project_Facet=Cannot retrieve the project facet
+WTPResourcesNode_Deployed_Resources_Label=Deployed Resources
+WTPResourcesNode_Error_Getting_WTP_Resources=Error getting WTP resources
+FacetDetectorExtensionReader_Error_Configuring_Facet_Detector=Error configuring facet detector
+AbstractProjectConfiguratorDelegate_Error_Inconsistent_Java_Configuration={0} Utility Facet configuration is aborted as the Java Configuration is inconsistent
+AbstractProjectConfiguratorDelegate_Unable_To_Configure_Project=Unable to configure {0}
+AcrPluginConfiguration_Error_Project_Not_appclient=Maven project must have app-client packaging
+ArtifactHelper_Error_Artifact_Must_Not_Be_Null=artifact must not be null
+EarPluginConfiguration_Error_Reading_EAR_Version=unable to read ear version : {0}
+EarPluginConfiguration_Project_Must_Have_ear_Packaging=Maven project must have ear packaging
+EarProjectConfiguratorDelegate_Configuring_EAR_Project=Configuring EAR project {0}
+EjbPluginConfiguration_Project_Must_Have_ejb_Packaging=Maven project must have ejb packaging
+Error_Cleaning_WTP_Files=Error while cleaning up WTP's created files
+Error_Maven_Project_Cant_Be_Null=MavenProject can not be null
+Error_Reading_Project_Facet=Can not read project '{0}' facets
+markers_unsupported_dependencies_warning=Dependency to project {0} with type {1} is not fully supported. Classpath and/or deployment issues might arise. Try Maven->Disable Workspace Resolution
+markers_inclusion_patterns_problem=Using both <{0}> and <packagingIncludes> can not be translated reliably to the equivalent WTP inclusion patterns. Prefer using <packagingIncludes>.
+markers_mavenarchiver_output_settings_ignored_warning=Current Maven Archiver output settings are ignored as web resource filtering is currently used
+MavenDeploymentDescriptorManagement_Error_Deleting_Temp_Folder=Could not delete temp file: {0}
+MavenSessionHelper_Error_Component_Lookup=Could not lookup required component
+RarPluginConfiguration_Project_Must_Have_rar_Packaging=Maven project must have rar packaging
+WebProjectConfiguratorDelegate_File_Copy_Failed=File copy failed
+WebProjectConfiguratorDelegate_Renamed_Dependencies_Will_Be_Copied=Renamed dependencies will be copied under target
+WTPProjectsUtil_Actions_Cant_Be_Null=actions can not be null
+WTPProjectsUtil_Facet_Version_Cant_Be_Null=Facet version can not be null
+WTPProjectsUtil_Project_Cant_Be_Null=project can not be null
+WTPProjectsUtil_Unable_To_Add_ModuleCoreNature=Unable to add the ModuleCoreNature to {0}
+EarPluginException_Default_Message=Error in ear plugin configuration
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/ConfiguratorEnablerComposite.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/ConfiguratorEnablerComposite.java
index 04ccbb8..1be6981 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/ConfiguratorEnablerComposite.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/ConfiguratorEnablerComposite.java
@@ -50,7 +50,8 @@
     }
   }
   
-  public void dispose() {
+  @Override
+public void dispose() {
     enabler = null;
     enableConfigurator.dispose();
     super.dispose();
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/MavenWtpPreferenceInitializer.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/MavenWtpPreferenceInitializer.java
index 08d6e58..b7615a8 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/MavenWtpPreferenceInitializer.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/MavenWtpPreferenceInitializer.java
@@ -24,7 +24,8 @@
   /**
    * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
    */
-  public void initializeDefaultPreferences() {
+  @Override
+public void initializeDefaultPreferences() {
     IPreferenceStore store = MavenWtpPlugin.getDefault().getPreferenceStore();
     store.setDefault(MavenWtpPreferencesConstants.P_APPLICATION_XML_IN_BUILD_DIR, true);
     store.setDefault(MavenWtpPreferencesConstants.P_WEB_MAVENARCHIVER_IN_BUILD_DIR, true);
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/MavenWtpPreferencePage.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/MavenWtpPreferencePage.java
index 2fe01e4..4626aaf 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/MavenWtpPreferencePage.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/MavenWtpPreferencePage.java
@@ -30,10 +30,12 @@
 import org.eclipse.m2e.core.project.IProjectConfigurationManager;
 import org.eclipse.m2e.wtp.JEEPackaging;
 import org.eclipse.m2e.wtp.MavenWtpPlugin;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.eclipse.m2e.wtp.preferences.ConfiguratorEnabler;
 import org.eclipse.m2e.wtp.preferences.IMavenWtpPreferences;
 import org.eclipse.m2e.wtp.preferences.IMavenWtpPreferencesManager;
 import org.eclipse.m2e.wtp.preferences.MavenWtpPreferencesConstants;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
@@ -78,10 +80,11 @@
   private List<ConfiguratorEnablerComposite> enablersComposites;
   
   public MavenWtpPreferencePage() {
-    setTitle("Java EE Integration Settings");
+    setTitle(Messages.MavenWtpPreferencePage_JavaEE_Integration_Settings);
   }
 
-  protected Control createContents(Composite parent) {
+  @Override
+protected Control createContents(Composite parent) {
     Composite main = new Composite(parent, SWT.NONE);
     GridLayout gl = new GridLayout(1, false);
     main.setLayout(gl);
@@ -108,7 +111,7 @@
       return;
     }
     configuratorEnablerGroup = new Group(main, SWT.NONE);
-    configuratorEnablerGroup.setText("Select active Java EE configurators");
+    configuratorEnablerGroup.setText(Messages.MavenWtpPreferencePage_Select_Active_JavaEE_Configurators);
     GridDataFactory.fillDefaults().applyTo(configuratorEnablerGroup);
     GridLayoutFactory.fillDefaults().margins(5, 0).applyTo(configuratorEnablerGroup);
     enablersComposites = new ArrayList<ConfiguratorEnablerComposite>(configuratorEnablers.length);
@@ -126,12 +129,12 @@
    */
   private void createEarPrefs(Composite main) {
     earPrefGroup = new Group(main, SWT.NONE);
-    earPrefGroup.setText("EAR Project preferences");
+    earPrefGroup.setText(Messages.MavenWtpPreferencePage_EAR_Project_Preferences);
     earPrefGroup.setLayout(new GridLayout(1, false));
     earPrefGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 
     genApplicationXmlButton = new Button(earPrefGroup, SWT.CHECK);
-    genApplicationXmlButton.setText("Generate application.xml under the build directory");
+    genApplicationXmlButton.setText(Messages.MavenWtpPreferencePage_Generate_ApplicationXml_Under_Build_Dir);
   }
 
   private void createOverridePrefs(Composite main, IProject project) {
@@ -141,14 +144,16 @@
       overrideComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 
       overrideButton = new Button(overrideComp, SWT.CHECK);
-      overrideButton.setText("Enable Project Specific Settings");
+      overrideButton.setText(Messages.MavenWtpPreferencePage_Enable_Project_Specific_Settings);
 
       overrideButton.addSelectionListener(new SelectionListener() {
-        public void widgetDefaultSelected(SelectionEvent e) {
+        @Override
+		public void widgetDefaultSelected(SelectionEvent e) {
           widgetSelected(e);
         }
 
-        public void widgetSelected(SelectionEvent e) {
+        @Override
+		public void widgetSelected(SelectionEvent e) {
           setWidgetsEnabled(overrideButton.getSelection());
         }
       });
@@ -172,13 +177,13 @@
 
   private void createWarPrefs(Composite main) {
     warPrefGroup = new Group(main, SWT.NONE);
-    warPrefGroup.setText("WAR Project preferences");
+    warPrefGroup.setText(Messages.MavenWtpPreferencePage_WAR_Project_Preferences);
     warPrefGroup.setLayout(new GridLayout(1, false));
     warPrefGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 
     warMavenArchiverButton = new Button(warPrefGroup, SWT.CHECK);
-    warMavenArchiverButton.setText("Maven Archiver generates files under the build directory");
-    warMavenArchiverButton.setToolTipText("The build directory will always be used if Web resource filtering is enabled");
+    warMavenArchiverButton.setText(Messages.MavenWtpPreferencePage_Generate_MavenArchiver_Files_Under_Build_Dir);
+    warMavenArchiverButton.setToolTipText(Messages.MavenWtpPreferencePage_Using_Build_Directory);
   }
 
   private Link createLink(Composite composite, String text) {
@@ -186,11 +191,13 @@
     link.setFont(composite.getFont());
     link.setText("<A>" + text + "</A>"); //$NON-NLS-1$//$NON-NLS-2$
     link.addSelectionListener(new SelectionListener() {
-      public void widgetSelected(SelectionEvent e) {
+      @Override
+	public void widgetSelected(SelectionEvent e) {
         openGlobalPrefs();
       }
 
-      public void widgetDefaultSelected(SelectionEvent e) {
+      @Override
+	public void widgetDefaultSelected(SelectionEvent e) {
         openGlobalPrefs();
       }
     });
@@ -236,13 +243,15 @@
   /**
    * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
    */
-  public void init(IWorkbench workbench) {
+  @Override
+public void init(IWorkbench workbench) {
   }
 
   /**
    * @see org.eclipse.jface.preference.PreferencePage#performOk()
    */
-  public boolean performOk() {
+  @Override
+public boolean performOk() {
 
     IProject project = getProject();
     IMavenWtpPreferencesManager preferencesManager = MavenWtpPlugin.getDefault().getMavenWtpPreferencesManager();
@@ -269,8 +278,8 @@
     if(!newPreferences.equals(preferences)) {
       preferencesManager.savePreferences(newPreferences, getProject());
 
-      boolean res = MessageDialog.openQuestion(getShell(), "Maven Java EE Integration Settings", //
-          "Maven Java EE Integration settings have changed. Do you want to update project configuration?");
+      boolean res = MessageDialog.openQuestion(getShell(), Messages.MavenWtpPreferencePage_Maven_JavaEE_Integration_Settings, //
+          Messages.MavenWtpPreferencePage_Update_Projects_After_Preference_Changes);
       if(res) {
         updateImpactedProjects();
       }
@@ -282,7 +291,8 @@
   /**
    * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
    */
-  protected void performDefaults() {
+  @Override
+protected void performDefaults() {
 
     IProject project = getProject();
     IMavenWtpPreferencesManager preferencesManager = MavenWtpPlugin.getDefault().getMavenWtpPreferencesManager();
@@ -318,11 +328,12 @@
     
     final IProjectConfigurationManager configurationManager = MavenPlugin.getProjectConfigurationManager();
 
-    WorkspaceJob job = new WorkspaceJob("Updating maven projects ") {
+    WorkspaceJob job = new WorkspaceJob(Messages.MavenWtpPreferencePage_Updating_Maven_Projects_Job) {
   
-      public IStatus runInWorkspace(IProgressMonitor monitor) {
+      @Override
+	public IStatus runInWorkspace(IProgressMonitor monitor) {
         try {
-          SubMonitor progress = SubMonitor.convert(monitor, "Updating Maven projects", 100);
+          SubMonitor progress = SubMonitor.convert(monitor, Messages.MavenWtpPreferencePage_Updating_Maven_Projects_Monitor, 100);
           SubMonitor subProgress = SubMonitor.convert(progress.newChild(5), facades.size() * 100);
           //projectManager.sortProjects(facades, progress.newChild(5));
           for(IMavenProjectFacade facade : facades) {
@@ -330,7 +341,7 @@
               throw new OperationCanceledException();
             }
             IProject project = facade.getProject();
-            subProgress.subTask("Updating configuration for " + project.getName());
+            subProgress.subTask(NLS.bind(Messages.MavenWtpPreferencePage_Updating_Configuration_For_Project, project.getName()));
 
             configurationManager.updateProjectConfiguration(project, subProgress);
           }
@@ -379,7 +390,8 @@
       case EAR:
       case WAR:
         return true;
+      default:
+       	return false;
     }
-    return false;
   }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/MavenWtpPreferencesImpl.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/MavenWtpPreferencesImpl.java
index 57ca130..3755c85 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/MavenWtpPreferencesImpl.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/MavenWtpPreferencesImpl.java
@@ -24,49 +24,56 @@
   
   private boolean isWebMavenArchiverUsesBuildDirectory;
   
-  public boolean isApplicationXmGeneratedInBuildDirectory() {
+  @Override
+public boolean isApplicationXmGeneratedInBuildDirectory() {
     return isApplicationXmGeneratedInBuildDirectory;
   }
 
   /**
    * @see org.eclipse.m2e.wtp.preferences.IMavenWtpPreferences#setApplicationXmGeneratedInBuildDirectory(boolean)
    */
-  public void setApplicationXmGeneratedInBuildDirectory(boolean isEnabled) {
+  @Override
+public void setApplicationXmGeneratedInBuildDirectory(boolean isEnabled) {
     isApplicationXmGeneratedInBuildDirectory = isEnabled;
   }
 
   /**
    * @see org.eclipse.m2e.wtp.preferences.IMavenWtpPreferences#isEnabledProjectSpecificSettings()
    */
-  public boolean isEnabledProjectSpecificSettings() {
+  @Override
+public boolean isEnabledProjectSpecificSettings() {
     return isEnabledProjectSpecificSettings;
   }
 
   /**
    * @see org.eclipse.m2e.wtp.preferences.IMavenWtpPreferences#setEnabledProjectSpecificSettings(boolean)
    */
-  public void setEnabledProjectSpecificSettings(boolean isEnabled) {
+  @Override
+public void setEnabledProjectSpecificSettings(boolean isEnabled) {
     isEnabledProjectSpecificSettings = isEnabled;    
   }
 
   /**
    * @return Returns the isWebMavenArchiverUsesBuildDirectory.
    */
-  public boolean isWebMavenArchiverUsesBuildDirectory() {
+  @Override
+public boolean isWebMavenArchiverUsesBuildDirectory() {
     return isWebMavenArchiverUsesBuildDirectory;
   }
 
   /**
    * @param isWebMavenArchiverUsesBuildDirectory The isWebMavenArchiverUsesBuildDirectory to set.
    */
-  public void setWebMavenArchiverUsesBuildDirectory(boolean isWebMavenArchiverUsesBuildDirectory) {
+  @Override
+public void setWebMavenArchiverUsesBuildDirectory(boolean isWebMavenArchiverUsesBuildDirectory) {
     this.isWebMavenArchiverUsesBuildDirectory = isWebMavenArchiverUsesBuildDirectory;
   }
 
   /* (non-Javadoc)
    * @see java.lang.Object#hashCode()
    */
-  public int hashCode() {
+  @Override
+public int hashCode() {
     final int prime = 31;
     int result = 1;
     result = prime * result + (isApplicationXmGeneratedInBuildDirectory ? 1231 : 1237);
@@ -78,7 +85,8 @@
   /* (non-Javadoc)
    * @see java.lang.Object#equals(java.lang.Object)
    */
-  public boolean equals(Object obj) {
+  @Override
+public boolean equals(Object obj) {
     if(this == obj)
       return true;
     if(obj == null)
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/MavenWtpPreferencesManagerImpl.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/MavenWtpPreferencesManagerImpl.java
index 6c7c5c9..bc16045 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/MavenWtpPreferencesManagerImpl.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/preferences/MavenWtpPreferencesManagerImpl.java
@@ -20,6 +20,7 @@
 import org.eclipse.core.runtime.preferences.IEclipsePreferences;
 import org.eclipse.core.runtime.preferences.InstanceScope;
 import org.eclipse.m2e.wtp.MavenWtpPlugin;
+import org.eclipse.m2e.wtp.internal.Messages;
 import org.eclipse.m2e.wtp.internal.StringUtils;
 import org.eclipse.m2e.wtp.preferences.ConfiguratorEnabler;
 import org.eclipse.m2e.wtp.preferences.IMavenWtpPreferences;
@@ -36,22 +37,23 @@
  */
 public class MavenWtpPreferencesManagerImpl implements IMavenWtpPreferencesManager {
 
-  private static final String ATTR_ENABLER_ID = "id";
-  private static final String ATTR_CONFIGURATOR_IDS = "configuratorIds";
-  private static final String ATTR_LABEL = "label";
-  private static final String ATTR_DESCRIPTION = "description";
+  private static final String ATTR_ENABLER_ID = "id"; //$NON-NLS-1$
+  private static final String ATTR_CONFIGURATOR_IDS = "configuratorIds"; //$NON-NLS-1$
+  private static final String ATTR_LABEL = "label"; //$NON-NLS-1$
+  private static final String ATTR_DESCRIPTION = "description"; //$NON-NLS-1$
 
 
   private static Logger LOG = LoggerFactory.getLogger(MavenWtpPreferencesManagerImpl.class);
   
-  private static final String CONFIGURATOR_ENABLER_EXTENSION_POINT = MavenWtpPlugin.ID+".javaeeConfiguratorEnabler";
+  private static final String CONFIGURATOR_ENABLER_EXTENSION_POINT = MavenWtpPlugin.ID+".javaeeConfiguratorEnabler"; //$NON-NLS-1$
 
   private List<ConfiguratorEnabler> enablers;
 
   /**
    * @see org.eclipse.m2e.wtp.preferences.IMavenWtpPreferencesManager#getPreferences(org.eclipse.core.resources.IProject)
    */
-  public IMavenWtpPreferences getPreferences(IProject project) {
+  @Override
+public IMavenWtpPreferences getPreferences(IProject project) {
     if (project == null) {
       return loadWorkspacePreferences();
     }
@@ -66,14 +68,16 @@
   /**
    * @see org.eclipse.m2e.wtp.preferences.IMavenWtpPreferencesManager#createNewPreferences()
    */
-  public IMavenWtpPreferences createNewPreferences() {
+  @Override
+public IMavenWtpPreferences createNewPreferences() {
     return new MavenWtpPreferencesImpl();
   }
   
   /**
    * @see org.eclipse.m2e.wtp.preferences.IMavenWtpPreferencesManager#getWorkspacePreferences()
    */
-  public IMavenWtpPreferences getWorkspacePreferences() {
+  @Override
+public IMavenWtpPreferences getWorkspacePreferences() {
     return loadWorkspacePreferences();
   }
 
@@ -81,7 +85,8 @@
   /**
    * @see org.eclipse.m2e.wtp.preferences.IMavenWtpPreferencesManager#savePreferences(org.eclipse.m2e.wtp.preferences.IMavenWtpPreferences, org.eclipse.core.resources.IProject)
    */
-  public void savePreferences(IMavenWtpPreferences preferences, IProject project) {
+  @Override
+public void savePreferences(IMavenWtpPreferences preferences, IProject project) {
     if (preferences == null) return;
     
     IEclipsePreferences eclipsePrefs;
@@ -100,7 +105,7 @@
     try {
       eclipsePrefs.flush();
     } catch (BackingStoreException e) { 
-      LOG.error("can't store m2e-wtp preferences", e);
+      LOG.error(Messages.MavenWtpPreferencesManagerImpl_0, e);
     } 
   }
   
@@ -137,7 +142,8 @@
     return new ProjectScope(project).getNode(MavenWtpPreferencesConstants.PREFIX);    
   }
 
-  public ConfiguratorEnabler[] getConfiguratorEnablers() {
+  @Override
+public ConfiguratorEnabler[] getConfiguratorEnablers() {
     if (enablers == null) {
       enablers = loadConfiguratorEnablers();
     }
@@ -164,13 +170,14 @@
   }
 
   private static String[] split(String str) {
-    return StringUtils.tokenizeToStringArray(str, ",");
+    return StringUtils.tokenizeToStringArray(str, ","); //$NON-NLS-1$
   }
 
   /* (non-Javadoc)
    * @see org.eclipse.m2e.wtp.preferences.IMavenWtpPreferencesManager#isEnabled(java.lang.String)
    */
-  public boolean isEnabled(String configuratorId) {
+  @Override
+public boolean isEnabled(String configuratorId) {
     for (ConfiguratorEnabler enabler : getConfiguratorEnablers()) {
       if (enabler.appliesTo(configuratorId)) {
         return enabler.isEnabled();
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/utilities/DebugUtilities.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/utilities/DebugUtilities.java
index 887c912..7ad5a63 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/utilities/DebugUtilities.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/internal/utilities/DebugUtilities.java
@@ -35,7 +35,7 @@
 
   private static final Logger LOG = LoggerFactory.getLogger(DebugUtilities.class);
   
-  public static String SEP = System.getProperty("line.separator");
+  public static String SEP = System.getProperty("line.separator"); //$NON-NLS-1$
 
   /**
    * Dumps the project's following informations :
@@ -52,24 +52,24 @@
    * @return a dump of the project state
    */
   public static String dumpProjectState(String startMessage, IProject project) {
-    StringBuilder dump = new StringBuilder((startMessage == null) ? "" : startMessage);
-    dump.append("Current ").append(Thread.currentThread()).append(SEP);
+    StringBuilder dump = new StringBuilder((startMessage == null) ? "" : startMessage); //$NON-NLS-1$
+    dump.append("Current ").append(Thread.currentThread()).append(SEP); //$NON-NLS-1$
     String projectName = project.getName();
     IVirtualComponent component = ComponentCore.createComponent(project);
     if(component == null) {
-      dump.append(projectName).append(" is not a IVirtualComponent").append(SEP);
+      dump.append(projectName).append(" is not a IVirtualComponent").append(SEP); //$NON-NLS-1$
     } else {
-      dump.append(projectName).append(" is a ").append(component.getClass().getSimpleName()).append(SEP);
-      dump.append("Underlying resources for the root folder are :").append(SEP);
+      dump.append(projectName).append(" is a ").append(component.getClass().getSimpleName()).append(SEP); //$NON-NLS-1$
+      dump.append("Underlying resources for the root folder are :").append(SEP); //$NON-NLS-1$
       for(IResource resource : component.getRootFolder().getUnderlyingResources()) {
-        dump.append("  -").append(resource.getFullPath().append(SEP));
+        dump.append("  -").append(resource.getFullPath().append(SEP)); //$NON-NLS-1$
       }
-      dump.append("deploy-name = ").append(component.getDeployedName()).append(SEP);
-      dumpFile(dump, project.getFile(".settings/org.eclipse.wst.common.component"));
+      dump.append("deploy-name = ").append(component.getDeployedName()).append(SEP); //$NON-NLS-1$
+      dumpFile(dump, project.getFile(".settings/org.eclipse.wst.common.component")); //$NON-NLS-1$
     }
     boolean hasModulecoreNature = ModuleCoreNature.getModuleCoreNature(project) != null;
     boolean isFlexible = ModuleCoreNature.isFlexibleProject(project);
-    dump.append(projectName).append(" hasModuleCoreNature:").append(hasModulecoreNature).append(", isFlexible:")
+    dump.append(projectName).append(" hasModuleCoreNature:").append(hasModulecoreNature).append(", isFlexible:") //$NON-NLS-1$ //$NON-NLS-2$
         .append(isFlexible).append(SEP);
     dumpFacetInformations(project, dump);
     return dump.toString();
@@ -85,16 +85,16 @@
     try {
       IFacetedProject fProj = ProjectFacetsManager.create(project);
       if(fProj == null) {
-        dump.append(project.getName()).append(" is not a faceted project").append(SEP);
+        dump.append(project.getName()).append(" is not a faceted project").append(SEP); //$NON-NLS-1$
       } else {
         for(IProjectFacet facet : ProjectFacetsManager.getProjectFacets()) {
           if(fProj.hasProjectFacet(facet)) {
-            dump.append("  - has ").append(fProj.getInstalledVersion(facet)).append(" facet").append(SEP);
+            dump.append("  - has ").append(fProj.getInstalledVersion(facet)).append(" facet").append(SEP); //$NON-NLS-1$ //$NON-NLS-2$
           }
         }
       }
     } catch(CoreException ex) {
-      dump.append("An exception occured while accessing facet informations ").append(ex.getMessage()).append(SEP);
+      dump.append("An exception occured while accessing facet informations ").append(ex.getMessage()).append(SEP); //$NON-NLS-1$
     }
   }
 
@@ -106,16 +106,16 @@
    */
   private static void dumpFile(StringBuilder dump, IFile file) {
     if(!file.exists()) {
-      dump.append(file.getFullPath()).append(" does not exist").append(SEP);
+      dump.append(file.getFullPath()).append(" does not exist").append(SEP); //$NON-NLS-1$
       return;
     }
     InputStream ins = null;
     try {
-      dump.append("Contents of ").append(file.getFullPath()).append(SEP);
+      dump.append("Contents of ").append(file.getFullPath()).append(SEP); //$NON-NLS-1$
       ins = file.getContents();
       dump.append(IOUtil.toString(ins));
     } catch(Exception e) {
-      dump.append("An exception occured while reading ").append(file.getFullPath()).append(" :").append(e.getMessage())
+      dump.append("An exception occured while reading ").append(file.getFullPath()).append(" :").append(e.getMessage()) //$NON-NLS-1$ //$NON-NLS-2$
           .append(SEP);
     } finally {
       IOUtil.close(ins);
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/messages.properties b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/messages.properties
deleted file mode 100644
index 60c6783..0000000
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/messages.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-markers_unsupported_dependencies_warning=Dependency to project {0} with type {1} is not fully supported. Classpath and/or deployment issues might arise. Try Maven->Disable Workspace Resolution
-markers_inclusion_patterns_problem=Using both <{0}> and <packagingIncludes> can not be translated reliably to the equivalent WTP inclusion patterns. Prefer using <packagingIncludes>.
-markers_mavenarchiver_output_settings_ignored_warning=Current Maven Archiver output settings are ignored as web resource filtering is currently used
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/EjbNoVersionFileNameMapping.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/EjbNoVersionFileNameMapping.java
index 2f5abaf..6f4573b 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/EjbNoVersionFileNameMapping.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/EjbNoVersionFileNameMapping.java
@@ -32,9 +32,10 @@
     extends AbstractFileNameMapping
 {
 
-    public String mapFileName( Artifact a )
+    @Override
+	public String mapFileName( Artifact a )
     {
-        return generateFileName( a, !"ejb".equals(a.getType()));
+        return generateFileName( a, !"ejb".equals(a.getType())); //$NON-NLS-1$
     }
 
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/FileNameMappingFactory.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/FileNameMappingFactory.java
index b800383..1cdb9e4 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/FileNameMappingFactory.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/FileNameMappingFactory.java
@@ -35,13 +35,13 @@
  */
 public final class FileNameMappingFactory
 {
-    static final String STANDARD_FILE_NAME_MAPPING = "standard";
+    static final String STANDARD_FILE_NAME_MAPPING = "standard"; //$NON-NLS-1$
 
-    static final String FULL_FILE_NAME_MAPPING = "full";
+    static final String FULL_FILE_NAME_MAPPING = "full"; //$NON-NLS-1$
 
-    static final String NO_VERSION_FILE_NAME_MAPPING = "no-version";
+    static final String NO_VERSION_FILE_NAME_MAPPING = "no-version"; //$NON-NLS-1$
 
-    static final String NO_VERSION_FOR_EJB_NAME_MAPPING = "no-version-for-ejb";
+    static final String NO_VERSION_FOR_EJB_NAME_MAPPING = "no-version-for-ejb"; //$NON-NLS-1$
 
 
     private FileNameMappingFactory()
@@ -88,22 +88,22 @@
         catch ( ClassNotFoundException e )
         {
             throw new IllegalStateException(
-                "File name mapping implementation[" + nameOrClass + "] was not found " + e.getMessage() );
+                "File name mapping implementation[" + nameOrClass + "] was not found " + e.getMessage() ); //$NON-NLS-1$ //$NON-NLS-2$
         }
         catch ( InstantiationException e )
         {
-            throw new IllegalStateException( "Could not instantiate file name mapping implementation[" + nameOrClass +
-                                                 "] make sure it has a default public constructor" );
+            throw new IllegalStateException( "Could not instantiate file name mapping implementation[" + nameOrClass + //$NON-NLS-1$
+                                                 "] make sure it has a default public constructor" ); //$NON-NLS-1$
         }
         catch ( IllegalAccessException e )
         {
-            throw new IllegalStateException( "Could not access file name mapping implementation[" + nameOrClass +
-                                                 "] make sure it has a default public constructor" );
+            throw new IllegalStateException( "Could not access file name mapping implementation[" + nameOrClass + //$NON-NLS-1$
+                                                 "] make sure it has a default public constructor" ); //$NON-NLS-1$
         }
         catch ( ClassCastException e )
         {
             throw new IllegalStateException(
-                "Specified class[" + nameOrClass + "] does not implement[" + FileNameMapping.class.getName() + "]" );
+                "Specified class[" + nameOrClass + "] does not implement[" + FileNameMapping.class.getName() + "]" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
         }
     }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/FullFileNameMapping.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/FullFileNameMapping.java
index 829adf6..c98c7a0 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/FullFileNameMapping.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/FullFileNameMapping.java
@@ -34,9 +34,10 @@
     extends AbstractFileNameMapping
 {
 
-    public String mapFileName( final Artifact a )
+    @Override
+	public String mapFileName( final Artifact a )
     {
         final String dashedGroupId = a.getGroupId().replace( '.', '-' );
-        return dashedGroupId + "-" + generateFileName( a, true );
+        return dashedGroupId + "-" + generateFileName( a, true ); //$NON-NLS-1$
     }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/NoVersionFileNameMapping.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/NoVersionFileNameMapping.java
index 8bc006e..336dec1 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/NoVersionFileNameMapping.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/NoVersionFileNameMapping.java
@@ -33,7 +33,8 @@
     extends AbstractFileNameMapping
 {
 
-    public String mapFileName( Artifact a )
+    @Override
+	public String mapFileName( Artifact a )
     {
         return generateFileName( a, false );
     }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/PatternBasedFileNameMapping.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/PatternBasedFileNameMapping.java
index dffdc7c..8b2448e 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/PatternBasedFileNameMapping.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/PatternBasedFileNameMapping.java
@@ -26,12 +26,13 @@
       //pattern = "@{artifactId}@-@{version}@@{dashClassifier?}@.@{extension}@";
       //MECLIPSEWTP-215 temporary fix until https://bugs.eclipse.org/bugs/show_bug.cgi?id=359385 is fixed
       //Then we'll switch back to using @{version}
-      pattern = "@{artifactId}@-@{baseVersion}@@{dashClassifier?}@.@{extension}@";
+      pattern = "@{artifactId}@-@{baseVersion}@@{dashClassifier?}@.@{extension}@"; //$NON-NLS-1$
     }
     this.pattern = pattern;
   }
 
-  public String mapFileName(Artifact artifact) {
+  @Override
+public String mapFileName(Artifact artifact) {
     try {
       return MappingUtils.evaluateFileNameMapping(pattern, artifact);
     } catch(InterpolationException ex) {
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/StandardFileNameMapping.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/StandardFileNameMapping.java
index c2f48c2..5928821 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/StandardFileNameMapping.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/namemapping/StandardFileNameMapping.java
@@ -34,7 +34,8 @@
     extends AbstractFileNameMapping
 {
 
-    public String mapFileName( final Artifact a )
+    @Override
+	public String mapFileName( final Artifact a )
     {
         return generateFileName( a, true );
     }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/preferences/ConfiguratorEnabler.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/preferences/ConfiguratorEnabler.java
index 9eea35c..790db4f 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/preferences/ConfiguratorEnabler.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/preferences/ConfiguratorEnabler.java
@@ -90,7 +90,7 @@
   }
 
   private String getPreferenceKey() {
-    return getId() + ".enabled";
+    return getId() + ".enabled"; //$NON-NLS-1$
   }
 
   /**
@@ -100,7 +100,8 @@
     return projectConfiguratorIds.contains(configuratorId);
   }
 
-  public String toString() {
-    return getId() + " : " + getConfiguratorLabel();
+  @Override
+public String toString() {
+    return getId() + " : " + getConfiguratorLabel(); //$NON-NLS-1$
   }
 }
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/preferences/MavenWtpPreferencesConstants.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/preferences/MavenWtpPreferencesConstants.java
index b2ee16d..d3f9c9e 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/preferences/MavenWtpPreferencesConstants.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/preferences/MavenWtpPreferencesConstants.java
@@ -19,15 +19,15 @@
   /**
    * 
    */
-  public static final String MAVEN_WTP_PREFERENCE_PAGE = "org.eclipse.m2e.wtp.preferences.MavenWtpPreferencePage";
+  public static final String MAVEN_WTP_PREFERENCE_PAGE = "org.eclipse.m2e.wtp.preferences.MavenWtpPreferencePage"; //$NON-NLS-1$
 
   public static final String PREFIX = MavenWtpPlugin.ID;
 
-  public static final String P_APPLICATION_XML_IN_BUILD_DIR = PREFIX + ".ear.applicationXmlInBuilDir";
+  public static final String P_APPLICATION_XML_IN_BUILD_DIR = PREFIX + ".ear.applicationXmlInBuilDir"; //$NON-NLS-1$
 
-  public static final String P_WEB_MAVENARCHIVER_IN_BUILD_DIR = PREFIX + ".war.archiverFilesInBuilDir";
+  public static final String P_WEB_MAVENARCHIVER_IN_BUILD_DIR = PREFIX + ".war.archiverFilesInBuilDir"; //$NON-NLS-1$
 
-  public static final String P_ENABLED_PROJECT_SPECIFIC__PREFS = PREFIX + ".enabledProjectSpecificPrefs";
+  public static final String P_ENABLED_PROJECT_SPECIFIC__PREFS = PREFIX + ".enabledProjectSpecificPrefs"; //$NON-NLS-1$
 
   /**
    * Private constructor to avoid instanciation