Example usage for org.apache.commons.cli Options toString

List of usage examples for org.apache.commons.cli Options toString

Introduction

In this page you can find the example usage for org.apache.commons.cli Options toString.

Prototype

public String toString() 

Source Link

Document

Dump state, suitable for debugging.

Usage

From source file:com.incapture.rapgen.persistence.GenPersistence.java

public static void main(String[] args) {

    Options options = new Options();
    options.addOption("o", true, "Output root folder for kernel files");

    options.addOption("g", true, "The type of grammar to generate, current options are 'SDK' or 'API'");

    options.addOption("mainApiFile", true, "FileName specifying the api");

    CommandLineParser cparser = new PosixParser();
    try {//from   www . j av  a 2  s . c  o  m
        CommandLine cmd = cparser.parse(options, args);
        String mainApiFile = cmd.getOptionValue("mainApiFile");
        String outputFolder = cmd.getOptionValue('o');
        GenType genType = GenType.valueOf(cmd.getOptionValue('g'));
        StringTemplateGroup templateLib = loadTemplates(genType);

        List<StorableAttributes> storableAttributes = parseApiFiles(cmd, mainApiFile, templateLib, genType);
        StorableSerDeserRepo mappersRepo = StorableMappersLoader.loadSerDeserHelpers();
        log.info(String.format("Got %s storable mapper(s)", mappersRepo.getAll().size()));

        Generator generator = new Generator(templateLib);
        Map<String, StringTemplate> pathToTemplate = generator.generatePersistenceFiles(storableAttributes,
                mappersRepo);

        log.info(String.format("Writing persistence files in [%s]", outputFolder));
        OutputWriter.writeTemplates(outputFolder, pathToTemplate);

    } catch (ParseException e) {
        System.err.println("Error parsing command line - " + e.getMessage());
        System.out.println("Usage: " + options.toString());
    } catch (IOException | RecognitionException e) {
        System.err.println("Error running GenApi: " + ExceptionToString.format(e));
    }
}

From source file:com.incapture.rapgen.GenApi.java

