From 769a4f06af790ddd713bb280ffd5f657886ae90a Mon Sep 17 00:00:00 2001
From: Violette Roche-Montane <violette.roche-montane@forgerock.com>
Date: Wed, 12 Feb 2014 16:11:06 +0000
Subject: [PATCH] Checkpoint commit for OPENDJ-1343 Migrate dsconfig / OPENDJ-1303 "opendj-cli" - added classes needeed by DSConfig.
---
opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/Utils.java | 48 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 47 insertions(+), 1 deletions(-)
diff --git a/opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/Utils.java b/opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/Utils.java
index 0c48ba0..0ee1a38 100644
--- a/opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/Utils.java
+++ b/opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/Utils.java
@@ -26,7 +26,12 @@
*/
package com.forgerock.opendj.cli;
-import static com.forgerock.opendj.cli.CliMessages.*;
+import static com.forgerock.opendj.cli.CliMessages.ERR_INCOMPATIBLE_JAVA_VERSION;
+import static com.forgerock.opendj.cli.CliMessages.INFO_TIME_IN_DAYS_HOURS_MINUTES_SECONDS;
+import static com.forgerock.opendj.cli.CliMessages.INFO_TIME_IN_HOURS_MINUTES_SECONDS;
+import static com.forgerock.opendj.cli.CliMessages.INFO_TIME_IN_MINUTES_SECONDS;
+import static com.forgerock.opendj.cli.CliMessages.INFO_TIME_IN_SECONDS;
+import com.forgerock.opendj.util.OperatingSystem;
import static com.forgerock.opendj.util.StaticUtils.EOL;
import java.io.File;
@@ -34,7 +39,10 @@
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
import java.util.StringTokenizer;
+import java.util.TimeZone;
import org.forgerock.i18n.LocalizableMessage;
@@ -42,10 +50,32 @@
* This class provides utility functions for all the client side tools.
*/
final public class Utils {
+
/** Platform appropriate line separator. */
static public final String LINE_SEPARATOR = System.getProperty("line.separator");
/**
+ * The value used to display arguments that must be obfuscated (such as passwords). This does not require
+ * localization (since the output of command builder by its nature is not localized).
+ */
+ public final static String OBFUSCATED_VALUE = "******";
+
+ /**
+ * The date format string that will be used to construct and parse dates represented using generalized time. It is
+ * assumed that the provided date formatter will be set to UTC.
+ */
+ public static final String DATE_FORMAT_LOCAL_TIME = "dd/MMM/yyyy:HH:mm:ss Z";
+
+ private static final String COMMENT_SHELL_UNIX = "# ";
+ private static final String COMMENT_BATCH_WINDOWS = "rem ";
+
+ /**
+ * The String used to write comments in a shell (or batch) script.
+ */
+ public static final String SHELL_COMMENT_SEPARATOR = OperatingSystem.isWindows() ? COMMENT_BATCH_WINDOWS
+ : COMMENT_SHELL_UNIX;
+
+ /**
* The column at which to wrap long lines of output in the command-line
* tools.
*/
@@ -65,6 +95,22 @@
}
/**
+ * Formats a Date to String representation in "dd/MMM/yyyy:HH:mm:ss Z".
+ *
+ * @param date
+ * to format; null if <code>date</code> is null
+ * @return string representation of the date
+ */
+ public String formatDateTimeStringForEquivalentCommand(Date date) {
+ String timeStr = null;
+ if (date != null) {
+ SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT_LOCAL_TIME);
+ dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
+ timeStr = dateFormat.format(date);
+ }
+ return timeStr;
+ }
+ /**
* Filters the provided value to ensure that it is appropriate for use as an
* exit code. Exit code values are generally only allowed to be between 0
* and 255, so any value outside of this range will be converted to 255,
--
Gitblit v1.10.0