Search in sources :

Example 6 with V2_AsciiTable

use of de.vandermeer.asciitable.v2.V2_AsciiTable in project walkmod-core by walkmod.

the class WalkModDispatcher method execute.

public void execute(JCommander jcommander, String[] args) throws Exception {
    commands.put("add", new AddTransformationCommand(jcommander));
    commands.put("add-excludes", new AddExcludesCommand(jcommander));
    commands.put("add-includes", new AddIncludesCommand(jcommander));
    commands.put("add-module", new AddModuleCommand(jcommander));
    commands.put("add-plugin", new AddPluginCommand(jcommander));
    commands.put("add-provider", new AddCfgProviderCommand(jcommander));
    commands.put("apply", new ApplyCommand(jcommander));
    commands.put("chains", new PrintChainsCommand(jcommander));
    commands.put("check", new CheckCommand(jcommander));
    commands.put("init", new InitCommand(jcommander));
    commands.put("inspect", new InspectCommand(jcommander));
    commands.put("install", new InstallCommand(jcommander));
    commands.put("modules", new PrintModulesCommand(jcommander));
    commands.put("patch", new PatchCommand(jcommander));
    commands.put("providers", new PrintProvidersCommand(jcommander));
    commands.put("rm", new RemoveTransformationCommand(jcommander));
    commands.put("rm-excludes", new RemoveExcludesCommand(jcommander));
    commands.put("rm-includes", new RemoveIncludesCommand(jcommander));
    commands.put("rm-chain", new RemoveChainCommand(jcommander));
    commands.put("rm-module", new RemoveModuleCommand(jcommander));
    commands.put("rm-plugin", new RemovePluginCommand(jcommander));
    commands.put("rm-provider", new RemoveProviderCommand(jcommander));
    commands.put("set-reader", new SetReaderCommand(jcommander));
    commands.put("set-writer", new SetWriterCommand(jcommander));
    commands.put("transformations", new PrintTransformationsCommand(jcommander));
    commands.put("plugins", new PrintPluginsCommand(jcommander));
    commands.put("--version", new VersionCommand());
    commands.put("--help", new HelpCommand(jcommander));
    Set<String> keys = commands.keySet();
    for (String key : keys) {
        if (!key.startsWith("--")) {
            jcommander.addCommand(key, commands.get(key));
        } else {
            jcommander.addCommand(key, commands.get(key), "-" + key.charAt(2));
        }
        JCommander aux = jcommander.getCommands().get(key);
        aux.setProgramName("walkmod " + key);
        aux.setAcceptUnknownOptions(false);
    }
    if (args == null || args.length == 0) {
        printHeader();
        new HelpCommand(jcommander).execute();
    } else {
        try {
            jcommander.parse(args);
        } catch (ParameterException e) {
            System.out.println(e.getMessage());
            System.out.println("Run walkmod --help to see the accepted parameters");
            return;
        }
        String command = jcommander.getParsedCommand();
        printHeader();
        Command commandObject = commands.get(command.substring("walkmod ".length(), command.length()));
        commandObject.execute();
        if (commandObject instanceof AsciiTableAware) {
            AsciiTableAware aux = (AsciiTableAware) commandObject;
            V2_AsciiTable table = aux.getTable();
            if (table != null) {
                V2_AsciiTableRenderer rend = new V2_AsciiTableRenderer();
                rend.setTheme(V2_E_TableThemes.UTF_LIGHT.get());
                rend.setWidth(new AsciiTableWidth(50));
                RenderedTable rt = rend.render(table);
                System.out.println(rt);
            }
        }
    }
}
Also used : SetWriterCommand(org.walkmod.commands.SetWriterCommand) PatchCommand(org.walkmod.commands.PatchCommand) SetReaderCommand(org.walkmod.commands.SetReaderCommand) VersionCommand(org.walkmod.commands.VersionCommand) InitCommand(org.walkmod.commands.InitCommand) RemoveIncludesCommand(org.walkmod.commands.RemoveIncludesCommand) InspectCommand(org.walkmod.commands.InspectCommand) PrintChainsCommand(org.walkmod.commands.PrintChainsCommand) CheckCommand(org.walkmod.commands.CheckCommand) V2_AsciiTable(de.vandermeer.asciitable.v2.V2_AsciiTable) JCommander(com.beust.jcommander.JCommander) RemoveChainCommand(org.walkmod.commands.RemoveChainCommand) InstallCommand(org.walkmod.commands.InstallCommand) PrintModulesCommand(org.walkmod.commands.PrintModulesCommand) ParameterException(com.beust.jcommander.ParameterException) PrintProvidersCommand(org.walkmod.commands.PrintProvidersCommand) RemoveExcludesCommand(org.walkmod.commands.RemoveExcludesCommand) AddPluginCommand(org.walkmod.commands.AddPluginCommand) V2_AsciiTableRenderer(de.vandermeer.asciitable.v2.render.V2_AsciiTableRenderer) AddExcludesCommand(org.walkmod.commands.AddExcludesCommand) AddCfgProviderCommand(org.walkmod.commands.AddCfgProviderCommand) PrintTransformationsCommand(org.walkmod.commands.PrintTransformationsCommand) HelpCommand(org.walkmod.commands.HelpCommand) AddIncludesCommand(org.walkmod.commands.AddIncludesCommand) PrintPluginsCommand(org.walkmod.commands.PrintPluginsCommand) RenderedTable(de.vandermeer.asciitable.v2.RenderedTable) ApplyCommand(org.walkmod.commands.ApplyCommand) RemovePluginCommand(org.walkmod.commands.RemovePluginCommand) AsciiTableAware(org.walkmod.commands.AsciiTableAware) RemoveProviderCommand(org.walkmod.commands.RemoveProviderCommand) RemoveTransformationCommand(org.walkmod.commands.RemoveTransformationCommand) AddModuleCommand(org.walkmod.commands.AddModuleCommand) RemoveIncludesCommand(org.walkmod.commands.RemoveIncludesCommand) AddIncludesCommand(org.walkmod.commands.AddIncludesCommand) PrintProvidersCommand(org.walkmod.commands.PrintProvidersCommand) RemovePluginCommand(org.walkmod.commands.RemovePluginCommand) AddTransformationCommand(org.walkmod.commands.AddTransformationCommand) InspectCommand(org.walkmod.commands.InspectCommand) RemoveChainCommand(org.walkmod.commands.RemoveChainCommand) VersionCommand(org.walkmod.commands.VersionCommand) PrintPluginsCommand(org.walkmod.commands.PrintPluginsCommand) PrintModulesCommand(org.walkmod.commands.PrintModulesCommand) RemoveExcludesCommand(org.walkmod.commands.RemoveExcludesCommand) Command(org.walkmod.commands.Command) SetWriterCommand(org.walkmod.commands.SetWriterCommand) AddCfgProviderCommand(org.walkmod.commands.AddCfgProviderCommand) PrintChainsCommand(org.walkmod.commands.PrintChainsCommand) SetReaderCommand(org.walkmod.commands.SetReaderCommand) RemoveModuleCommand(org.walkmod.commands.RemoveModuleCommand) RemoveProviderCommand(org.walkmod.commands.RemoveProviderCommand) InstallCommand(org.walkmod.commands.InstallCommand) PatchCommand(org.walkmod.commands.PatchCommand) AddPluginCommand(org.walkmod.commands.AddPluginCommand) RemoveTransformationCommand(org.walkmod.commands.RemoveTransformationCommand) AddModuleCommand(org.walkmod.commands.AddModuleCommand) PrintTransformationsCommand(org.walkmod.commands.PrintTransformationsCommand) HelpCommand(org.walkmod.commands.HelpCommand) AddExcludesCommand(org.walkmod.commands.AddExcludesCommand) CheckCommand(org.walkmod.commands.CheckCommand) ApplyCommand(org.walkmod.commands.ApplyCommand) InitCommand(org.walkmod.commands.InitCommand) AddTransformationCommand(org.walkmod.commands.AddTransformationCommand) RemoveModuleCommand(org.walkmod.commands.RemoveModuleCommand)

Example 7 with V2_AsciiTable

use of de.vandermeer.asciitable.v2.V2_AsciiTable in project walkmod-core by walkmod.

the class PrintModulesCommand method execute.

@Override
public void execute() throws Exception {
    if (help) {
        command.usage("modules");
    } else {
        WalkModFacade facade = new WalkModFacade(OptionsBuilder.options());
        Configuration cfg = facade.getConfiguration();
        if (cfg == null) {
            log.error("Sorry, the current directory does not contain a walkmod configuration file or it is invalid.");
        }
        at = new V2_AsciiTable();
        at.addRule();
        at.addRow("MODULE");
        at.addRule();
        if (cfg != null) {
            List<String> modules = cfg.getModules();
            if (modules != null) {
                for (String module : modules) {
                    at.addRow(module);
                }
            }
        }
        at.addRule();
    }
}
Also used : Configuration(org.walkmod.conf.entities.Configuration) V2_AsciiTable(de.vandermeer.asciitable.v2.V2_AsciiTable) WalkModFacade(org.walkmod.WalkModFacade)

Example 8 with V2_AsciiTable

use of de.vandermeer.asciitable.v2.V2_AsciiTable in project walkmod-core by walkmod.

the class PrintTransformationsCommand method execute.

@Override
public void execute() throws Exception {
    if (help) {
        command.usage("transformations");
    } else {
        if (chain == null) {
            chain = new LinkedList<String>();
        }
        if (chain.isEmpty()) {
            chain.add("default");
        }
        WalkModFacade facade = new WalkModFacade(OptionsBuilder.options());
        Configuration cfg = facade.getConfiguration();
        if (cfg != null) {
            Collection<ChainConfig> chains = cfg.getChainConfigs();
            if (chains != null) {
                Iterator<ChainConfig> it = chains.iterator();
                ChainConfig selected = null;
                while (it.hasNext() && selected == null) {
                    ChainConfig current = it.next();
                    if (current.getName().equals(chain.get(0))) {
                        selected = current;
                    }
                }
                if (selected != null) {
                    at = new V2_AsciiTable();
                    at.addRule();
                    at.addRow("TRANSFORMATION TYPE", "PARAMETERS", "NAME/ALIAS");
                    at.addStrongRule();
                    List<TransformationConfig> transformations = selected.getWalkerConfig().getTransformations();
                    if (transformations != null) {
                        for (TransformationConfig transf : transformations) {
                            Map<String, Object> parameters = transf.getParameters();
                            if (parameters == null || parameters.isEmpty()) {
                                at.addRow(transf.getType(), "", transf.getName());
                            } else {
                                Set<String> keys = parameters.keySet();
                                int i = 0;
                                for (String key : keys) {
                                    if (i == 0) {
                                        String name = transf.getName();
                                        if (name == null) {
                                            name = "";
                                        }
                                        at.addRow(transf.getType(), "-" + key + ":" + parameters.get(key), "");
                                    } else {
                                        at.addRow("", "-" + key + ":" + parameters.get(key), "");
                                    }
                                    i++;
                                }
                            }
                            at.addRule();
                        }
                    }
                }
            }
        } else {
            log.error("Sorry, the current directory does not contain a walkmod configuration file or it is invalid.");
            at = new V2_AsciiTable();
            at.addRule();
            at.addRow("TRANSFORMATION TYPE", "PARAMETERS", "NAME/ALIAS");
            at.addStrongRule();
            at.addRule();
        }
    }
}
Also used : Configuration(org.walkmod.conf.entities.Configuration) TransformationConfig(org.walkmod.conf.entities.TransformationConfig) ChainConfig(org.walkmod.conf.entities.ChainConfig) V2_AsciiTable(de.vandermeer.asciitable.v2.V2_AsciiTable) WalkModFacade(org.walkmod.WalkModFacade)

