[MSHARED-495] Add convenience method to move code into Maven Filtering
 o Moving this code into maven-filtering makes changing the code
   simpler and makes the plugins more independant.


git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@1729092 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index 9510d35..e5badb2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -119,6 +119,13 @@
       <version>4.11</version>
       <scope>test</scope>
     </dependency>
+    
+    <dependency>
+      <groupId>org.assertj</groupId>
+      <artifactId>assertj-core</artifactId>
+      <version>1.7.1</version>
+      <scope>test</scope>
+    </dependency>
 
   </dependencies>
 
diff --git a/src/main/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequest.java b/src/main/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequest.java
index 3bd179a..121aafa 100644
--- a/src/main/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequest.java
+++ b/src/main/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequest.java
@@ -331,6 +331,39 @@
     }
 
     /**
+     * @param delimiters If {@code null} than nothing will happen. If not {@code null} the delimiters will be set
+     *            according to the contents. If delimiter entries are {@code null} those entries will be set to '${*}'.
+     * @param useDefaultDelimiters true if the default delimiters will be used false otherwise.
+     */
+    public void setDelimiters( LinkedHashSet<String> delimiters, boolean useDefaultDelimiters )
+    {
+        if ( delimiters != null && !delimiters.isEmpty() )
+        {
+            LinkedHashSet<String> delims = new LinkedHashSet<String>();
+            if ( useDefaultDelimiters )
+            {
+                delims.addAll( this.getDelimiters() );
+            }
+
+            for ( String delim : delimiters )
+            {
+                if ( delim == null )
+                {
+                    // FIXME: ${filter:*} could also trigger this condition. Need a better long-term solution.
+                    delims.add( "${*}" );
+                }
+                else
+                {
+                    delims.add( delim );
+                }
+            }
+
+            this.setDelimiters( delims );
+        }
+
+    }
+
+    /**
      * @return If support multiple line filtering is active or not.
      */
     public boolean isSupportMultiLineFiltering()