public CliMain(final PrintStream out, final PrintStream err, final String... args) throws Exception { this.parser = new CliParser(args); this.out = out; this.err = err; setupLogging(); }
private Subparser parse(final Subparsers subparsers, final String name) { final Subparser subparser = subparsers.addParser(name, true); addGlobalArgs(subparser, cliConfig); return subparser; } }
public int run() { try { final BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)); return parser.getCommand().run(parser.getNamespace(), parser.getTargets(), out, err, parser.getUsername(), parser.getJson(), stdin); } catch (Exception e) { // print entire stack trace in verbose mode, otherwise just the exception message if (parser.getNamespace().getInt("verbose") > 0) { e.printStackTrace(err); } else { err.println(e.getMessage()); } return 1; } }
private List<Target> computeTargets(final ArgumentParser parser, final List<String> explicitEndpoints, final List<String> domainsArguments, final String srvName) { if (explicitEndpoints != null && !explicitEndpoints.isEmpty()) { final List<Target> targets = Lists.newArrayListWithExpectedSize(explicitEndpoints.size()); for (final String endpoint : explicitEndpoints) { targets.add(Target.from(URI.create(endpoint))); } return targets; } else if (domainsArguments != null && !domainsArguments.isEmpty()) { final Iterable<String> domains = parseDomains(domainsArguments); return Target.from(srvName, domains); } else if (!cliConfig.getMasterEndpoints().isEmpty()) { final List<URI> cliConfigMasterEndpoints = cliConfig.getMasterEndpoints(); final List<Target> targets = Lists.newArrayListWithExpectedSize( cliConfigMasterEndpoints.size()); for (final URI endpoint : cliConfigMasterEndpoints) { targets.add(Target.from(endpoint)); } return targets; } else if (!cliConfig.getDomainsString().isEmpty()) { final Iterable<String> domains = parseDomainsString(cliConfig.getDomainsString()); return Target.from(srvName, domains); } handleError(parser, new ArgumentParserException( "no masters specified. Use the -z or -d option to specify which helios " + "cluster/master to connect to", parser)); return ImmutableList.of(); }
final GlobalArgs globalArgs = addGlobalArgs(parser, cliConfig, true); .title("commands"); setupCommands(); this.options = parser.parseArgs(args); } catch (ArgumentParserException e) { handleError(parser, e); throw e; this.targets = computeTargets(parser, explicitEndpoints, domains, srvName);
private void setupLogging() { final LoggingConfig config = parser.getLoggingConfig(); if (config.getNoLogSetup()) { return; } final int verbose = config.getVerbosity(); final Level level = get(asList(WARN, INFO, DEBUG, ALL), verbose, ALL); final Logger rootLogger = (Logger) LoggerFactory.getLogger(ROOT_LOGGER_NAME); rootLogger.setLevel(level); } }
final GlobalArgs globalArgs = addGlobalArgs(parser, cliConfig, true); .title("commands"); setupCommands(); this.options = parser.parseArgs(args); } catch (ArgumentParserException e) { handleError(parser, e); throw e; this.targets = computeTargets(parser, explicitEndpoints, domains, srvName);
private List<Target> computeTargets(final ArgumentParser parser, final List<String> explicitEndpoints, final List<String> domainsArguments, final String srvName) { if (explicitEndpoints != null && !explicitEndpoints.isEmpty()) { final List<Target> targets = Lists.newArrayListWithExpectedSize(explicitEndpoints.size()); for (final String endpoint : explicitEndpoints) { targets.add(Target.from(URI.create(endpoint))); } return targets; } else if (domainsArguments != null && !domainsArguments.isEmpty()) { final Iterable<String> domains = parseDomains(domainsArguments); return Target.from(srvName, domains); } else if (!cliConfig.getMasterEndpoints().isEmpty()) { final List<URI> cliConfigMasterEndpoints = cliConfig.getMasterEndpoints(); List<Target> targets = Lists.newArrayListWithExpectedSize(cliConfigMasterEndpoints.size()); for (final URI endpoint : cliConfigMasterEndpoints) { targets.add(Target.from(endpoint)); } return targets; } else if (!cliConfig.getDomainsString().isEmpty()) { final Iterable<String> domains = parseDomainsString(cliConfig.getDomainsString()); return Target.from(srvName, domains); } handleError(parser, new ArgumentParserException( "no masters specified. Use the -z or -d option to specify which helios " + "cluster/master to connect to", parser)); return ImmutableList.of(); }
private void setupLogging() { final LoggingConfig config = parser.getLoggingConfig(); if (config.getNoLogSetup()) { return; } final int verbose = config.getVerbosity(); final Level level = get(asList(WARN, INFO, DEBUG, ALL), verbose, ALL); final Logger rootLogger = (Logger) LoggerFactory.getLogger(ROOT_LOGGER_NAME); rootLogger.setLevel(level); } }
public int run() { try { final BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)); return parser.getCommand().run(parser.getNamespace(), parser.getTargets(), out, err, parser.getUsername(), parser.getJson(), stdin); } catch (Exception e) { // print entire stack trace in verbose mode, otherwise just the exception message if (parser.getNamespace().getInt("verbose") > 0) { e.printStackTrace(err); } else { err.println(e.getMessage()); } return 1; } }
private Subparser p(final Subparsers subparsers, final String name) { final Subparser subparser = subparsers.addParser(name, true); addGlobalArgs(subparser, cliConfig); return subparser; } }
public CliMain(final PrintStream out, final PrintStream err, final String... args) throws Exception { this.parser = new CliParser(args); this.out = out; this.err = err; setupLogging(); }