summaryrefslogtreecommitdiffstats
path: root/base/java-tools/src
diff options
context:
space:
mode:
authorAde Lee <alee@redhat.com>2016-06-10 22:18:03 -0400
committerEndi S. Dewata <edewata@redhat.com>2016-06-13 21:02:32 +0200
commit2ff3c4d50a3ca3f66db097d2c15f46417ad5a3fc (patch)
tree661d96cb6a6f2bfcc585889aed4c6f0e67ad6974 /base/java-tools/src
parent5f1bd9ce85dbe13ce8b40e6ffcf6812d6e54a12d (diff)
downloadpki-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')
-rw-r--r--base/java-tools/src/com/netscape/cmstools/system/KRAConnectorAddCLI.java66
-rw-r--r--base/java-tools/src/com/netscape/cmstools/system/KRAConnectorRemoveCLI.java23
-rw-r--r--base/java-tools/src/com/netscape/cmstools/system/KRAConnectorShowCLI.java2
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) {