public static void main(String[] args) {
    Options options = new Options();
    options.addOption("l", true, "Language to generate");
    options.addOption("o", true, "Output root folder for kernel files");
    options.addOption("a", true, "Output root folder for api files");
    options.addOption("w", true, "Output root folder for web files");
    options.addOption("d", true, "Template dir to use (use either this or 't')");
    options.addOption("t", true, "Template file to use (use either this or 'd')");
    options.addOption("g", true, "The type of grammar to generate, current options are 'SDK' or 'API'");
    options.addOption("mainApiFile", true, "FileName specifying the api");
    options.addOption("codeSamplesJava", true, "A path to search for files that have Java code samples");
    options.addOption("codeSamplesPython", true, "A path to search for files that have Python code samples");

    CommandLineParser cparser = new PosixParser();
    try {//from  ww  w.  java 2  s . c o m
        CommandLine cmd = cparser.parse(options, args);
        String mainApiFile = cmd.getOptionValue("mainApiFile");
        String outputKernelFolder = cmd.getOptionValue('o');
        String outputApiFolder = cmd.getOptionValue('a');
        String outputWebFolder = cmd.getOptionValue('w');
        String codeSamplesJava = cmd.getOptionValue("codeSamplesJava");
        String codeSamplesPython = cmd.getOptionValue("codeSamplesPython");

        GenType genType = GenType.valueOf(cmd.getOptionValue('g'));

        // The language will ultimately choose the walker class
        String language = cmd.getOptionValue('l');
        if (cmd.hasOption('d') && cmd.hasOption('t')) {
            throw new IllegalArgumentException(
                    "Cannot define both a template folder ('d') and file ('t'). Please use one OR the other.");
        }

        // And off we go

        TLexer lexer = new TLexer();
        ResourceBasedApiReader apiReader = new ResourceBasedApiReader();
        lexer.setApiReader(apiReader);
        lexer.setCharStream(apiReader.read(mainApiFile));

        // Using the lexer as the token source, we create a token
        // stream to be consumed by the parser
        //
        CommonTokenStream tokens = new CommonTokenStream(lexer);

        // Now we need an instance of our parser
        //
        TParser parser = new TParser(tokens);

        hmxdef_return psrReturn = parser.hmxdef();

        // load in T.stg template group, put in templates variable
        StringTemplateGroup templates = null;

        if (!isSlateMd(language)) {
            templates = TemplateRepo.getTemplates(language, genType);
        }
        Tree t = psrReturn.getTree();

        CommonTreeNodeStream ns = new CommonTreeNodeStream(t);
        ns.setTokenStream(tokens);
        if (templates != null) {
            templates.registerRenderer(String.class, new UpCaseRenderer());
        }
        AbstractTTree walker = TreeFactory.createTreeWalker(ns, templates, language);
        System.out.println("Generating files with a " + walker.getClass().getName());
        if (walker instanceof TTree) {
            if (genType.equals(GenType.API)) {
                ((TTree) walker).apiGen();
            } else {
                ((TTree) walker).sdkGen();
            }
        } else if (walker instanceof TTreeRuby) {
            System.out.println("Running for Ruby");
            /* TTreeRuby.hmxdef_return out = */
            ((TTreeRuby) walker).hmxdef();
        } else if (walker instanceof TTreeJS) {
            System.out.println("Running for JavaScript");
            /* TTreeJS.hmxdef_return out = */
            ((TTreeJS) walker).hmxdef();
        } else if (walker instanceof TTreeDoc) {
            System.out.println("Running for Documentation");
            /* TTreeDoc.hmxdef_return out = */
            ((TTreeDoc) walker).hmxdef();
        } else if (walker instanceof TTreeVB) {
            System.out.println("Running for VB");
            /* TTreeVB.hmxdef_return out = */
            ((TTreeVB) walker).hmxdef();
        } else if (walker instanceof TTreeGo) {
            System.out.println("Running for Go");
            /* TTreeGo.hmxdef_return out = */
            ((TTreeGo) walker).hmxdef();
        } else if (walker instanceof TTreeCpp) {
            System.out.println("Running for Cpp");
            /* TTreeGo.hmxdef_return out = */
            ((TTreeCpp) walker).hmxdef();
        } else if (walker instanceof TTreePython) {
            System.out.println("Running for Python");
            /* TTreePython.hmxdef_return out = */
            ((TTreePython) walker).hmxdef();
        } else if (walker instanceof TTreeSlateMd) {
            System.out.println("Running for Slate Markdown");
            TTreeSlateMd slateMdWalker = (TTreeSlateMd) walker;
            slateMdWalker.setupCodeParser(codeSamplesJava, codeSamplesPython);
            slateMdWalker.hmxdef();
        } else if (walker instanceof TTreeDotNet) {
            System.out.println("Running for DotNet");
            ((TTreeDotNet) walker).apiGen();
        } else if (walker instanceof TTreeCurtisDoc) {
            System.out.println("Running for CurtisDoc");
            ((TTreeCurtisDoc) walker).apiGen();
        }
        // Now dump the files out
        System.out.println("Genereated source output locations:");
        System.out.println(String.format("kernel: [%s]", outputKernelFolder));
        System.out.println(String.format("api: [%s]", outputApiFolder));
        System.out.println(String.format("web: [%s]", outputWebFolder));
        walker.dumpFiles(outputKernelFolder, outputApiFolder, outputWebFolder);

    } catch (ParseException e) {
        System.err.println("Error parsing command line - " + e.getMessage());
        System.out.println("Usage: " + options.toString());
    } catch (IOException | RecognitionException e) {
        System.err.println("Error running GenApi: " + ExceptionToString.format(e));
    }
}

From source file:com.cloudera.impala.testutil.ImpalaJdbcClient.java

/**
 * Parses command line options/*from  ww  w.  j  a  va 2  s. c o  m*/
 */
