public static void main()

in knative-build/runtimes/java/WhiskSim/src/main/java/org/apache/openwhisk/App.java [49:110]


    public static void main( String[] args )
    {
        System.out.printf("main(String[] args): %s\n", Arrays.toString(args));

        // https://commons.apache.org/proper/commons-cli/javadocs/api-release/index.html
        // https://commons.apache.org/proper/commons-cli/usage.html
        // https://dzone.com/articles/java-command-line-interfaces-part-1-apache-commons
        // Option(String opt, String longOpt, boolean hasArg, String description)
        try {

            System.out.println("Working Directory=[" +
              System.getProperty("user.dir") + "]");

            // create Options object
            Options options = new Options();

            // add "Boolean"" options
            Option help = new Option( "h", "help", false, "print utility help" );
            Option verbose = new Option( "v", "verbose", false, "enable verbose output" );

            // Add "Argument" options
            Option payload = Option.builder("p")
            .hasArg()
            .desc("Payload file to use in the HTTP request body")
            .required(true)
            .longOpt("payload")
            .build();

            // Add all the options
            options.addOption(verbose).addOption(help).addOption(payload);

            CommandLineParser parser = new DefaultParser();
            CommandLine cmd = parser.parse( options, args);

            if(cmd.hasOption("h")) {
                // print the date and time
                HelpFormatter formatter = new HelpFormatter();
                formatter.printHelp("WhiskSim", options);
                return;
            }

            // get p option value
            String payloadFile = cmd.getOptionValue("p");

            if(payloadFile != null) {
                // print default date
                System.out.printf("Payload file: %s\n", payloadFile);

                App app = new App();
                app.readJSON(payloadFile);
            }
            else {
                // print date for country specified by countryCode
                System.err.println("Payload file missing!");
            }

        } catch (Exception e) {
            System.err.println("Unable to create application Options.");
        }

        System.out.println( "-=> Request sent <=-" );
    }