handle files in alphabetical order
[meviz.git] / src / main / java / eu / svjatoslav / meviz / textsplitter / CommandlineHandler.java
index 1364a13..5f7bc0e 100755 (executable)
@@ -13,31 +13,32 @@ import java.io.File;
 
 import eu.svjatoslav.commons.commandline.parameterparser.Parameter;
 import eu.svjatoslav.commons.commandline.parameterparser.Parser;
+import eu.svjatoslav.commons.commandline.parameterparser.arguments.ExistingDirectory;
+import eu.svjatoslav.commons.commandline.parameterparser.arguments.StringArgument;
 
 public class CommandlineHandler {
 
        Parameter recursiveParameter = new Parameter("Enable recursive mode.",
                        "-r", "--recursive");
 
-       Parameter inputPatternParameter = new Parameter(
-                       true,
-                       true,
-                       true,
-                       new eu.svjatoslav.commons.commandline.parameterparser.arguments.String(),
-                       "File input pattern.", "-i", "--input-pattern");
+       Parameter fileInputPatternsParameter = new Parameter(true, true, true,
+                       new StringArgument(), "File input pattern.", "-i",
+                       "--input-pattern");
 
-       Parameter workingDirectoryParameter = new Parameter(
-                       false,
-                       true,
-                       true,
-                       new eu.svjatoslav.commons.commandline.parameterparser.arguments.ExistingDirectory(),
-                       "Working directory.", "-w", "--working-directory");
+       Parameter splitPatternsParameter = new Parameter(true, true, true,
+                       new StringArgument(), "File split regular expression.", "-s",
+                       "--split-pattern");
+
+       Parameter workingDirectoryParameter = new Parameter(false, true, true,
+                       new ExistingDirectory(), "Working directory.", "-w",
+                       "--working-directory");
 
        public Parser initParser() {
 
                final Parser parser = new Parser();
                parser.addParameter(recursiveParameter);
-               parser.addParameter(inputPatternParameter);
+               parser.addParameter(fileInputPatternsParameter);
+               parser.addParameter(splitPatternsParameter);
                parser.addParameter(workingDirectoryParameter);
 
                return parser;
@@ -60,8 +61,12 @@ public class CommandlineHandler {
                else
                        options.targetDirectory = new File(System.getProperty("user.dir"));
 
-               if (inputPatternParameter.isParameterSpecified())
-                       options.inputPatterns.addAll(inputPatternParameter
+               if (fileInputPatternsParameter.isParameterSpecified())
+                       options.fileInputPatterns.addAll(fileInputPatternsParameter
+                                       .getArgumentsAsStrings());
+
+               if (splitPatternsParameter.isParameterSpecified())
+                       options.textSplitPatterns.addAll(splitPatternsParameter
                                        .getArgumentsAsStrings());
 
                return options;