private static ClientExecOptions parseOptions(String[] args) throws ParseException {
    Options options = new Options();
    options.addOption("i", true, "host:port of target machine impalad is listening on");
    options.addOption("c", true, "Full connection string to use. Overrides host/port value");
    options.addOption("t", true, "SASL/NOSASL, whether to use SASL transport or not");
    options.addOption("q", true, "Query String");
    options.addOption("help", false, "Help");

    BasicParser optionParser = new BasicParser();
    CommandLine cmdArgs = optionParser.parse(options, args);

    String transportOption = cmdArgs.getOptionValue("t");
    if (transportOption == null) {
        LOG.error("Must specify '-t' option, whether to use SASL transport or not.");
        LOG.error("Using the wrong type of transport will cause the program to hang.");
        LOG.error("Usage: " + options.toString());
        System.exit(1);
    }
    if (!transportOption.equalsIgnoreCase("SASL") && !transportOption.equalsIgnoreCase("NOSASL")) {
        LOG.error("Invalid argument " + transportOption + " to '-t' option.");
        LOG.error("Usage: " + options.toString());
        System.exit(1);
    }
    boolean useSasl = transportOption.equalsIgnoreCase("SASL");

    String connStr = cmdArgs.getOptionValue("c", null);

    // If the user didn't specify a custom connection string, build a connection
    // string using HiveServer 2 JDBC driver and no security.
    if (connStr == null) {
        String hostPort = cmdArgs.getOptionValue("i", "localhost:21050");
        connStr = "jdbc:hive2://" + hostPort + "/";
    }
    // Append appropriate auth option to connection string.
    if (useSasl) {
        connStr = connStr + ";auth=none";
    } else {
        // As of Hive 0.11 'noSasl' is case sensitive. See HIVE-4232 for more details.
        connStr = connStr + ";auth=noSasl";
    }

    String query = cmdArgs.getOptionValue("q");
    if (query == null) {
        LOG.error("Must specify a query to execute.");
        LOG.error("Usage: " + options.toString());
        System.exit(1);
    }

    return new ClientExecOptions(connStr, query);
}

From source file:com.cloudera.impala.util.ImpalaJdbcClient.java

/**
 * Parses command line options//from  w  w w  . jav a  2  s .c  o  m
 */
private static ClientExecOptions parseOptions(String[] args) throws ParseException {
    Options options = new Options();
    options.addOption("i", true, "host:port of target machine impalad is listening on");
    options.addOption("c", true, "Full connection string to use. Overrides host/port value");
    options.addOption("t", true, "SASL/NOSASL, whether to use SASL transport or not");
    options.addOption("q", true, "Query String");
    options.addOption("help", false, "Help");

    BasicParser optionParser = new BasicParser();
    CommandLine cmdArgs = optionParser.parse(options, args);

    String transportOption = cmdArgs.getOptionValue("t");
    if (transportOption == null) {
        LOG.error("Must specify '-t' option, whether to use SASL transport or not.");
        LOG.error("Using the wrong type of transport will cause the program to hang.");
        LOG.error("Usage: " + options.toString());
        System.exit(1);
    }
    if (!transportOption.equalsIgnoreCase("SASL") && !transportOption.equalsIgnoreCase("NOSASL")) {
        LOG.error("Invalid argument " + transportOption + " to '-t' option.");
        LOG.error("Usage: " + options.toString());
        System.exit(1);
    }
    boolean useSasl = transportOption.equalsIgnoreCase("SASL");

    String connStr = cmdArgs.getOptionValue("c", null);

    // If the user didn't specify a custom connection string, build a connection
    // string using HiveServer 2 JDBC driver and no security.
    if (connStr == null) {
        String hostPort = cmdArgs.getOptionValue("i", "localhost:21050");
        connStr = "jdbc:hive2://" + hostPort + "/";
    }
    // Append appropriate auth option to connection string.
    if (useSasl) {
        connStr = connStr + SASL_AUTH_SPEC;
    } else {
        connStr = connStr + NOSASL_AUTH_SPEC;
    }

    String query = cmdArgs.getOptionValue("q");
    if (query == null) {
        LOG.error("Must specify a query to execute.");
        LOG.error("Usage: " + options.toString());
        System.exit(1);
    }

    return new ClientExecOptions(connStr, query);
}

