com.galenframework.actions.GalenActionConfigArguments.java Source code

Java tutorial

Introduction

Here is the source code for com.galenframework.actions.GalenActionConfigArguments.java

Source

/*******************************************************************************
* Copyright 2017 Ivan Shubin http://galenframework.com
* 
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* 
*   http://www.apache.org/licenses/LICENSE-2.0
* 
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
******************************************************************************/
package com.galenframework.actions;

import org.apache.commons.cli.*;

public class GalenActionConfigArguments {
    private Boolean isGlobal = false;

    public static GalenActionConfigArguments parse(String[] args) {
        args = ArgumentsUtils.processSystemProperties(args);

        Options options = new Options();
        options.addOption("g", "global", false, "Flag to create global config in user home directory");

        CommandLineParser parser = new PosixParser();
        CommandLine cmd;

        try {
            cmd = parser.parse(options, args);
        } catch (MissingArgumentException e) {
            throw new IllegalArgumentException("Missing value for " + e.getOption().getLongOpt(), e);
        } catch (Exception ex) {
            throw new RuntimeException(ex);
        }

        GalenActionConfigArguments configArguments = new GalenActionConfigArguments();
        configArguments.isGlobal = cmd.hasOption("g");
        return configArguments;
    }

    public Boolean getGlobal() {
        return isGlobal;
    }

}