
org.jwat.tools.tasks.pathindex.PathIndexTaskCLIParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jwat-tools Show documentation
Show all versions of jwat-tools Show documentation
JWAT-Tools uses the available JWAT libraries to make high level tasks available either from command-line or programmatically.
Common tasks include: Test, Compress, Decompress, CDX, Arc2Warc.
More specialised tasks include: Changed, ContainerMD, Delete, Extract, Interval, PathIndex, Unpack, Headers2CDX.
package org.jwat.tools.tasks.pathindex;
import java.io.File;
import org.jwat.tools.JWATTools;
import com.antiaction.common.cli.Argument;
import com.antiaction.common.cli.ArgumentParserException;
import com.antiaction.common.cli.ArgumentParser;
import com.antiaction.common.cli.CommandLine;
import com.antiaction.common.cli.Options;
public class PathIndexTaskCLIParser {
public static final int A_OUTPUT = 101;
protected PathIndexTaskCLIParser() {
}
public static PathIndexOptions parseArguments(CommandLine cmdLine) {
Options cliOptions = new Options();
try {
cliOptions.addOption("-o", null, A_OUTPUT, 0, null).setValueRequired();
cliOptions.addNamedArgument("files", JWATTools.A_FILES, 1, Integer.MAX_VALUE);
cmdLine = ArgumentParser.parse(cmdLine.argsArray, cliOptions, cmdLine);
}
catch (ArgumentParserException e) {
System.out.println( PathIndexTaskCLIParser.class.getName() + ": " + e.getMessage() );
System.exit( 1 );
}
PathIndexOptions options = new PathIndexOptions();
Argument argument;
// Output file.
argument = cmdLine.idMap.get( A_OUTPUT );
if ( argument != null && argument.value != null ) {
options.outputFile = new File(argument.value);
if (options.outputFile.isDirectory()) {
System.out.println("Can not output to a directory!");
System.exit(1);
} else if (options.outputFile.getParentFile() != null && !options.outputFile.getParentFile().exists()) {
if (!options.outputFile.getParentFile().mkdirs()) {
System.out.println("Could not create parent directories!");
System.exit(1);
}
}
}
// Files.
argument = cmdLine.idMap.get( JWATTools.A_FILES );
options.filesList = argument.values;
return options;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy