Example usage for org.apache.commons.lang SystemUtils isJavaAwtHeadless

List of usage examples for org.apache.commons.lang SystemUtils isJavaAwtHeadless

Introduction

In this page you can find the example usage for org.apache.commons.lang SystemUtils isJavaAwtHeadless.

Prototype

public static boolean isJavaAwtHeadless() 

Source Link

Document

Returns whether the #JAVA_AWT_HEADLESS value is true.

Usage

From source file:org.rapidcontext.app.Main.java

/**
 * Application entry point.//from   w w w.j  av  a 2  s .co  m
 *
 * @param args           the command-line parameters
 */
public static void main(String[] args) {
    Options options = new Options();
    OptionGroup grp;
    Option opt;
    CommandLine cli;

    // Create main command-line options
    grp = new OptionGroup();
    opt = new Option(null, "app", false, "Launch in interactive application mode.");
    grp.addOption(opt);
    opt = new Option(null, "server", false, "Launch in server mode.");
    grp.addOption(opt);
    opt = new Option(null, "script", false, "Launch in script execution mode.");
    grp.addOption(opt);
    options.addOptionGroup(grp);

    // Create other command-line options
    options.addOption("h", "help", false, "Displays this help message,");
    opt = new Option("l", "local", true, "Use a specified local app directory.");
    opt.setArgName("dir");
    options.addOption(opt);
    opt = new Option("p", "port", true, "Use a specified port number (non-script mode).");
    opt.setArgName("number");
    options.addOption(opt);
    opt = new Option("d", "delay", true, "Add a delay after each command (script mode).");
    opt.setArgName("secs");
    options.addOption(opt);
    options.addOption("t", "trace", false, "Print detailed execution trace (script mode).");
    opt = new Option("u", "user", true, "Authenticate as a another user (script mode).");
    opt.setArgName("name");
    options.addOption(opt);
    options.addOption(null, "stdin", false, "Read commands from stdin (script mode).");
    opt = new Option("f", "file", true, "Read commands from a file (script mode).");
    opt.setArgName("file");
    options.addOption(opt);

    // Parse command-line arguments
    try {
        cli = new DefaultParser().parse(options, args);
        if (cli.hasOption("help")) {
            exit(options, null);
        }
        args = cli.getArgs();
        if (cli.hasOption("app")) {
            runApp(cli, args, options);
        } else if (cli.hasOption("server")) {
            runServer(cli, args, options);
        } else if (cli.hasOption("script")) {
            runScript(cli, args, options);
        } else if (args.length == 0 && !SystemUtils.isJavaAwtHeadless()) {
            runApp(cli, args, options);
        } else {
            runScript(cli, args, options);
        }
    } catch (ParseException e) {
        exit(options, e.getMessage());
    }
}

From source file:org.rapidcontext.app.Main.java

/**
 * Launches the interactive application mode.
 *
 * @param cli            the parsed command line
 * @param args           the additional arguments array
 * @param opts           the command-line options object
 *//*  w  w w .  j  ava2s  .  c om*/
private static void runApp(CommandLine cli, String[] args, Options opts) {
    ServerApplication app = createServer(cli, opts);
    ControlPanel panel;

    if (args.length > 0) {
        exit(opts, "No arguments supported for app launch mode.");
    }
    if (SystemUtils.isJavaAwtHeadless()) {
        exit(opts, "Cannot launch app without graphical display.");
    }
    panel = new ControlPanel(app);
    panel.setVisible(true);
    panel.start();
}