Aggregations

V2_AsciiTable (de.vandermeer.asciitable.v2.V2_AsciiTable)7 WalkModFacade (org.walkmod.WalkModFacade)6 Configuration (org.walkmod.conf.entities.Configuration)5 ChainConfig (org.walkmod.conf.entities.ChainConfig)2 TransformationConfig (org.walkmod.conf.entities.TransformationConfig)2 PluginConfigImpl (org.walkmod.conf.entities.impl.PluginConfigImpl)2 JSONArray (com.alibaba.fastjson.JSONArray)1 JSONObject (com.alibaba.fastjson.JSONObject)1 DefaultJSONParser (com.alibaba.fastjson.parser.DefaultJSONParser)1 JCommander (com.beust.jcommander.JCommander)1 ParameterException (com.beust.jcommander.ParameterException)1 RenderedTable (de.vandermeer.asciitable.v2.RenderedTable)1 V2_AsciiTableRenderer (de.vandermeer.asciitable.v2.render.V2_AsciiTableRenderer)1 ContentRow (de.vandermeer.asciitable.v2.row.ContentRow)1 V2_Row (de.vandermeer.asciitable.v2.row.V2_Row)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 URL (java.net.URL)1 LinkedHashMap (java.util.LinkedHashMap)1 LinkedList (java.util.LinkedList)1