Skip to content

Commit

Permalink
Uses streamline-cli v0.4.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Joel Håkansson committed Nov 7, 2017
1 parent f14db97 commit 4ee977f
Show file tree
Hide file tree
Showing 15 changed files with 257 additions and 80 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ dependencies {
compileOnly group: "biz.aQute.bnd", name: "annotation", version: "2.3.0" compileOnly group: "biz.aQute.bnd", name: "annotation", version: "2.3.0"


compile 'org.daisy.braille:braille-utils.api:4.2.0' compile 'org.daisy.braille:braille-utils.api:4.2.0'
compile 'org.daisy.streamline:streamline-cli:0.3.0' compile 'org.daisy.streamline:streamline-cli:0.4.0'
compile ('org.daisy.braille:braille-utils.pef-tools:3.0.0') { compile ('org.daisy.braille:braille-utils.pef-tools:3.0.0') {
exclude module: 'Saxon-HE' exclude module: 'Saxon-HE'
} }
Expand Down
32 changes: 24 additions & 8 deletions src/org/daisy/dotify/cli/Convert.java
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -32,20 +32,22 @@
import org.daisy.dotify.consumer.tasks.TaskGroupFactoryMaker; import org.daisy.dotify.consumer.tasks.TaskGroupFactoryMaker;
import org.daisy.dotify.consumer.translator.BrailleTranslatorFactoryMaker; import org.daisy.dotify.consumer.translator.BrailleTranslatorFactoryMaker;
import org.daisy.dotify.tasks.runner.DefaultTempFileWriter; import org.daisy.dotify.tasks.runner.DefaultTempFileWriter;
import org.daisy.streamline.cli.AbstractUI;
import org.daisy.streamline.cli.Argument; import org.daisy.streamline.cli.Argument;
import org.daisy.streamline.cli.CommandDetails;
import org.daisy.streamline.cli.CommandParser;
import org.daisy.streamline.cli.CommandParserResult; import org.daisy.streamline.cli.CommandParserResult;
import org.daisy.streamline.cli.Definition; import org.daisy.streamline.cli.Definition;
import org.daisy.streamline.cli.ExitCode; import org.daisy.streamline.cli.ExitCode;
import org.daisy.streamline.cli.OptionalArgument; import org.daisy.streamline.cli.OptionalArgument;
import org.daisy.streamline.cli.SwitchArgument; import org.daisy.streamline.cli.SwitchArgument;
import org.daisy.streamline.cli.SwitchMap;
import org.xml.sax.SAXException; import org.xml.sax.SAXException;


/** /**
* Provides a command line entry point to Dotify. * Provides a command line entry point to Dotify.
* @author Joel Håkansson * @author Joel Håkansson
*/ */
public class Convert extends AbstractUI { public class Convert implements CommandDetails {
private static final Logger logger = Logger.getLogger(Convert.class.getCanonicalName()); private static final Logger logger = Logger.getLogger(Convert.class.getCanonicalName());
//private static final String DEFAULT_TEMPLATE = "A4-w32"; //private static final String DEFAULT_TEMPLATE = "A4-w32";
private static final String DEFAULT_LOCALE = Locale.getDefault().toString().replaceAll("_", "-"); private static final String DEFAULT_LOCALE = Locale.getDefault().toString().replaceAll("_", "-");
Expand All @@ -58,16 +60,21 @@ public class Convert extends AbstractUI {


private final List<Argument> reqArgs; private final List<Argument> reqArgs;
private final List<OptionalArgument> optionalArgs; private final List<OptionalArgument> optionalArgs;
private final SwitchMap switches;
private final BrailleUtilsInfo brailleInfo; private final BrailleUtilsInfo brailleInfo;
private final CommandParser parser;


public Convert() { public Convert() {
this.brailleInfo = new BrailleUtilsInfo(); this.brailleInfo = new BrailleUtilsInfo();
//Use lazy loading of argument details //Use lazy loading of argument details
this.reqArgs = new ArrayList<Argument>(); this.reqArgs = new ArrayList<Argument>();
this.optionalArgs = new ArrayList<OptionalArgument>(); this.optionalArgs = new ArrayList<OptionalArgument>();
parser.addSwitch(new SwitchArgument('w', WATCH_KEY, WATCH_KEY, "" + DEFAULT_POLL_TIME, "Keeps the conversion in sync by watching the input file for changes and rerunning the conversion automatically when the input is modified.")); this.switches = new SwitchMap.Builder()
parser.addSwitch(new SwitchArgument('o', SystemKeys.LIST_OPTIONS, SystemKeys.LIST_OPTIONS, "true", "Lists additional options as the conversion runs.")); .addSwitch(new SwitchArgument('w', WATCH_KEY, WATCH_KEY, "" + DEFAULT_POLL_TIME, "Keeps the conversion in sync by watching the input file for changes and rerunning the conversion automatically when the input is modified."))
parser.addSwitch(new SwitchArgument('c', CONFIG_KEY, META_KEY, CONFIG_KEY, "Lists known configurations.")); .addSwitch(new SwitchArgument('o', SystemKeys.LIST_OPTIONS, SystemKeys.LIST_OPTIONS, "true", "Lists additional options as the conversion runs."))
.addSwitch(new SwitchArgument('c', CONFIG_KEY, META_KEY, CONFIG_KEY, "Lists known configurations."))
.build();
this.parser = CommandParser.create(this);
} }


/** /**
Expand All @@ -94,13 +101,13 @@ public static void main(String[] args) throws InternalTaskException, IOException
System.out.println("Expected at least two arguments"); System.out.println("Expected at least two arguments");


System.out.println(); System.out.println();
m.displayHelp(System.out); m.parser.displayHelp(System.out);
ExitCode.MISSING_ARGUMENT.exitSystem(); ExitCode.MISSING_ARGUMENT.exitSystem();
} }
} else if (p.size()>2) { } else if (p.size()>2) {
System.out.println("Unknown argument(s): " + p.subList(2, p.size())); System.out.println("Unknown argument(s): " + p.subList(2, p.size()));
System.out.println(); System.out.println();
m.displayHelp(System.out); m.parser.displayHelp(System.out);
ExitCode.UNKNOWN_ARGUMENT.exitSystem(); ExitCode.UNKNOWN_ARGUMENT.exitSystem();
} }
// remove required arguments // remove required arguments
Expand Down Expand Up @@ -225,7 +232,11 @@ private void runDotify(File input, File output, String context, HashMap<String,
// create brl // create brl
HashMap<String, String> p = new HashMap<String, String>(); HashMap<String, String> p = new HashMap<String, String>();
p.put(PEFConverterFacade.KEY_TABLE, props.get(PEFConverterFacade.KEY_TABLE)); p.put(PEFConverterFacade.KEY_TABLE, props.get(PEFConverterFacade.KEY_TABLE));
expandShortForm(p, PEFConverterFacade.KEY_TABLE, brailleInfo.getShortFormResolver()); try {
brailleInfo.getShortFormResolver().expandShortForm(p, PEFConverterFacade.KEY_TABLE);
} catch (IllegalArgumentException e) {
ExitCode.ILLEGAL_ARGUMENT_VALUE.exitSystem(e.getMessage());
}
File f = new File(output.getParentFile(), output.getName() + ".brl"); File f = new File(output.getParentFile(), output.getName() + ".brl");
logger.info("Writing brl to " + f.getAbsolutePath()); logger.info("Writing brl to " + f.getAbsolutePath());
try (FileOutputStream os = new FileOutputStream(f)) { try (FileOutputStream os = new FileOutputStream(f)) {
Expand Down Expand Up @@ -310,4 +321,9 @@ public List<OptionalArgument> getOptionalArguments() {
return optionalArgs; return optionalArgs;
} }


@Override
public SwitchMap getSwitches() {
return switches;
}

} }
38 changes: 26 additions & 12 deletions src/org/daisy/dotify/cli/DotifyCLI.java
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -12,20 +12,22 @@


import org.daisy.braille.utils.pef.FileTools; import org.daisy.braille.utils.pef.FileTools;
import org.daisy.dotify.SystemProperties; import org.daisy.dotify.SystemProperties;
import org.daisy.streamline.cli.AbstractUI;
import org.daisy.streamline.cli.Argument; import org.daisy.streamline.cli.Argument;
import org.daisy.streamline.cli.CommandDetails;
import org.daisy.streamline.cli.CommandParser;
import org.daisy.streamline.cli.CommandParserResult; import org.daisy.streamline.cli.CommandParserResult;
import org.daisy.streamline.cli.Definition; import org.daisy.streamline.cli.Definition;
import org.daisy.streamline.cli.ExitCode; import org.daisy.streamline.cli.ExitCode;
import org.daisy.streamline.cli.OptionalArgument; import org.daisy.streamline.cli.OptionalArgument;
import org.daisy.streamline.cli.SwitchArgument; import org.daisy.streamline.cli.SwitchArgument;
import org.daisy.streamline.cli.SwitchMap;


/** /**
* Provides a basic command line UI for core functionality in * Provides a basic command line UI for core functionality in
* org.daisy.braille. * org.daisy.braille.
* @author Joel Håkansson * @author Joel Håkansson
*/ */
public class DotifyCLI extends AbstractUI { public class DotifyCLI implements CommandDetails {
public static final String EMBOSS = "emboss"; public static final String EMBOSS = "emboss";
public static final String TEXT2PEF = "text2pef"; public static final String TEXT2PEF = "text2pef";
public static final String PEF2TEXT = "pef2text"; public static final String PEF2TEXT = "pef2text";
Expand All @@ -48,8 +50,10 @@ public class DotifyCLI extends AbstractUI {
private final String[] args; private final String[] args;
private final Logger logger; private final Logger logger;


private final Map<String, Class<? extends AbstractUI>> commands; private final Map<String, Class<? extends CommandDetails>> commands;
private final SwitchMap switches;
private final List<Definition> values; private final List<Definition> values;
private final CommandParser parser;


/** /**
* Creates a new Basic UI * Creates a new Basic UI
Expand Down Expand Up @@ -80,8 +84,11 @@ public DotifyCLI(String[] args) {


//Diagnostics commands //Diagnostics commands
putCommand(GENERATE, "generates a random PEF-file for testing", GeneratePEF.class); putCommand(GENERATE, "generates a random PEF-file for testing", GeneratePEF.class);
this.switches = new SwitchMap.Builder()
.addSwitch(new SwitchArgument('v', VERSION_KEY, META_KEY, VERSION_KEY, "Displays version information."))
.build();
putCommand(LIST, "lists stuff", ListStuff.class); putCommand(LIST, "lists stuff", ListStuff.class);
parser.addSwitch(new SwitchArgument('v', VERSION_KEY, META_KEY, VERSION_KEY, "Displays version information.")); this.parser = CommandParser.create(this);


//Help //Help
values.add(new Definition(HELP, "Without additional arguments, this text is displayed. To get help on a specific command, type help <command>")); values.add(new Definition(HELP, "Without additional arguments, this text is displayed. To get help on a specific command, type help <command>"));
Expand All @@ -95,7 +102,7 @@ public DotifyCLI(String[] args) {
}*/ }*/
} }


protected void putCommand(String cmd, String desc, Class<? extends AbstractUI> c) { protected void putCommand(String cmd, String desc, Class<? extends CommandDetails> c) {
values.add(new Definition(cmd, desc)); values.add(new Definition(cmd, desc));
commands.put(cmd, c); commands.put(cmd, c);
} }
Expand Down Expand Up @@ -125,24 +132,26 @@ public void run() throws Exception {
if (args.length<1) { if (args.length<1) {
System.out.println("Expected at least one argument."); System.out.println("Expected at least one argument.");
System.out.println(); System.out.println();
displayHelp(System.out); parser.displayHelp(System.out);
ExitCode.MISSING_ARGUMENT.exitSystem(); ExitCode.MISSING_ARGUMENT.exitSystem();
} }
setPluginsDir(new File("plugins")); setPluginsDir(new File("plugins"));
if (HELP.equalsIgnoreCase(args[0])) { if (HELP.equalsIgnoreCase(args[0])) {
if (args.length>=2) { if (args.length>=2) {
Class<? extends AbstractUI> clazz = commands.get(args[1]); Class<? extends CommandDetails> clazz = commands.get(args[1]);
if (clazz!=null) { if (clazz!=null) {
AbstractUI ui = clazz.newInstance(); CommandDetails ui = clazz.newInstance();
ui.displayHelp(System.out); new CommandParser.Builder(ui)
.build()
.displayHelp(System.out);
ExitCode.OK.exitSystem(); ExitCode.OK.exitSystem();
} else { } else {
System.out.println("Unknown argument '" + args[1] + "'"); System.out.println("Unknown argument '" + args[1] + "'");
displayHelp(System.out); parser.displayHelp(System.out);
ExitCode.UNKNOWN_ARGUMENT.exitSystem(); ExitCode.UNKNOWN_ARGUMENT.exitSystem();
} }
} }
displayHelp(System.out); parser.displayHelp(System.out);
} else { } else {
CommandParserResult result = parser.parse(args); CommandParserResult result = parser.parse(args);
if (result.getRequired().isEmpty() && VERSION_KEY.equals(result.getOptional().get(META_KEY))) { if (result.getRequired().isEmpty() && VERSION_KEY.equals(result.getOptional().get(META_KEY))) {
Expand All @@ -157,7 +166,7 @@ public void run() throws Exception {
method.invoke(null, (Object)getArgsSubList(1)); method.invoke(null, (Object)getArgsSubList(1));
} else { } else {
System.out.println("Unknown argument '" + args[0] + "'"); System.out.println("Unknown argument '" + args[0] + "'");
displayHelp(System.out); parser.displayHelp(System.out);
ExitCode.UNKNOWN_ARGUMENT.exitSystem(); ExitCode.UNKNOWN_ARGUMENT.exitSystem();
} }
} }
Expand Down Expand Up @@ -216,4 +225,9 @@ public String getVersion() {
public String getBuildIdentifier() { public String getBuildIdentifier() {
return SystemProperties.SYSTEM_BUILD; return SystemProperties.SYSTEM_BUILD;
} }

@Override
public SwitchMap getSwitches() {
return switches;
}
} }
26 changes: 21 additions & 5 deletions src/org/daisy/dotify/cli/EmbossPEF.java
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -59,20 +59,26 @@
import org.daisy.braille.utils.pef.PrinterDevice; import org.daisy.braille.utils.pef.PrinterDevice;
import org.daisy.braille.utils.pef.Range; import org.daisy.braille.utils.pef.Range;
import org.daisy.braille.utils.pef.UnsupportedWidthException; import org.daisy.braille.utils.pef.UnsupportedWidthException;
import org.daisy.streamline.cli.AbstractUI;
import org.daisy.streamline.cli.Argument; import org.daisy.streamline.cli.Argument;
import org.daisy.streamline.cli.CommandDetails;
import org.daisy.streamline.cli.CommandParser;
import org.daisy.streamline.cli.CommandParserResult; import org.daisy.streamline.cli.CommandParserResult;
import org.daisy.streamline.cli.ExitCode; import org.daisy.streamline.cli.ExitCode;
import org.daisy.streamline.cli.OptionalArgument; import org.daisy.streamline.cli.OptionalArgument;
import org.daisy.streamline.cli.SwitchArgument; import org.daisy.streamline.cli.SwitchArgument;
import org.daisy.streamline.cli.SwitchMap;
import org.xml.sax.SAXException; import org.xml.sax.SAXException;


/** /**
* Provides a UI for embossing a PEF-file. * Provides a UI for embossing a PEF-file.
* Not for public use. This class is a package class. Use DotifyCLI * Not for public use. This class is a package class. Use DotifyCLI
* @author Joel Håkansson * @author Joel Håkansson
*/ */
class EmbossPEF extends AbstractUI { class EmbossPEF implements CommandDetails {
/**
* Prefix used for required arguments in the arguments map
*/
public static final String ARG_PREFIX = "required-";
public static final String DEVICE_NAME = "device name"; public static final String DEVICE_NAME = "device name";
public static final String EMBOSSER_TYPE = "embosser type"; public static final String EMBOSSER_TYPE = "embosser type";
public static final String TABLE_TYPE = "table type"; public static final String TABLE_TYPE = "table type";
Expand All @@ -86,6 +92,8 @@ class EmbossPEF extends AbstractUI {


private final List<Argument> reqArgs; private final List<Argument> reqArgs;
private final List<OptionalArgument> optionalArgs; private final List<OptionalArgument> optionalArgs;
private final SwitchMap switches;
private final CommandParser parser;


private String deviceName; private String deviceName;
private Embosser type; private Embosser type;
Expand All @@ -105,8 +113,11 @@ public EmbossPEF() {
optionalArgs.add(new OptionalArgument(KEY_RANGE, "Emboss a range of pages", "1-")); optionalArgs.add(new OptionalArgument(KEY_RANGE, "Emboss a range of pages", "1-"));
optionalArgs.add(new OptionalArgument(KEY_COPIES, "Set copies", "1")); optionalArgs.add(new OptionalArgument(KEY_COPIES, "Set copies", "1"));
optionalArgs.add(new OptionalArgument(KEY_DIR, "Send the embosser data to a folder instead of the specified device.", "")); optionalArgs.add(new OptionalArgument(KEY_DIR, "Send the embosser data to a folder instead of the specified device.", ""));
parser.addSwitch(new SwitchArgument("clear", "settings", "clear", "To clear settings")); this.switches = new SwitchMap.Builder()
parser.addSwitch(new SwitchArgument("setup", "settings", "setup", "To change setup")); .addSwitch(new SwitchArgument("clear", "settings", "clear", "To clear settings"))
.addSwitch(new SwitchArgument("setup", "settings", "setup", "To change setup"))
.build();
this.parser = CommandParser.create(this);
} }


protected void readSetup(boolean verify) { protected void readSetup(boolean verify) {
Expand Down Expand Up @@ -219,7 +230,7 @@ public static void main(String[] args) throws BackingStoreException {
if (args.length<1) { if (args.length<1) {
System.out.println("Expected at least one more argument."); System.out.println("Expected at least one more argument.");
System.out.println(); System.out.println();
ui.displayHelp(System.out); ui.parser.displayHelp(System.out);
ExitCode.MISSING_ARGUMENT.exitSystem(); ExitCode.MISSING_ARGUMENT.exitSystem();
} }


Expand Down Expand Up @@ -373,4 +384,9 @@ public List<OptionalArgument> getOptionalArguments() {
return optionalArgs; return optionalArgs;
} }


@Override
public SwitchMap getSwitches() {
return switches;
}

} }
20 changes: 16 additions & 4 deletions src/org/daisy/dotify/cli/EvaluateCLI.java
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -8,30 +8,37 @@


import org.daisy.dotify.api.obfl.Expression; import org.daisy.dotify.api.obfl.Expression;
import org.daisy.dotify.consumer.obfl.ExpressionFactoryMaker; import org.daisy.dotify.consumer.obfl.ExpressionFactoryMaker;
import org.daisy.streamline.cli.AbstractUI;
import org.daisy.streamline.cli.Argument; import org.daisy.streamline.cli.Argument;
import org.daisy.streamline.cli.CommandDetails;
import org.daisy.streamline.cli.CommandParser;
import org.daisy.streamline.cli.CommandParserResult; import org.daisy.streamline.cli.CommandParserResult;
import org.daisy.streamline.cli.ExitCode; import org.daisy.streamline.cli.ExitCode;
import org.daisy.streamline.cli.OptionalArgument; import org.daisy.streamline.cli.OptionalArgument;
import org.daisy.streamline.cli.SwitchArgument; import org.daisy.streamline.cli.SwitchArgument;
import org.daisy.streamline.cli.SwitchMap;


public class EvaluateCLI extends AbstractUI { public class EvaluateCLI implements CommandDetails {
private final static String META_KEY = "meta"; private final static String META_KEY = "meta";
private final static String HELP_KEY = "help"; private final static String HELP_KEY = "help";
private final List<Argument> reqArgs; private final List<Argument> reqArgs;
private final List<OptionalArgument> optionalArgs; private final List<OptionalArgument> optionalArgs;
private final SwitchMap switches;
private final CommandParser parser;


public EvaluateCLI() { public EvaluateCLI() {
this.reqArgs = new ArrayList<Argument>(); this.reqArgs = new ArrayList<Argument>();
this.optionalArgs = new ArrayList<OptionalArgument>(); this.optionalArgs = new ArrayList<OptionalArgument>();
parser.addSwitch(new SwitchArgument('h', HELP_KEY, META_KEY, HELP_KEY, "Help text.")); this.switches = new SwitchMap.Builder()
.addSwitch(new SwitchArgument('h', HELP_KEY, META_KEY, HELP_KEY, "Help text."))
.build();
this.parser = CommandParser.create(this);
} }


public static void main(String[] args) throws IOException { public static void main(String[] args) throws IOException {
EvaluateCLI m = new EvaluateCLI(); EvaluateCLI m = new EvaluateCLI();
CommandParserResult result = m.parser.parse(args); CommandParserResult result = m.parser.parse(args);
if (HELP_KEY.equals(result.getOptional().get(META_KEY))) { if (HELP_KEY.equals(result.getOptional().get(META_KEY))) {
m.displayHelp(System.out); m.parser.displayHelp(System.out);
ExitCode.OK.exitSystem(); ExitCode.OK.exitSystem();
} else { } else {
m.runCLI(result); m.runCLI(result);
Expand Down Expand Up @@ -77,4 +84,9 @@ public List<Argument> getRequiredArguments() {
return reqArgs; return reqArgs;
} }


@Override
public SwitchMap getSwitches() {
return switches;
}

} }
22 changes: 17 additions & 5 deletions src/org/daisy/dotify/cli/FindPEF.java
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -38,22 +38,26 @@
import org.daisy.dotify.cli.pefinfo.DetailSet; import org.daisy.dotify.cli.pefinfo.DetailSet;
import org.daisy.dotify.cli.pefinfo.PEFBookInfo; import org.daisy.dotify.cli.pefinfo.PEFBookInfo;
import org.daisy.dotify.cli.pefinfo.URIDetail; import org.daisy.dotify.cli.pefinfo.URIDetail;
import org.daisy.streamline.cli.AbstractUI;
import org.daisy.streamline.cli.Argument; import org.daisy.streamline.cli.Argument;
import org.daisy.streamline.cli.CommandDetails;
import org.daisy.streamline.cli.CommandParser;
import org.daisy.streamline.cli.CommandParserResult; import org.daisy.streamline.cli.CommandParserResult;
import org.daisy.streamline.cli.ExitCode; import org.daisy.streamline.cli.ExitCode;
import org.daisy.streamline.cli.OptionalArgument; import org.daisy.streamline.cli.OptionalArgument;
import org.daisy.streamline.cli.SwitchArgument; import org.daisy.streamline.cli.SwitchArgument;
import org.daisy.streamline.cli.SwitchMap;
import org.xml.sax.SAXException; import org.xml.sax.SAXException;


/** /**
* Provides a UI for finding PEF-files. Not for public use. * Provides a UI for finding PEF-files. Not for public use.
* This class is a package class. Use DotifyCLI * This class is a package class. Use DotifyCLI
* @author Joel Håkansson * @author Joel Håkansson
*/ */
class FindPEF extends AbstractUI { class FindPEF implements CommandDetails {
private final List<Argument> reqArgs; private final List<Argument> reqArgs;
private final List<OptionalArgument> optionalArgs; private final List<OptionalArgument> optionalArgs;
private final SwitchMap switches;
private final CommandParser parser;


private static final String FOLDER_KEY = "folder"; private static final String FOLDER_KEY = "folder";
private static final String RECURSIVE_KEY = "recursive"; private static final String RECURSIVE_KEY = "recursive";
Expand All @@ -63,16 +67,19 @@ public FindPEF() {
reqArgs = new ArrayList<Argument>(); reqArgs = new ArrayList<Argument>();
optionalArgs = new ArrayList<OptionalArgument>(); optionalArgs = new ArrayList<OptionalArgument>();
optionalArgs.add(new OptionalArgument(FOLDER_KEY, "Folder path", (new File("")).getAbsolutePath())); optionalArgs.add(new OptionalArgument(FOLDER_KEY, "Folder path", (new File("")).getAbsolutePath()));
parser.addSwitch(new SwitchArgument('r', RECURSIVE_KEY, "true", "Include subfolders in the scan.")); this.switches = new SwitchMap.Builder()
parser.addSwitch(new SwitchArgument('i', INTERACTIVE_KEY, "true", "Starts an interactive shell for repeated queries.")); .addSwitch(new SwitchArgument('r', RECURSIVE_KEY, "true", "Include subfolders in the scan."))
.addSwitch(new SwitchArgument('i', INTERACTIVE_KEY, "true", "Starts an interactive shell for repeated queries."))
.build();
this.parser = CommandParser.create(this);
} }


public static void main(String[] args) throws FileNotFoundException { public static void main(String[] args) throws FileNotFoundException {
FindPEF ui = new FindPEF(); FindPEF ui = new FindPEF();
if (args.length<1) { if (args.length<1) {
System.out.println("Expected at least one more argument."); System.out.println("Expected at least one more argument.");
System.out.println(); System.out.println();
ui.displayHelp(System.out); ui.parser.displayHelp(System.out);
ExitCode.MISSING_ARGUMENT.exitSystem(); ExitCode.MISSING_ARGUMENT.exitSystem();
} }
CommandParserResult pr = ui.parser.parse(args); CommandParserResult pr = ui.parser.parse(args);
Expand Down Expand Up @@ -146,4 +153,9 @@ public String getDescription() {
return "Finds PEF-files."; return "Finds PEF-files.";
} }


@Override
public SwitchMap getSwitches() {
return switches;
}

} }
Loading

0 comments on commit 4ee977f

Please sign in to comment.