Start to factor out transformation of arguments into configuration
git-svn-id: https://svn.apache.org/repos/asf/creadur/tentacles/trunk@1462720 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
new file mode 100644
index 0000000..9711941
--- /dev/null
+++ b/src/main/java/org/apache/creadur/tentacles/Configuration.java
@@ -0,0 +1,48 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.creadur.tentacles;
+
+import java.io.File;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+public class Configuration {
+
+ private static final int ARGUMENT_INDEX_FOR_URI_CONFIGURATION = 0;
+
+ private static URI toURI(final String arg) throws URISyntaxException {
+ final URI uri = new URI(arg);
+ if (arg.startsWith("file:")) {
+ return new File(uri).getAbsoluteFile().toURI();
+ }
+ return uri;
+ }
+
+
+ private final URI staging;
+
+ public Configuration(final String... args) throws URISyntaxException {
+ this.staging = toURI(args[ARGUMENT_INDEX_FOR_URI_CONFIGURATION]);
+ }
+
+ public URI getStaging() {
+ return staging;
+ }
+
+}
diff --git a/src/main/java/org/apache/creadur/tentacles/Main.java b/src/main/java/org/apache/creadur/tentacles/Main.java
index 5f73695..e351795 100644
--- a/src/main/java/org/apache/creadur/tentacles/Main.java
+++ b/src/main/java/org/apache/creadur/tentacles/Main.java
@@ -63,10 +63,13 @@
private String filter;
private final NexusClient client = new NexusClient();
+ private final Configuration configuration;
- public Main(String... args) throws Exception {
+ public Main(final String... args) throws Exception {
- this.staging = getURI(args[0]);
+ configuration = new Configuration(args);
+
+ this.staging = configuration.getStaging();
this.local = new File(rootDirectoryForLocalOutput(args));
@@ -102,15 +105,6 @@
return rootDirectoryForLocal;
}
- private URI getURI(String arg) throws URISyntaxException {
- final URI uri = new URI(arg);
- if (arg.startsWith("file:")) {
- File file = new File(uri);
- file = file.getAbsoluteFile();
- return file.toURI();
- }
- return uri;
- }
private void licenses(String s) throws IOException {
URL aslURL = this.getClass().getClassLoader().getResource("licenses/" + s + ".txt");