diff options
| author | Ade Lee <alee@redhat.com> | 2016-06-10 22:18:03 -0400 |
|---|---|---|
| committer | Endi S. Dewata <edewata@redhat.com> | 2016-06-13 21:02:32 +0200 |
| commit | 2ff3c4d50a3ca3f66db097d2c15f46417ad5a3fc (patch) | |
| tree | 661d96cb6a6f2bfcc585889aed4c6f0e67ad6974 /base/java-tools/src | |
| parent | 5f1bd9ce85dbe13ce8b40e6ffcf6812d6e54a12d (diff) | |
| download | pki-2ff3c4d50a3ca3f66db097d2c15f46417ad5a3fc.tar.gz pki-2ff3c4d50a3ca3f66db097d2c15f46417ad5a3fc.tar.xz pki-2ff3c4d50a3ca3f66db097d2c15f46417ad5a3fc.zip | |
Add man page and clarify CLI for kra-connector
Diffstat (limited to 'base/java-tools/src')
3 files changed, 74 insertions, 17 deletions
diff --git a/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorAddCLI.java b/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorAddCLI.java index aa92bee34..7327c40de 100644 --- a/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorAddCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorAddCLI.java @@ -24,8 +24,10 @@ import javax.xml.bind.JAXBContext; import javax.xml.bind.Unmarshaller; import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.Option; import org.apache.commons.cli.ParseException; +import com.netscape.certsrv.system.ConnectorNotFoundException; import com.netscape.certsrv.system.KRAConnectorInfo; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -40,10 +42,27 @@ public class KRAConnectorAddCLI extends CLI { public KRAConnectorAddCLI(KRAConnectorCLI kraConnectorCLI) { super("add", "Add KRA Connector", kraConnectorCLI); this.kraConnectorCLI = kraConnectorCLI; + + createOptions(); } public void printHelp() { - formatter.printHelp(getFullName() + " <File Name> [OPTIONS...]", options); + formatter.printHelp( + getFullName() + " --input-file <file> | --host <KRA host> --port <KRA port>", options); + } + + public void createOptions() { + Option option = new Option(null, "host", true, "KRA host"); + option.setArgName("host"); + options.addOption(option); + + option = new Option(null, "port", true, "KRA port"); + option.setArgName("port"); + options.addOption(option); + + option = new Option(null, "input-file", true, "Input file"); + option.setArgName("input-file"); + options.addOption(option); } public void execute(String[] args) throws Exception { @@ -66,20 +85,47 @@ public class KRAConnectorAddCLI extends CLI { String[] cmdArgs = cmd.getArgs(); - if (cmdArgs.length < 1) { - System.err.println("Error: No file name specified."); + if (cmdArgs.length != 0) { + System.err.println("Error: Too many arguments specified."); printHelp(); System.exit(-1); } - FileInputStream fis = new FileInputStream(cmdArgs[0].trim()); + String kraHost = cmd.getOptionValue("host"); + String kraPort = cmd.getOptionValue("port"); + String inputFile = cmd.getOptionValue("input-file"); - JAXBContext context = JAXBContext.newInstance(KRAConnectorInfo.class); - Unmarshaller unmarshaller = context.createUnmarshaller(); - KRAConnectorInfo info = (KRAConnectorInfo) unmarshaller.unmarshal(fis); - - kraConnectorCLI.kraConnectorClient.addConnector(info); + //check if connector exists + boolean connectorExists = true; + try { + @SuppressWarnings("unused") + KRAConnectorInfo info = kraConnectorCLI.kraConnectorClient.getConnectorInfo(); + } catch (ConnectorNotFoundException e) { + connectorExists = false; + } - MainCLI.printMessage("Added KRA Connector"); + if (inputFile != null) { + if (connectorExists) { + System.err.println("Error: Cannot add new connector from file. " + + "Delete the existing connector first"); + System.exit(-1); + } + FileInputStream fis = new FileInputStream(inputFile); + JAXBContext context = JAXBContext.newInstance(KRAConnectorInfo.class); + Unmarshaller unmarshaller = context.createUnmarshaller(); + KRAConnectorInfo info = (KRAConnectorInfo) unmarshaller.unmarshal(fis); + + kraConnectorCLI.kraConnectorClient.addConnector(info); + MainCLI.printMessage("Added KRA connector"); + + } else { + if (!connectorExists) { + System.err.println("Error: Cannot add new host to existing connector. " + + "No connector currently exists"); + System.exit(-1); + } + kraConnectorCLI.kraConnectorClient.addHost(kraHost, kraPort); + MainCLI.printMessage("Added KRA host \"" + kraHost + ":" + kraPort + "\""); + } } } diff --git a/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorRemoveCLI.java b/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorRemoveCLI.java index 5f0f63b1a..562ee542a 100644 --- a/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorRemoveCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorRemoveCLI.java @@ -20,6 +20,7 @@ package com.netscape.cmstools.system; import java.util.Arrays; import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.Option; import com.netscape.cmstools.cli.CLI; import com.netscape.cmstools.cli.MainCLI; @@ -34,10 +35,22 @@ public class KRAConnectorRemoveCLI extends CLI { public KRAConnectorRemoveCLI(KRAConnectorCLI kraConnectorCLI) { super("del", "Remove KRA connector from CA", kraConnectorCLI); this.kraConnectorCLI = kraConnectorCLI; + + createOptions(); } public void printHelp() { - formatter.printHelp(getFullName() + " <KRA Host> <KRA Port> [OPTIONS...]", options); + formatter.printHelp(getFullName() + " [OPTIONS...]", options); + } + + public void createOptions() { + Option option = new Option(null, "host", true, "KRA host"); + option.setArgName("host"); + options.addOption(option); + + option = new Option(null, "port", true, "KRA port"); + option.setArgName("port"); + options.addOption(option); } public void execute(String[] args) throws Exception { @@ -61,17 +74,17 @@ public class KRAConnectorRemoveCLI extends CLI { String[] cmdArgs = cmd.getArgs(); - if (cmdArgs.length != 2) { + if (cmdArgs.length != 0) { System.err.println("Error: Incorrect number of arguments specified."); printHelp(); System.exit(-1); } - String kraHost = args[0]; - String kraPort = args[1]; + String kraHost = cmd.getOptionValue("host"); + String kraPort = cmd.getOptionValue("port"); kraConnectorCLI.kraConnectorClient.removeConnector(kraHost, kraPort); - MainCLI.printMessage("Removed KRA connector \""+kraHost + ":" + kraPort +"\""); + MainCLI.printMessage("Removed KRA host \"" + kraHost + ":" + kraPort + "\""); } } diff --git a/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorShowCLI.java b/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorShowCLI.java index 680b151ed..4e3498b94 100644 --- a/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorShowCLI.java +++ b/base/java-tools/src/com/netscape/cmstools/system/KRAConnectorShowCLI.java @@ -4,7 +4,6 @@ import java.util.Arrays; import com.netscape.certsrv.system.KRAConnectorInfo; import com.netscape.cmstools.cli.CLI; -import com.netscape.cmstools.cli.MainCLI; public class KRAConnectorShowCLI extends CLI { @@ -31,7 +30,6 @@ public class KRAConnectorShowCLI extends CLI { // Print the KRA Connector Information. - MainCLI.printMessage("KRA Connector Information"); System.out.println(); String host = info.getHost().trim(); if (host.indexOf(' ') == -1) { |
