diff options
author | Endi S. Dewata <edewata@redhat.com> | 2013-09-24 10:08:48 -0400 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2013-10-01 19:25:39 -0400 |
commit | e339952dfad45bc0ba1768a9386817eadd49b9dc (patch) | |
tree | 9654dfcee299337c23d3536e913478f8c3dabcaa /base/java-tools/src/com/netscape/cmstools/tps | |
parent | a3ac3ef0ca5e720a4cd5b17e9181124c17d17ea7 (diff) | |
download | pki-e339952dfad45bc0ba1768a9386817eadd49b9dc.tar.gz pki-e339952dfad45bc0ba1768a9386817eadd49b9dc.tar.xz pki-e339952dfad45bc0ba1768a9386817eadd49b9dc.zip |
Refactored TPS configuration resource.
The REST interface for TPS configuration has been modified to provide access
to TPS general configuration as originally designed. The configuration database
has been modified such that it can be reused by other configuration resources.
Ticket #652
Diffstat (limited to 'base/java-tools/src/com/netscape/cmstools/tps')
4 files changed, 22 insertions, 134 deletions
diff --git a/base/java-tools/src/com/netscape/cmstools/tps/config/ConfigCLI.java b/base/java-tools/src/com/netscape/cmstools/tps/config/ConfigCLI.java index 9d913517e..584cf81af 100644 --- a/base/java-tools/src/com/netscape/cmstools/tps/config/ConfigCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/tps/config/ConfigCLI.java @@ -19,7 +19,7 @@ package com.netscape.cmstools.tps.config; import java.io.IOException; -import java.util.Arrays; +import java.util.Map; import org.jboss.resteasy.plugins.providers.atom.Link; @@ -37,7 +37,6 @@ public class ConfigCLI extends CLI { public ConfigCLI(CLI parent) { super("config", "Configuration management commands", parent); - addModule(new ConfigFindCLI(this)); addModule(new ConfigModifyCLI(this)); addModule(new ConfigShowCLI(this)); } @@ -47,41 +46,18 @@ public class ConfigCLI extends CLI { client = parent.getClient(); configClient = (ConfigClient)parent.getClient("config"); - if (args.length == 0) { - printHelp(); - System.exit(1); - } - - String command = args[0]; - String[] commandArgs = Arrays.copyOfRange(args, 1, args.length); - - if (command == null) { - printHelp(); - System.exit(1); - } - - CLI module = getModule(command); - if (module != null) { - module.execute(commandArgs); - - } else { - System.err.println("Error: Invalid command \"" + command + "\""); - printHelp(); - System.exit(1); - } + super.execute(args); } - public static void printConfigData(ConfigData configData, boolean showProperties) throws IOException { + public static void printConfigData(ConfigData configData) throws IOException { - System.out.println(" Config ID: " + configData.getID()); - System.out.println(" Display Name: " + configData.getDisplayName()); + if (configData.getStatus() != null) System.out.println(" Status: " + configData.getStatus()); - if (showProperties) { - System.out.println(" Properties:"); - for (String name : configData.getPropertyNames()) { - String value = configData.getProperty(name); - System.out.println(" " + name + ": " + value); - } + System.out.println(" Properties:"); + Map<String, String> properties = configData.getProperties(); + for (String name : properties.keySet()) { + String value = properties.get(name); + System.out.println(" " + name + ": " + value); } Link link = configData.getLink(); diff --git a/base/java-tools/src/com/netscape/cmstools/tps/config/ConfigFindCLI.java b/base/java-tools/src/com/netscape/cmstools/tps/config/ConfigFindCLI.java deleted file mode 100644 index c7ab18738..000000000 --- a/base/java-tools/src/com/netscape/cmstools/tps/config/ConfigFindCLI.java +++ /dev/null @@ -1,86 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2013 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- - -package com.netscape.cmstools.tps.config; - -import java.util.Collection; - -import org.apache.commons.cli.CommandLine; - -import com.netscape.certsrv.tps.config.ConfigCollection; -import com.netscape.certsrv.tps.config.ConfigData; -import com.netscape.cmstools.cli.CLI; -import com.netscape.cmstools.cli.MainCLI; - -/** - * @author Endi S. Dewata - */ -public class ConfigFindCLI extends CLI { - - public ConfigCLI configCLI; - - public ConfigFindCLI(ConfigCLI configCLI) { - super("find", "Find configurations", configCLI); - this.configCLI = configCLI; - } - - public void printHelp() { - formatter.printHelp(getFullName(), options); - } - - public void execute(String[] args) throws Exception { - - CommandLine cmd = null; - - try { - cmd = parser.parse(options, args); - - } catch (Exception e) { - System.err.println("Error: " + e.getMessage()); - printHelp(); - System.exit(1); - } - - String[] cmdArgs = cmd.getArgs(); - - if (cmdArgs.length != 0) { - printHelp(); - System.exit(1); - } - - ConfigCollection result = configCLI.configClient.findConfigs(); - - Collection<ConfigData> entries = result.getConfigs(); - - MainCLI.printMessage(entries.size() + " entries matched"); - boolean first = true; - - for (ConfigData configData : entries) { - - if (first) { - first = false; - } else { - System.out.println(); - } - - ConfigCLI.printConfigData(configData, false); - } - - MainCLI.printMessage("Number of entries returned " + entries.size()); - } -} diff --git a/base/java-tools/src/com/netscape/cmstools/tps/config/ConfigModifyCLI.java b/base/java-tools/src/com/netscape/cmstools/tps/config/ConfigModifyCLI.java index 3344a8c9e..fb7e2f09f 100644 --- a/base/java-tools/src/com/netscape/cmstools/tps/config/ConfigModifyCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/tps/config/ConfigModifyCLI.java @@ -39,22 +39,22 @@ public class ConfigModifyCLI extends CLI { public ConfigCLI configCLI; public ConfigModifyCLI(ConfigCLI configCLI) { - super("mod", "Modify configuration", configCLI); + super("mod", "Modify general properties", configCLI); this.configCLI = configCLI; } public void printHelp() { - formatter.printHelp(getFullName() + " <Config ID> [OPTIONS...]", options); + formatter.printHelp(getFullName() + " [OPTIONS...]", options); } public void execute(String[] args) throws Exception { - Option option = new Option(null, "input", true, "Input configuration file."); + Option option = new Option(null, "input", true, "Input file containing general properties."); option.setArgName("file"); option.setRequired(true); options.addOption(option); - option = new Option(null, "output", true, "Output configuration file."); + option = new Option(null, "output", true, "Output file to store general properties."); option.setArgName("file"); options.addOption(option); @@ -71,12 +71,11 @@ public class ConfigModifyCLI extends CLI { String[] cmdArgs = cmd.getArgs(); - if (cmdArgs.length != 1) { + if (cmdArgs.length != 0) { printHelp(); System.exit(1); } - String configID = args[0]; String input = cmd.getOptionValue("input"); String output = cmd.getOptionValue("output"); @@ -100,12 +99,12 @@ public class ConfigModifyCLI extends CLI { configData = ConfigData.valueOf(sw.toString()); } - configData = configCLI.configClient.updateConfig(configID, configData); + configData = configCLI.configClient.updateConfig(configData); MainCLI.printMessage("Updated configuration"); if (output == null) { - ConfigCLI.printConfigData(configData, true); + ConfigCLI.printConfigData(configData); } else { try (PrintWriter out = new PrintWriter(new FileWriter(output))) { diff --git a/base/java-tools/src/com/netscape/cmstools/tps/config/ConfigShowCLI.java b/base/java-tools/src/com/netscape/cmstools/tps/config/ConfigShowCLI.java index 77f77c94f..33bc781ac 100644 --- a/base/java-tools/src/com/netscape/cmstools/tps/config/ConfigShowCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/tps/config/ConfigShowCLI.java @@ -36,17 +36,17 @@ public class ConfigShowCLI extends CLI { public ConfigCLI configCLI; public ConfigShowCLI(ConfigCLI configCLI) { - super("show", "Show configuration", configCLI); + super("show", "Show general properties", configCLI); this.configCLI = configCLI; } public void printHelp() { - formatter.printHelp(getFullName() + " <Config ID>", options); + formatter.printHelp(getFullName(), options); } public void execute(String[] args) throws Exception { - Option option = new Option(null, "output", true, "Output file to store config attributes."); + Option option = new Option(null, "output", true, "Output file to store general properties."); option.setArgName("file"); options.addOption(option); @@ -63,19 +63,18 @@ public class ConfigShowCLI extends CLI { String[] cmdArgs = cmd.getArgs(); - if (cmdArgs.length != 1) { + if (cmdArgs.length != 0) { printHelp(); System.exit(1); } - String configID = cmdArgs[0]; String output = cmd.getOptionValue("output"); - ConfigData configData = configCLI.configClient.getConfig(configID); + ConfigData configData = configCLI.configClient.getConfig(); if (output == null) { MainCLI.printMessage("Configuration"); - ConfigCLI.printConfigData(configData, true); + ConfigCLI.printConfigData(configData); } else { try (PrintWriter out = new PrintWriter(new FileWriter(output))) { |