summaryrefslogtreecommitdiffstats
path: root/base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java
diff options
context:
space:
mode:
Diffstat (limited to 'base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java')
-rw-r--r--base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java52
1 files changed, 46 insertions, 6 deletions
diff --git a/base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java b/base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java
index 0b8d298ff..466a8412a 100644
--- a/base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/cert/CertFindCLI.java
@@ -265,17 +265,36 @@ public class CertFindCLI extends CLI {
options.addOption(option);
//validityLengthinUse
- option = new Option(null, "validityOperation", true, "Validity operation: \"<=\" or \">=\"");
+ option = new Option(null, "validityOperation", true, "Validity duration operation: \"<=\" or \">=\"");
option.setArgName("operation");
options.addOption(option);
- option = new Option(null, "validityCount", true, "Validity count");
+ option = new Option(null, "validityCount", true, "Validity duration count");
option.setArgName("count");
options.addOption(option);
- option = new Option(null, "validityUnit", true, "Validity unit");
- option.setArgName("milliseconds");
+ option = new Option(null, "validityUnit", true, "Validity duration unit: day, week, month (default), year");
+ option.setArgName("day|week|month|year");
options.addOption(option);
}
+ public Long convertValidityDurationUnit(String unit) {
+
+ if (unit.equalsIgnoreCase("day")) {
+ return 86400000l;
+
+ } else if (unit.equalsIgnoreCase("week")) {
+ return 604800000l;
+
+ } else if (unit.equalsIgnoreCase("month")) {
+ return 2592000000l;
+
+ } else if (unit.equalsIgnoreCase("year")) {
+ return 31536000000l;
+
+ } else {
+ throw new Error("Invalid validity duration unit: "+unit);
+ }
+ }
+
public void addSearchAttribute(CommandLine cmd, CertSearchRequest csd)
throws java.text.ParseException {
@@ -394,18 +413,39 @@ public class CertFindCLI extends CLI {
Date date = dateFormat.parse(cmd.getOptionValue("validNotAfterTo"));
csd.setValidNotAfterTo(""+date.getTime());
}
+
if (cmd.hasOption("validityOperation")) {
csd.setValidityLengthInUse(true);
csd.setValidityOperation(cmd.getOptionValue("validityOperation"));
}
+
if (cmd.hasOption("validityCount")) {
csd.setValidityLengthInUse(true);
- csd.setValidityCount(cmd.getOptionValue("validityCount"));
+ String count = cmd.getOptionValue("validityCount");
+ csd.setValidityCount(Integer.parseInt(count));
}
+
if (cmd.hasOption("validityUnit")) {
csd.setValidityLengthInUse(true);
- csd.setValidityUnit(cmd.getOptionValue("validityUnit"));
+ String unit = cmd.getOptionValue("validityUnit");
+ Long value = convertValidityDurationUnit(unit);
+ csd.setValidityUnit(value);
}
+ if (csd.getValidityLengthInUse()) {
+
+ if (csd.getValidityOperation() == null) {
+ throw new Error("Mising validity duration operation");
+ }
+
+ if (csd.getValidityCount() == null) {
+ throw new Error("Mising validity duration count");
+ }
+
+ if (csd.getValidityUnit() == null) {
+ Long value = convertValidityDurationUnit("month");
+ csd.setValidityUnit(value);
+ }
+ }
}
}