From source file:org.apache.kylin.storage.hbase.util.CubeMigrationCheckCLI.java

public static void main(String[] args) throws ParseException, IOException {
    logger.warn(/*  w  ww.j ava  2  s .  c  o  m*/
            "org.apache.kylin.storage.hbase.util.CubeMigrationCheckCLI is deprecated, use org.apache.kylin.tool.CubeMigrationCheckCLI instead");

    OptionsHelper optionsHelper = new OptionsHelper();

    Options options = new Options();
    options.addOption(OPTION_FIX);
    options.addOption(OPTION_DST_CFG_URI);
    options.addOption(OPTION_CUBE);

    boolean ifFix = false;
    String dstCfgUri;
    String cubeName;
    logger.info("jobs args: " + Arrays.toString(args));
    try {

        optionsHelper.parseOptions(options, args);

        logger.info("options: '" + options.toString() + "'");
        logger.info("option value 'fix': '" + optionsHelper.getOptionValue(OPTION_FIX) + "'");
        ifFix = Boolean.parseBoolean(optionsHelper.getOptionValue(OPTION_FIX));

        logger.info("option value 'dstCfgUri': '" + optionsHelper.getOptionValue(OPTION_DST_CFG_URI) + "'");
        dstCfgUri = optionsHelper.getOptionValue(OPTION_DST_CFG_URI);

        logger.info("option value 'cube': '" + optionsHelper.getOptionValue(OPTION_CUBE) + "'");
        cubeName = optionsHelper.getOptionValue(OPTION_CUBE);

    } catch (ParseException e) {
        optionsHelper.printUsage(CubeMigrationCheckCLI.class.getName(), options);
        throw e;
    }

    KylinConfig kylinConfig;
    if (dstCfgUri == null) {
        kylinConfig = KylinConfig.getInstanceFromEnv();
    } else {
        kylinConfig = KylinConfig.createInstanceFromUri(dstCfgUri);
    }

    CubeMigrationCheckCLI checkCLI = new CubeMigrationCheckCLI(kylinConfig, ifFix);
    checkCLI.execute(cubeName);
}

From source file:org.apache.kylin.tool.CubeMigrationCheckCLI.java

public static void main(String[] args) throws ParseException, IOException {

    OptionsHelper optionsHelper = new OptionsHelper();

    Options options = new Options();
    options.addOption(OPTION_FIX);/*from   w w w . j a  v a  2s  .c  o  m*/
    options.addOption(OPTION_DST_CFG_URI);
    options.addOption(OPTION_CUBE);

    boolean ifFix = false;
    String dstCfgUri;
    String cubeName;
    logger.info("jobs args: " + Arrays.toString(args));
    try {

        optionsHelper.parseOptions(options, args);

        logger.info("options: '" + options.toString() + "'");
        logger.info("option value 'fix': '" + optionsHelper.getOptionValue(OPTION_FIX) + "'");
        ifFix = Boolean.parseBoolean(optionsHelper.getOptionValue(OPTION_FIX));

        logger.info("option value 'dstCfgUri': '" + optionsHelper.getOptionValue(OPTION_DST_CFG_URI) + "'");
        dstCfgUri = optionsHelper.getOptionValue(OPTION_DST_CFG_URI);

        logger.info("option value 'cube': '" + optionsHelper.getOptionValue(OPTION_CUBE) + "'");
        cubeName = optionsHelper.getOptionValue(OPTION_CUBE);

    } catch (ParseException e) {
        optionsHelper.printUsage(CubeMigrationCheckCLI.class.getName(), options);
        throw e;
    }

    KylinConfig kylinConfig;
    if (dstCfgUri == null) {
        kylinConfig = KylinConfig.getInstanceFromEnv();
    } else {
        kylinConfig = KylinConfig.createInstanceFromUri(dstCfgUri);
    }

    CubeMigrationCheckCLI checkCLI = new CubeMigrationCheckCLI(kylinConfig, ifFix);
    checkCLI.execute(cubeName);
}