com.booleanworks.peacockmantisshrimp.CommandLineTool.java Source code

Java tutorial

Introduction

Here is the source code for com.booleanworks.peacockmantisshrimp.CommandLineTool.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.booleanworks.peacockmantisshrimp;

import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;

/**
 *
 * @author vortigern
 */
public class CommandLineTool {

    public CommandLineTool() {
    }

    public CommandLineTool(String[] args) {

    }

    public static void main(String[] args) {

        CommandLineTool clt = new CommandLineTool();
        clt.execute(args);

    }

    public void garbage() {
        //http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/examples/embedded/src/main/java/org/eclipse/jetty/embedded/
        //https://github.com/eclipse/jetty.project/blob/jetty-9.3.x/examples/embedded/src/main/java/org/eclipse/jetty/embedded/LikeJettyXml.java

        ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
        context.setContextPath("/");

        Server jettyServer = new Server(8080);
        jettyServer.setHandler(context);

        ServletHolder jerseyServlet = context.addServlet(org.glassfish.jersey.servlet.ServletContainer.class, "/*");
        jerseyServlet.setInitOrder(0);

        // Tells the Jersey Servlet which REST service/class to load.
        //jerseyServlet.setInitParameter("jersey.config.server.provider.classnames",EntryPoint.class.getCanonicalName());
        try {
            jettyServer.start();
            jettyServer.join();
        } catch (Exception ex) {
            Logger.getLogger(CommandLineTool.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            jettyServer.destroy();
        }
    }

    private void execute(String[] args) {

        Options options = new Options();

        options.addOption(Option.builder().argName("createDefaultConfig").longOpt("createDefaultConfig").desc(
                "Create a default configuration file at the given location. (--createDefaultConfig <location>)")
                .hasArg(true).type(String.class).required(false).build());

        DefaultParser defaultParser = new DefaultParser();
        try {
            CommandLine commandLine = defaultParser.parse(options, args);

            if (commandLine.hasOption("createDefaultConfig")) {
                this.createDefaultConfig(commandLine.getOptionValue("createDefaultConfig", "config.xml"));
            }

        } catch (ParseException ex) {
            Logger.getLogger(CommandLineTool.class.getName()).log(Level.SEVERE, null, ex);

            HelpFormatter helpFormatter = new HelpFormatter();
            helpFormatter.printHelp("java -jar hibernate-ogm-helper.jar [options]", options);
        }

    }

    private void createDefaultConfig(String optionValue) {

    }
}