[MEAR-216] - Refactoring.
diff --git a/src/main/java/org/apache/maven/plugins/ear/AppClientModule.java b/src/main/java/org/apache/maven/plugins/ear/AppClientModule.java
index 14c5b6d..6ff9994 100644
--- a/src/main/java/org/apache/maven/plugins/ear/AppClientModule.java
+++ b/src/main/java/org/apache/maven/plugins/ear/AppClientModule.java
@@ -30,7 +30,10 @@
 public class AppClientModule

     extends AbstractEarModule

 {

-    private static final String DEFAULT_ARTIFACT_TYPE = "app-client";

+    /**

+     * Default type of the artifact of an application client module.

+     */

+    public static final String DEFAULT_ARTIFACT_TYPE = "app-client";

 

     /**

      * Create an instance.

diff --git a/src/main/java/org/apache/maven/plugins/ear/EarModuleFactory.java b/src/main/java/org/apache/maven/plugins/ear/EarModuleFactory.java
index dba38bd..f8a1ba9 100644
--- a/src/main/java/org/apache/maven/plugins/ear/EarModuleFactory.java
+++ b/src/main/java/org/apache/maven/plugins/ear/EarModuleFactory.java
@@ -34,13 +34,30 @@
  */

 public final class EarModuleFactory

 {

+    private static final String TEST_JAR_ARTIFACT_TYPE = "test-jar";

+    private static final String JBOSS_PAR_ARTIFACT_TYPE = "jboss-par";

+    private static final String JBOSS_SAR_ARTIFACT_TYPE = "jboss-sar";

+    private static final String JBOSS_HAR_ARTIFACT_TYPE = "jboss-har";

+

     /**

      * The list of artifact types.

      */

-    public static final List<String> STANDARD_ARTIFACT_TYPE =

-        Collections.unmodifiableList( Arrays.asList( "jar", "ejb", "par", "ejb-client", "app-client", "rar", "war",

-                                                     "sar", "wsr", "har", "test-jar", "jboss-par", "jboss-sar",

-                                                     "jboss-har" ) );

+    private static final List<String> STANDARD_ARTIFACT_TYPES =

+        Collections.unmodifiableList( Arrays.asList(

+            JarModule.DEFAULT_ARTIFACT_TYPE,

+            EjbModule.DEFAULT_ARTIFACT_TYPE,

+            ParModule.DEFAULT_ARTIFACT_TYPE,

+            EjbClientModule.DEFAULT_ARTIFACT_TYPE,

+            AppClientModule.DEFAULT_ARTIFACT_TYPE,

+            RarModule.DEFAULT_ARTIFACT_TYPE,

+            WebModule.DEFAULT_ARTIFACT_TYPE,

+            SarModule.DEFAULT_ARTIFACT_TYPE,

+            WsrModule.DEFAULT_ARTIFACT_TYPE,

+            HarModule.DEFAULT_ARTIFACT_TYPE,

+            TEST_JAR_ARTIFACT_TYPE,

+            JBOSS_PAR_ARTIFACT_TYPE,

+            JBOSS_SAR_ARTIFACT_TYPE,

+            JBOSS_HAR_ARTIFACT_TYPE ) );

 

     /**

      * Creates a new {@link EarModule} based on the specified {@link Artifact} and the specified execution

@@ -71,19 +88,20 @@
             throw new UnknownArtifactTypeException( e.getMessage() + " for " + artifact.getArtifactId() );

         }

 

-        if ( "jar".equals( artifactType ) || "test-jar".equals( artifactType ) )

+        if ( JarModule.DEFAULT_ARTIFACT_TYPE.equals( artifactType ) || TEST_JAR_ARTIFACT_TYPE.equals( artifactType ) )

         {

             return new JarModule( artifact, defaultLibBundleDir, includeInApplicationXml );

         }

-        else if ( "ejb".equals( artifactType ) )

+        else if ( EjbModule.DEFAULT_ARTIFACT_TYPE.equals( artifactType ) )

         {

             return new EjbModule( artifact );

         }

-        else if ( "par".equals( artifactType ) || "jboss-par".equals( artifactType ) )

+        else if ( ParModule.DEFAULT_ARTIFACT_TYPE.equals( artifactType )

+            || JBOSS_PAR_ARTIFACT_TYPE.equals( artifactType ) )

         {

             return new ParModule( artifact );

         }

-        else if ( "ejb-client".equals( artifactType ) )

+        else if ( EjbClientModule.DEFAULT_ARTIFACT_TYPE.equals( artifactType ) )

         {

             // Somewhat weird way to tackle the problem described in MEAR-85

             if ( javaEEVersion.le( JavaEEVersion.ONE_DOT_FOUR ) )

@@ -95,27 +113,29 @@
                 return new EjbClientModule( artifact, defaultLibBundleDir );

             }

         }

-        else if ( "app-client".equals( artifactType ) )

+        else if ( AppClientModule.DEFAULT_ARTIFACT_TYPE.equals( artifactType ) )

         {

             return new AppClientModule( artifact );

         }

-        else if ( "rar".equals( artifactType ) )

+        else if ( RarModule.DEFAULT_ARTIFACT_TYPE.equals( artifactType ) )

         {

             return new RarModule( artifact );

         }

-        else if ( "war".equals( artifactType ) )

+        else if ( WebModule.DEFAULT_ARTIFACT_TYPE.equals( artifactType ) )

         {

             return new WebModule( artifact );

         }

-        else if ( "sar".equals( artifactType ) || "jboss-sar".equals( artifactType ) )

+        else if ( SarModule.DEFAULT_ARTIFACT_TYPE.equals( artifactType )

+            || JBOSS_SAR_ARTIFACT_TYPE.equals( artifactType ) )

         {

             return new SarModule( artifact );

         }

-        else if ( "wsr".equals( artifactType ) )

+        else if ( WsrModule.DEFAULT_ARTIFACT_TYPE.equals( artifactType ) )

         {

             return new WsrModule( artifact );

         }

-        else if ( "har".equals( artifactType ) || "jboss-har".equals( artifactType ) )

+        else if ( HarModule.DEFAULT_ARTIFACT_TYPE.equals( artifactType )

+            || JBOSS_HAR_ARTIFACT_TYPE.equals( artifactType ) )

         {

             return new HarModule( artifact );

         }

@@ -132,7 +152,7 @@
      */

     public static List<String> getStandardArtifactTypes()

     {

-        return STANDARD_ARTIFACT_TYPE;

+        return STANDARD_ARTIFACT_TYPES;

     }

 

     /**

@@ -143,7 +163,7 @@
      */

     public static boolean isStandardArtifactType( final String type )

     {

-        return STANDARD_ARTIFACT_TYPE.contains( type );

+        return STANDARD_ARTIFACT_TYPES.contains( type );

     }

 

 }

diff --git a/src/main/java/org/apache/maven/plugins/ear/EarMojo.java b/src/main/java/org/apache/maven/plugins/ear/EarMojo.java
index 3b7cd91..77c382e 100644
--- a/src/main/java/org/apache/maven/plugins/ear/EarMojo.java
+++ b/src/main/java/org/apache/maven/plugins/ear/EarMojo.java
@@ -498,10 +498,10 @@
             unpackTypesList = Arrays.asList( unpackTypes.split( "," ) );

             for ( String type : unpackTypesList )

             {

-                if ( !EarModuleFactory.STANDARD_ARTIFACT_TYPE.contains( type ) )

+                if ( !EarModuleFactory.isStandardArtifactType( type ) )

                 {

                     throw new MojoExecutionException( "Invalid type [" + type + "] supported types are "

-                        + EarModuleFactory.STANDARD_ARTIFACT_TYPE );

+                        + EarModuleFactory.getStandardArtifactTypes() );

                 }

             }

             getLog().debug( "Initialized unpack types " + unpackTypesList );

diff --git a/src/main/java/org/apache/maven/plugins/ear/EjbClientModule.java b/src/main/java/org/apache/maven/plugins/ear/EjbClientModule.java
index ac61065..bd16ebc 100644
--- a/src/main/java/org/apache/maven/plugins/ear/EjbClientModule.java
+++ b/src/main/java/org/apache/maven/plugins/ear/EjbClientModule.java
@@ -29,7 +29,10 @@
 public class EjbClientModule

     extends JarModule

 {

-    private static final String DEFAULT_ARTIFACT_TYPE = "ejb-client";

+    /**

+     * Default type of the artifact of an ejb client module.

+     */

+    public static final String DEFAULT_ARTIFACT_TYPE = "ejb-client";

 

     /**

      * Create an instance.

diff --git a/src/main/java/org/apache/maven/plugins/ear/EjbModule.java b/src/main/java/org/apache/maven/plugins/ear/EjbModule.java
index fef44dc..f9adb3c 100644
--- a/src/main/java/org/apache/maven/plugins/ear/EjbModule.java
+++ b/src/main/java/org/apache/maven/plugins/ear/EjbModule.java
@@ -30,7 +30,10 @@
 public class EjbModule

     extends AbstractEarModule

 {

-    private static final String DEFAULT_ARTIFACT_TYPE = "ejb";

+    /**

+     * Default type of the artifact of an EJB module.

+     */

+    public static final String DEFAULT_ARTIFACT_TYPE = "ejb";

 

     private static final String EJB_MODULE = "ejb";

 

diff --git a/src/main/java/org/apache/maven/plugins/ear/HarModule.java b/src/main/java/org/apache/maven/plugins/ear/HarModule.java
index 1925204..0130c5a 100644
--- a/src/main/java/org/apache/maven/plugins/ear/HarModule.java
+++ b/src/main/java/org/apache/maven/plugins/ear/HarModule.java
@@ -31,7 +31,10 @@
     extends AbstractEarModule

     implements JbossEarModule

 {

-    private static final String DEFAULT_ARTIFACT_TYPE = "har";

+    /**

+     * Default type of the artifact of a JBoss Hibernate archive.

+     */

+    public static final String DEFAULT_ARTIFACT_TYPE = "har";

 

     /**

      * Create an instance.

diff --git a/src/main/java/org/apache/maven/plugins/ear/JarModule.java b/src/main/java/org/apache/maven/plugins/ear/JarModule.java
index 92756e7..9f9f318 100644
--- a/src/main/java/org/apache/maven/plugins/ear/JarModule.java
+++ b/src/main/java/org/apache/maven/plugins/ear/JarModule.java
@@ -38,7 +38,10 @@
 public class JarModule

     extends AbstractEarModule

 {

-    private static final String DEFAULT_ARTIFACT_TYPE = "jar";

+    /**

+     * Default type of the artifact of a non Java EE module such as third party library.

+     */

+    public static final String DEFAULT_ARTIFACT_TYPE = "jar";

 

     private Boolean includeInApplicationXml = Boolean.FALSE;

 

diff --git a/src/main/java/org/apache/maven/plugins/ear/ParModule.java b/src/main/java/org/apache/maven/plugins/ear/ParModule.java
index ba9b045..53fbcc9 100644
--- a/src/main/java/org/apache/maven/plugins/ear/ParModule.java
+++ b/src/main/java/org/apache/maven/plugins/ear/ParModule.java
@@ -29,7 +29,10 @@
 public class ParModule

     extends EjbModule

 {

-    private static final String DEFAULT_ARTIFACT_TYPE = "par";

+    /**

+     * Default type of the artifact of a Par module.

+     */

+    public static final String DEFAULT_ARTIFACT_TYPE = "par";

 

     /**

      * Create an instance.

diff --git a/src/main/java/org/apache/maven/plugins/ear/RarModule.java b/src/main/java/org/apache/maven/plugins/ear/RarModule.java
index 297ab65..5ba57a1 100644
--- a/src/main/java/org/apache/maven/plugins/ear/RarModule.java
+++ b/src/main/java/org/apache/maven/plugins/ear/RarModule.java
@@ -30,7 +30,10 @@
 public class RarModule

     extends AbstractEarModule

 {

-    private static final String DEFAULT_ARTIFACT_TYPE = "rar";

+    /**

+     * Default type of the artifact of an Java EE connector module.

+     */

+    public static final String DEFAULT_ARTIFACT_TYPE = "rar";

 

     private static final String RAR_MODULE = "connector";

 

diff --git a/src/main/java/org/apache/maven/plugins/ear/SarModule.java b/src/main/java/org/apache/maven/plugins/ear/SarModule.java
index 849f9f8..4d87342 100644
--- a/src/main/java/org/apache/maven/plugins/ear/SarModule.java
+++ b/src/main/java/org/apache/maven/plugins/ear/SarModule.java
@@ -37,7 +37,10 @@
     extends AbstractEarModule

     implements JbossEarModule

 {

-    private static final String DEFAULT_ARTIFACT_TYPE = "sar";

+    /**

+     * Default type of the artifact of a JBoss sar module.

+     */

+    public static final String DEFAULT_ARTIFACT_TYPE = "sar";

 

     private static final String SAR_MODULE = "connector";

 

diff --git a/src/main/java/org/apache/maven/plugins/ear/WebModule.java b/src/main/java/org/apache/maven/plugins/ear/WebModule.java
index 8ee897a..510502c 100644
--- a/src/main/java/org/apache/maven/plugins/ear/WebModule.java
+++ b/src/main/java/org/apache/maven/plugins/ear/WebModule.java
@@ -33,7 +33,10 @@
 public class WebModule

     extends AbstractEarModule

 {

-    private static final String DEFAULT_ARTIFACT_TYPE = "war";

+    /**

+     * Default type of the artifact of a Web application module.

+     */

+    public static final String DEFAULT_ARTIFACT_TYPE = "war";

 

     private static final String WEB_MODULE = "web";

 

diff --git a/src/main/java/org/apache/maven/plugins/ear/WsrModule.java b/src/main/java/org/apache/maven/plugins/ear/WsrModule.java
index 4ff16b1..e2456e6 100644
--- a/src/main/java/org/apache/maven/plugins/ear/WsrModule.java
+++ b/src/main/java/org/apache/maven/plugins/ear/WsrModule.java
@@ -29,7 +29,10 @@
 public class WsrModule

     extends RarModule

 {

-    private static final String DEFAULT_ARTIFACT_TYPE = "wsr";

+    /**

+     * Default type of the artifact of a JBoss wsr module.

+     */

+    public static final String DEFAULT_ARTIFACT_TYPE = "wsr";

 

     /**

      * Create an instance.