Add documentation
Reuse regExp

git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@1748615 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/PatternInclusionsFilter.java b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/PatternInclusionsFilter.java
index f7260e1..78a8685 100644
--- a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/PatternInclusionsFilter.java
+++ b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/PatternInclusionsFilter.java
@@ -27,6 +27,7 @@
  * 
  * <pre>
  * [groupId]:[artifactId]:[extension]:[version]
+ * [groupId]:[artifactId]:[extension]:[classifier]:[version]
  * </pre>
  * <p>
  * Where each pattern segment is optional and supports full and partial <code>*</code> wildcards. An empty pattern
diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/EclipseAetherFilterTransformer.java b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/EclipseAetherFilterTransformer.java
index bcb585f..700d35d 100644
--- a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/EclipseAetherFilterTransformer.java
+++ b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/EclipseAetherFilterTransformer.java
@@ -52,6 +52,12 @@
 public class EclipseAetherFilterTransformer
     implements FilterTransformer<DependencyFilter>
 {
+    /**
+     * When using as regular expression, group(1) + group(3) will be the coordinate, 
+     * group(2) will be the classifier.
+     */
+    private static final String GAV_C_E = "(.*:.*:.*):(.+)(:.*)";
+    
     @Override
     public AndDependencyFilter transform( AndFilter andFilter )
     {
@@ -101,7 +107,7 @@
         
         for ( String include : filter.getIncludes() )
         {
-            if ( include.matches( ".*:.*:.*:.*:.*" ) )
+            if ( include.matches( GAV_C_E ) )
             {
                 return newAdvancedPatternInclusionFilter( filter.getIncludes() );
             }
@@ -127,7 +133,7 @@
     {
         List<DependencyFilter> filters = new ArrayList<DependencyFilter>( includes.size() );
 
-        Pattern pattern = Pattern.compile( "(.*:.*:.*):(.+)(:.*)" );
+        Pattern pattern = Pattern.compile( GAV_C_E );
         for ( String include : includes )
         {
             Matcher matcher = pattern.matcher( include );
diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/SonatypeAetherFilterTransformer.java b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/SonatypeAetherFilterTransformer.java
index 42184e9..9d749eb 100644
--- a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/SonatypeAetherFilterTransformer.java
+++ b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/SonatypeAetherFilterTransformer.java
@@ -52,6 +52,12 @@
 public class SonatypeAetherFilterTransformer
     implements FilterTransformer<DependencyFilter>
 {
+    /**
+     * When using as regular expression, group(1) + group(3) will be the coordinate, 
+     * group(2) will be the classifier.
+     */
+    private static final String GAV_C_E = "(.*:.*:.*):(.+)(:.*)";
+    
     @Override
     public AndDependencyFilter transform( AndFilter filter )
     {
@@ -101,7 +107,7 @@
         
         for ( String include : filter.getIncludes() )
         {
-            if ( include.matches( ".*:.*:.*:.*:.*" ) )
+            if ( include.matches( GAV_C_E ) )
             {
                 return newAdvancedPatternInclusionFilter( filter.getIncludes() );
             }
@@ -127,7 +133,7 @@
     {
         List<DependencyFilter> filters = new ArrayList<DependencyFilter>( includes.size() );
 
-        Pattern pattern = Pattern.compile( "(.*:.*:.*):(.+)(:.*)" );
+        Pattern pattern = Pattern.compile( GAV_C_E );
         for ( String include : includes )
         {
             Matcher matcher = pattern.matcher( include );