Push file repository path name filter into configuration

git-svn-id: https://svn.apache.org/repos/asf/creadur/tentacles/trunk@1462781 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/creadur/tentacles/Configuration.java b/src/main/java/org/apache/creadur/tentacles/Configuration.java
index 6dc2562..d6c8551 100644
--- a/src/main/java/org/apache/creadur/tentacles/Configuration.java
+++ b/src/main/java/org/apache/creadur/tentacles/Configuration.java
@@ -24,6 +24,10 @@
 
 public class Configuration {
 
+    private static final String DEFAULT_FILE_REPOSITORY_PATH_NAME_FILTER =
+            "org/apache/openejb";
+    private static final String SYSTEM_PROPERTY_NAME_FOR_FILE_REPOSITORY_PATH_NAME_FILTER =
+            "filter";
     private static final int ARGUMENT_INDEX_FOR_LOCAL_ROOT_DIRECTORY = 1;
     private static final int ARGUMENT_INDEX_FOR_URI_CONFIGURATION = 0;
     private static final int ARGUMENT_LENGTH_FOR_URI_CONFIGURATION_ONLY =
@@ -39,10 +43,19 @@
 
     private final URI staging;
     private final String rootDirectoryForLocalOutput;
+    private final String fileRepositoryPathNameFilter;
 
     public Configuration(final String... args) throws URISyntaxException {
         this.staging = toURI(args[ARGUMENT_INDEX_FOR_URI_CONFIGURATION]);
         this.rootDirectoryForLocalOutput = rootDirectoryForLocalOutput(args);
+        this.fileRepositoryPathNameFilter =
+                System.getProperty(
+                        SYSTEM_PROPERTY_NAME_FOR_FILE_REPOSITORY_PATH_NAME_FILTER,
+                        DEFAULT_FILE_REPOSITORY_PATH_NAME_FILTER);
+    }
+
+    public String getFileRepositoryPathNameFilter() {
+        return this.fileRepositoryPathNameFilter;
     }
 
     public URI getStaging() {
diff --git a/src/main/java/org/apache/creadur/tentacles/Main.java b/src/main/java/org/apache/creadur/tentacles/Main.java
index d3b2a31..5988e5c 100644
--- a/src/main/java/org/apache/creadur/tentacles/Main.java
+++ b/src/main/java/org/apache/creadur/tentacles/Main.java
@@ -60,7 +60,6 @@
     private final File content;
     private final Reports reports;
     private final Map<String, String> licenses = new HashMap<String, String>();
-    private final String filter;
     private final NexusClient client = new NexusClient();
 
     private final Configuration configuration;
@@ -88,7 +87,6 @@
 
         this.reports = new Reports();
 
-        this.filter = System.getProperty("filter", "org/apache/openejb");
         final URL style =
                 this.getClass().getClassLoader().getResource("legal/style.css");
         IO.copy(style.openStream(), new File(this.local, "style.css"));
@@ -346,7 +344,7 @@
                 @Override
                 public boolean accept(final File pathname) {
                     final String path = pathname.getAbsolutePath();
-                    return path.matches(Main.this.filter)
+                    return path.matches(Main.this.configuration.getFileRepositoryPathNameFilter())
                             && isValidArchive(path);
                 }
             });