List of usage examples for org.apache.commons.cli OptionBuilder withArgName
public static OptionBuilder withArgName(String name)
From source file:com.sanaldiyar.projects.nanohttpd.nanoinstaller.App.java
public static void main(String[] args) { try {/*w w w.j a v a 2 s .com*/ String executableName = new File( App.class.getProtectionDomain().getCodeSource().getLocation().getPath()).getName(); Options options = new Options(); Option destination = OptionBuilder.withArgName("folder").withLongOpt("destination").hasArgs(1) .withDescription("destionation folder").withType(String.class).create("d"); Option lrfolder = OptionBuilder.withArgName("folder").withLongOpt("localrepo").hasArgs(1) .withDescription("local repository folder").withType(String.class).create("lr"); Option rmlrfolder = OptionBuilder.withLongOpt("deletelocalrepo").hasArg(false) .withDescription("delete local repository after installation").create("dlr"); Option help = OptionBuilder.withLongOpt("help").withDescription("print this help").create("h"); options.addOption(destination); options.addOption(lrfolder); options.addOption(rmlrfolder); options.addOption(help); HelpFormatter helpFormatter = new HelpFormatter(); CommandLineParser commandLineParser = new PosixParser(); CommandLine commands; try { commands = commandLineParser.parse(options, args); } catch (ParseException ex) { System.out.println("Error at parsing arguments"); helpFormatter.printHelp("java -jar " + executableName, options); return; } if (commands.hasOption("h")) { helpFormatter.printHelp("java -jar " + executableName, options); return; } String sdest = commands.getOptionValue("d", "./nanosystem"); System.out.println("The nano system will be installed into " + sdest); File dest = new File(sdest); if (dest.exists()) { FileUtils.deleteDirectory(dest); } dest.mkdirs(); File bin = new File(dest, "bin"); bin.mkdir(); File bundle = new File(dest, "bundle"); bundle.mkdir(); File conf = new File(dest, "conf"); conf.mkdir(); File core = new File(dest, "core"); core.mkdir(); File logs = new File(dest, "logs"); logs.mkdir(); File nanohttpdcore = new File(dest, "nanohttpd-core"); nanohttpdcore.mkdir(); File nanohttpdservices = new File(dest, "nanohttpd-services"); nanohttpdservices.mkdir(); File temp = new File(dest, "temp"); temp.mkdir(); File apps = new File(dest, "apps"); apps.mkdir(); File local = new File(commands.getOptionValue("lr", "./local-repository")); Collection<RemoteRepository> repositories = Arrays.asList( new RemoteRepository("sanaldiyar-snap", "default", "http://maven2.sanaldiyar.com/snap-repo"), new RemoteRepository("central", "default", "http://repo1.maven.org/maven2/")); Aether aether = new Aether(repositories, local); //Copy core felix main System.out.println("Downloading Felix main executable"); List<Artifact> felixmain = aether.resolve( new DefaultArtifact("org.apache.felix", "org.apache.felix.main", "jar", "LATEST"), "runtime"); for (Artifact artifact : felixmain) { if (artifact.getArtifactId().equals("org.apache.felix.main")) { FileUtils.copyFile(artifact.getFile(), new File(bin, "felix-main.jar")); System.out.println(artifact.getArtifactId()); break; } } System.out.println("OK"); //Copy core felix bundles System.out.println("Downloading Felix core bundles"); Collection<String> felixcorebundles = Arrays.asList("fileinstall", "bundlerepository", "gogo.runtime", "gogo.shell", "gogo.command"); for (String felixcorebunlde : felixcorebundles) { List<Artifact> felixcore = aether.resolve(new DefaultArtifact("org.apache.felix", "org.apache.felix." + felixcorebunlde, "jar", "LATEST"), "runtime"); for (Artifact artifact : felixcore) { if (artifact.getArtifactId().equals("org.apache.felix." + felixcorebunlde)) { FileUtils.copyFileToDirectory(artifact.getFile(), core); System.out.println(artifact.getArtifactId()); } } } System.out.println("OK"); //Copy nanohttpd core bundles System.out.println("Downloading nanohttpd core bundles and configurations"); List<Artifact> nanohttpdcorebundle = aether.resolve( new DefaultArtifact("com.sanaldiyar.projects.nanohttpd", "nanohttpd", "jar", "LATEST"), "runtime"); for (Artifact artifact : nanohttpdcorebundle) { if (!artifact.getArtifactId().equals("org.osgi.core")) { FileUtils.copyFileToDirectory(artifact.getFile(), nanohttpdcore); System.out.println(artifact.getArtifactId()); } } nanohttpdcorebundle = aether.resolve( new DefaultArtifact("com.sanaldiyar.projects", "engender", "jar", "LATEST"), "runtime"); for (Artifact artifact : nanohttpdcorebundle) { FileUtils.copyFileToDirectory(artifact.getFile(), nanohttpdcore); System.out.println(artifact.getArtifactId()); } nanohttpdcorebundle = aether.resolve( new DefaultArtifact("org.codehaus.jackson", "jackson-mapper-asl", "jar", "1.9.5"), "runtime"); for (Artifact artifact : nanohttpdcorebundle) { FileUtils.copyFileToDirectory(artifact.getFile(), nanohttpdcore); System.out.println(artifact.getArtifactId()); } nanohttpdcorebundle = aether .resolve(new DefaultArtifact("org.mongodb", "mongo-java-driver", "jar", "LATEST"), "runtime"); for (Artifact artifact : nanohttpdcorebundle) { FileUtils.copyFileToDirectory(artifact.getFile(), nanohttpdcore); System.out.println(artifact.getArtifactId()); } //Copy nanohttpd conf FileUtils.copyInputStreamToFile(App.class.getResourceAsStream("/nanohttpd.conf"), new File(dest, "nanohttpd.conf")); System.out.println("Configuration: nanohttpd.conf"); //Copy nanohttpd start script File startsh = new File(dest, "start.sh"); FileUtils.copyInputStreamToFile(App.class.getResourceAsStream("/start.sh"), startsh); startsh.setExecutable(true); System.out.println("Script: start.sh"); System.out.println("OK"); //Copy nanohttpd service bundles System.out.println("Downloading nanohttpd service bundles"); List<Artifact> nanohttpdservicebundle = aether .resolve(new DefaultArtifact("com.sanaldiyar.projects.nanohttpd", "mongodbbasedsessionhandler", "jar", "1.0-SNAPSHOT"), "runtime"); for (Artifact artifact : nanohttpdservicebundle) { if (artifact.getArtifactId().equals("mongodbbasedsessionhandler")) { FileUtils.copyFileToDirectory(artifact.getFile(), nanohttpdservices); System.out.println(artifact.getArtifactId()); break; } } //Copy nanohttpd mongodbbasedsessionhandler conf FileUtils.copyInputStreamToFile(App.class.getResourceAsStream("/mdbbasedsh.conf"), new File(dest, "mdbbasedsh.conf")); System.out.println("Configuration: mdbbasedsh.conf"); System.out.println("OK"); if (commands.hasOption("dlr")) { System.out.println("Local repository is deleting"); FileUtils.deleteDirectory(local); System.out.println("OK"); } System.out.println("You can reconfigure nanohttpd and services. To start system run start.sh script"); } catch (Exception ex) { System.out.println("Error at installing."); } }
From source file:com.commonsware.android.gcm.cmd.GCM.java
@SuppressWarnings("static-access") public static void main(String[] args) { Option helpOpt = new Option("h", "help", false, "print this message"); Option apiKeyOpt = OptionBuilder.withArgName("key").hasArg().isRequired().withDescription("GCM API key") .withLongOpt("apiKey").create('a'); Option deviceOpt = OptionBuilder.withArgName("regId").hasArg().isRequired() .withDescription("device to send to").withLongOpt("device").create('d'); Option dataOpt = OptionBuilder.withArgName("key=value").hasArgs(2).withDescription("datum to send") .withValueSeparator().withLongOpt("data").create('D'); Options options = new Options(); options.addOption(apiKeyOpt);//w w w. j a v a 2s.com options.addOption(deviceOpt); options.addOption(dataOpt); options.addOption(helpOpt); CommandLineParser parser = new PosixParser(); try { CommandLine line = parser.parse(options, args); if (line.hasOption('h') || !line.hasOption('a') || !line.hasOption('d')) { HelpFormatter formatter = new HelpFormatter(); formatter.printHelp("gcm", options, true); } else { sendMessage(line.getOptionValue('a'), Arrays.asList(line.getOptionValues('d')), line.getOptionProperties("data")); } } catch (org.apache.commons.cli.MissingOptionException moe) { System.err.println("Invalid command syntax"); HelpFormatter formatter = new HelpFormatter(); formatter.printHelp("gcm", options, true); } catch (Exception e) { e.printStackTrace(); } }
From source file:demo.learn.shiro.tool.PasswordEncryptionTool.java
/** * Main method./*from w w w . ja v a 2 s .com*/ * @param args Requires a plain text password. */ @SuppressWarnings("static-access") public static void main(String[] args) { String plainTextPassword = "root"; Option p = OptionBuilder.withArgName("password").hasArg().withDescription("plain text password") .isRequired(false).create('p'); Options options = new Options(); options.addOption(p); try { CommandLineParser parser = new BasicParser(); CommandLine cmd = parser.parse(options, args); if (cmd.hasOption("p")) { plainTextPassword = cmd.getOptionValue("p"); } } catch (ParseException pe) { String cmdLineSyntax = "java -cp %CLASSPATH% demo.learn.shiro.tool.PasswordEncryptionTool"; HelpFormatter formatter = new HelpFormatter(); formatter.printHelp(cmdLineSyntax, options, false); return; } final RandomNumberGenerator rng = new SecureRandomNumberGenerator(); final ByteSource salt = rng.nextBytes(); final String saltBase64 = Base64.encodeToString(salt.getBytes()); final String hashedPasswordBase64 = new Sha256Hash(plainTextPassword, salt, S.HASH_ITER).toBase64(); System.out.print("-p " + plainTextPassword); System.out.print(" -h " + hashedPasswordBase64); System.out.println(" -s " + saltBase64); }
From source file:cc.twittertools.index.ExtractTweetidsFromIndex.java
@SuppressWarnings("static-access") public static void main(String[] args) throws Exception { Options options = new Options(); options.addOption(/*from w w w . j a v a 2 s .c o m*/ OptionBuilder.withArgName("dir").hasArg().withDescription("index location").create(INDEX_OPTION)); CommandLine cmdline = null; CommandLineParser parser = new GnuParser(); try { cmdline = parser.parse(options, args); } catch (ParseException exp) { System.err.println("Error parsing command line: " + exp.getMessage()); System.exit(-1); } if (!cmdline.hasOption(INDEX_OPTION)) { HelpFormatter formatter = new HelpFormatter(); formatter.printHelp(ExtractTweetidsFromIndex.class.getName(), options); System.exit(-1); } File indexLocation = new File(cmdline.getOptionValue(INDEX_OPTION)); if (!indexLocation.exists()) { System.err.println("Error: " + indexLocation + " does not exist!"); System.exit(-1); } IndexReader reader = DirectoryReader.open(FSDirectory.open(indexLocation)); PrintStream out = new PrintStream(System.out, true, "UTF-8"); for (int i = 0; i < reader.maxDoc(); i++) { Document doc = reader.document(i); out.println(doc.getField(StatusField.ID.name).stringValue() + "\t" + doc.getField(StatusField.SCREEN_NAME.name).stringValue()); } out.close(); reader.close(); }
From source file:com.hurence.logisland.runner.SparkJobLauncher.java
/** * main entry point//from ww w . j a v a 2 s. c om * * @param args */ public static void main(String[] args) { logger.info("starting StreamProcessingRunner"); ////////////////////////////////////////// // Commande lien management Parser parser = new GnuParser(); Options options = new Options(); String helpMsg = "Print this message."; Option help = new Option("help", helpMsg); options.addOption(help); OptionBuilder.withArgName(AGENT); OptionBuilder.withLongOpt("agent-quorum"); OptionBuilder.isRequired(); OptionBuilder.hasArg(); OptionBuilder.withDescription("logisland agent quorum like host1:8081,host2:8081"); Option agent = OptionBuilder.create(AGENT); options.addOption(agent); OptionBuilder.withArgName(JOB); OptionBuilder.withLongOpt("job-name"); OptionBuilder.isRequired(); OptionBuilder.hasArg(); OptionBuilder.withDescription("logisland agent quorum like host1:8081,host2:8081"); Option job = OptionBuilder.create(JOB); options.addOption(job); String logisland = " \n" + " ???????? ????? ?? ??\n" + " \n" + " ???? ?? \n" + "?? ?\n" + "??????? ?????? ?????? ?????????????????? ???? ?????????? v0.10.0-SNAPSHOT\n\n\n"; System.out.println(logisland); Optional<EngineContext> engineInstance = Optional.empty(); try { // parse the command line arguments CommandLine line = parser.parse(options, args); String agentQuorum = line.getOptionValue(AGENT); String jobName = line.getOptionValue(JOB); // instanciate engine and all the processor from the config engineInstance = new RestComponentFactory(agentQuorum).getEngineContext(jobName); assert engineInstance.isPresent(); assert engineInstance.get().isValid(); logger.info("starting Logisland session version {}", engineInstance.get()); } catch (Exception e) { logger.error("unable to launch runner : {}", e.toString()); } try { // start the engine EngineContext engineContext = engineInstance.get(); engineInstance.get().getEngine().start(engineContext); } catch (Exception e) { logger.error("something went bad while running the job : {}", e); System.exit(-1); } }
From source file:RedPenRunner.java
public static void main(String[] args) throws Exception { Options options = new Options(); options.addOption("h", "help", false, "help"); options.addOption("v", "version", false, "print the version information and exit"); OptionBuilder.withLongOpt("port"); OptionBuilder.withDescription("port number"); OptionBuilder.hasArg();//from www . j a va 2s. com OptionBuilder.withArgName("PORT"); options.addOption(OptionBuilder.create("p")); OptionBuilder.withLongOpt("key"); OptionBuilder.withDescription("stop key"); OptionBuilder.hasArg(); OptionBuilder.withArgName("STOP_KEY"); options.addOption(OptionBuilder.create("k")); OptionBuilder.withLongOpt("conf"); OptionBuilder.withDescription("configuration file"); OptionBuilder.hasArg(); OptionBuilder.withArgName("CONFIG_FILE"); options.addOption(OptionBuilder.create("c")); OptionBuilder.withLongOpt("lang"); OptionBuilder.withDescription("Language of error messages"); OptionBuilder.hasArg(); OptionBuilder.withArgName("LANGUAGE"); options.addOption(OptionBuilder.create("L")); CommandLineParser parser = new BasicParser(); CommandLine commandLine = null; try { commandLine = parser.parse(options, args); } catch (Exception e) { printHelp(options); System.exit(-1); } int portNum = 8080; String language = "en"; if (commandLine.hasOption("h")) { printHelp(options); System.exit(0); } if (commandLine.hasOption("v")) { System.out.println(RedPen.VERSION); System.exit(0); } if (commandLine.hasOption("p")) { portNum = Integer.parseInt(commandLine.getOptionValue("p")); } if (commandLine.hasOption("L")) { language = commandLine.getOptionValue("L"); } if (isPortTaken(portNum)) { System.err.println("port is taken..."); System.exit(1); } // set language if (language.equals("ja")) { Locale.setDefault(new Locale("ja", "JA")); } else { Locale.setDefault(new Locale("en", "EN")); } final String contextPath = System.getProperty("redpen.home", "/"); Server server = new Server(portNum); ProtectionDomain domain = RedPenRunner.class.getProtectionDomain(); URL location = domain.getCodeSource().getLocation(); HandlerList handlerList = new HandlerList(); if (commandLine.hasOption("key")) { // Add Shutdown handler only when STOP_KEY is specified ShutdownHandler shutdownHandler = new ShutdownHandler(commandLine.getOptionValue("key")); handlerList.addHandler(shutdownHandler); } WebAppContext webapp = new WebAppContext(); webapp.setContextPath(contextPath); if (location.toExternalForm().endsWith("redpen-server/target/classes/")) { // use redpen-server/target/redpen-server instead, because target/classes doesn't contain web resources. webapp.setWar(location.toExternalForm() + "../redpen-server/"); } else { webapp.setWar(location.toExternalForm()); } if (commandLine.hasOption("c")) { webapp.setInitParameter("redpen.conf.path", commandLine.getOptionValue("c")); } handlerList.addHandler(webapp); server.setHandler(handlerList); server.start(); server.join(); }
From source file:edu.usc.pgroup.floe.client.commands.KillApp.java
/** * Entry point for Scale command./*w w w .j a va 2s . c o m*/ * @param args command line arguments sent by the floe.py script. */ public static void main(final String[] args) { Options options = new Options(); Option appOption = OptionBuilder.withArgName("name").hasArg().isRequired() .withDescription("Application Name").create("app"); options.addOption(appOption); CommandLineParser parser = new BasicParser(); CommandLine line; try { line = parser.parse(options, args); } catch (ParseException e) { LOGGER.error("Invalid command: " + e.getMessage()); HelpFormatter formatter = new HelpFormatter(); formatter.printHelp("scale options", options); return; } String app = line.getOptionValue("app"); LOGGER.info("Application: {}", app); try { FloeClient.getInstance().killApp(app); } catch (TException e) { LOGGER.error("Error while connecting to the coordinator: {}", e); } }
From source file:edu.umd.cloud9.example.bigram.AnalyzeBigramCount.java
@SuppressWarnings({ "static-access" }) public static void main(String[] args) { Options options = new Options(); options.addOption(OptionBuilder.withArgName("path").hasArg().withDescription("input path").create(INPUT)); CommandLine cmdline = null;/* ww w. java2 s . c om*/ CommandLineParser parser = new GnuParser(); try { cmdline = parser.parse(options, args); } catch (ParseException exp) { System.err.println("Error parsing command line: " + exp.getMessage()); System.exit(-1); } if (!cmdline.hasOption(INPUT)) { System.out.println("args: " + Arrays.toString(args)); HelpFormatter formatter = new HelpFormatter(); formatter.setWidth(120); formatter.printHelp(AnalyzeBigramCount.class.getName(), options); ToolRunner.printGenericCommandUsage(System.out); System.exit(-1); } String inputPath = cmdline.getOptionValue(INPUT); System.out.println("input path: " + inputPath); List<PairOfWritables<Text, IntWritable>> bigrams = SequenceFileUtils.readDirectory(new Path(inputPath)); Collections.sort(bigrams, new Comparator<PairOfWritables<Text, IntWritable>>() { public int compare(PairOfWritables<Text, IntWritable> e1, PairOfWritables<Text, IntWritable> e2) { if (e2.getRightElement().compareTo(e1.getRightElement()) == 0) { return e1.getLeftElement().compareTo(e2.getLeftElement()); } return e2.getRightElement().compareTo(e1.getRightElement()); } }); int singletons = 0; int sum = 0; for (PairOfWritables<Text, IntWritable> bigram : bigrams) { sum += bigram.getRightElement().get(); if (bigram.getRightElement().get() == 1) { singletons++; } } System.out.println("total number of unique bigrams: " + bigrams.size()); System.out.println("total number of bigrams: " + sum); System.out.println("number of bigrams that appear only once: " + singletons); System.out.println("\nten most frequent bigrams: "); Iterator<PairOfWritables<Text, IntWritable>> iter = Iterators.limit(bigrams.iterator(), 10); while (iter.hasNext()) { PairOfWritables<Text, IntWritable> bigram = iter.next(); System.out.println(bigram.getLeftElement() + "\t" + bigram.getRightElement()); } }
From source file:edu.usc.pgroup.floe.client.commands.SwitchAlternate.java
/** * Entry point for Scale command.//from w ww .j a va2 s . c o m * @param args command line arguments sent by the floe.py script. */ public static void main(final String[] args) { Options options = new Options(); Option appOption = OptionBuilder.withArgName("name").hasArg().isRequired() .withDescription("Application Name").create("app"); Option pelletNameOption = OptionBuilder.withArgName("name").hasArg().isRequired() .withDescription("Pellet Name").create("pellet"); Option alternateOption = OptionBuilder.withArgName("alternate").hasArg().withType(new String()) .withDescription("The new alternate to switch to.").create("alternate"); options.addOption(appOption); options.addOption(pelletNameOption); options.addOption(alternateOption); CommandLineParser parser = new BasicParser(); CommandLine line; try { line = parser.parse(options, args); } catch (ParseException e) { LOGGER.error("Invalid command: " + e.getMessage()); HelpFormatter formatter = new HelpFormatter(); formatter.printHelp("scale options", options); return; } String app = line.getOptionValue("app"); String pellet = line.getOptionValue("pellet"); String alternate = line.getOptionValue("alternate"); LOGGER.info("Application: {}", app); LOGGER.info("Pellet: {}", pellet); LOGGER.info("alternate: {}", alternate); try { FloeClient.getInstance().getClient().switchAlternate(app, pellet, alternate); } catch (TException e) { LOGGER.error("Error while connecting to the coordinator: {}", e); } }
From source file:cc.twittertools.index.ExtractTermStatisticsFromIndex.java
@SuppressWarnings("static-access") public static void main(String[] args) throws Exception { Options options = new Options(); options.addOption(OptionBuilder.withArgName("dir").hasArg().withDescription("index").create(INDEX_OPTION)); options.addOption(OptionBuilder.withArgName("num").hasArg().withDescription("min").create(MIN_OPTION)); CommandLine cmdline = null;/*w w w. j a v a 2 s.com*/ CommandLineParser parser = new GnuParser(); try { cmdline = parser.parse(options, args); } catch (ParseException exp) { System.err.println("Error parsing command line: " + exp.getMessage()); System.exit(-1); } if (!cmdline.hasOption(INDEX_OPTION)) { HelpFormatter formatter = new HelpFormatter(); formatter.printHelp(ExtractTermStatisticsFromIndex.class.getName(), options); System.exit(-1); } String indexLocation = cmdline.getOptionValue(INDEX_OPTION); int min = cmdline.hasOption(MIN_OPTION) ? Integer.parseInt(cmdline.getOptionValue(MIN_OPTION)) : 1; PrintStream out = new PrintStream(System.out, true, "UTF-8"); IndexReader reader = DirectoryReader.open(FSDirectory.open(new File(indexLocation))); Terms terms = SlowCompositeReaderWrapper.wrap(reader).terms(StatusField.TEXT.name); TermsEnum termsEnum = terms.iterator(TermsEnum.EMPTY); long missingCnt = 0; int skippedTerms = 0; BytesRef bytes = new BytesRef(); while ((bytes = termsEnum.next()) != null) { byte[] buf = new byte[bytes.length]; System.arraycopy(bytes.bytes, 0, buf, 0, bytes.length); String term = new String(buf, "UTF-8"); int df = termsEnum.docFreq(); long cf = termsEnum.totalTermFreq(); if (df < min) { skippedTerms++; missingCnt += cf; continue; } out.println(term + "\t" + df + "\t" + cf); } reader.close(); out.close(); System.err.println("skipped terms: " + skippedTerms + ", cnt: " + missingCnt); }