RAT-240: Add comments in exclusion files/change parsing

* Added skippig of empty and comment lines.
* Added new NameFileFilter and WildcardFileFilter to support more
exclusions in different formats.


git-svn-id: https://svn.apache.org/repos/asf/creadur/rat/trunk@1811592 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/apache-rat-core/src/main/java/org/apache/rat/Report.java b/apache-rat-core/src/main/java/org/apache/rat/Report.java
index 47b606c..103863c 100644
--- a/apache-rat-core/src/main/java/org/apache/rat/Report.java
+++ b/apache-rat-core/src/main/java/org/apache/rat/Report.java
@@ -21,6 +21,7 @@
 import org.apache.commons.cli.*;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.filefilter.*;
+import org.apache.commons.lang.StringUtils;
 import org.apache.rat.api.RatException;
 import org.apache.rat.report.IReportable;
 import org.apache.rat.report.RatReport;
@@ -117,16 +118,24 @@
 
     static FilenameFilter parseExclusions(List<String> excludes) throws IOException {
         final OrFileFilter orFilter = new OrFileFilter();
+        int ignoredLines = 0;
         for (String exclude : excludes) {
             try {
+                // skip comments
+                if(exclude.startsWith("#") || StringUtils.isEmpty(exclude)) {
+                    ignoredLines++;
+                    continue;
+                }
+
                 orFilter.addFileFilter(new RegexFileFilter(exclude));
                 // RAT-240: verify it works properly
-                //orFilter.addFileFilter(new NameFileFilter(exclude));
-                //orFilter.addFileFilter(new WildcardFileFilter(exclude));
+                orFilter.addFileFilter(new NameFileFilter(exclude));
+                orFilter.addFileFilter(new WildcardFileFilter(exclude));
             } catch(PatternSyntaxException e) {
                 System.err.println("Will skip given exclusion '" + exclude + "' due to " + e);
             }
         }
+        System.out.println("Ignored " + ignoredLines + " lines in your exclusion files as comments or empty lines.");
         return new NotFileFilter(orFilter);
     }