From 6acb5680cc685afc071ca5bcc358d31690bb1786 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 13 Feb 2014 10:24:56 +0000
Subject: [PATCH] Code cleanups: - Factorized code - Fixed Sonar violations - Removed duplicated lines reported by Sonar - Applied refactorings suggested by AutoRefactor plugin
---
opendj-cli/src/main/java/com/forgerock/opendj/cli/CommandBuilder.java | 36 ++++++++++++++++--------------------
1 files changed, 16 insertions(+), 20 deletions(-)
diff --git a/opendj-cli/src/main/java/com/forgerock/opendj/cli/CommandBuilder.java b/opendj-cli/src/main/java/com/forgerock/opendj/cli/CommandBuilder.java
index a4da3f1..b2a28ef 100644
--- a/opendj-cli/src/main/java/com/forgerock/opendj/cli/CommandBuilder.java
+++ b/opendj-cli/src/main/java/com/forgerock/opendj/cli/CommandBuilder.java
@@ -28,9 +28,12 @@
import static com.forgerock.opendj.cli.Utils.OBFUSCATED_VALUE;
+import java.util.Arrays;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
import com.forgerock.opendj.util.OperatingSystem;
@@ -188,28 +191,25 @@
} else if (arg instanceof FileBasedArgument) {
for (String value : ((FileBasedArgument) arg).getNameToValueMap().keySet()) {
builder.append(lineSeparator + argName + " ");
- if (isObfuscated(arg) && !showObfuscated) {
- value = OBFUSCATED_VALUE;
- } else {
- value = escapeValue(value);
- }
- builder.append(value);
+ builder.append(getOutputValue(value, arg, showObfuscated));
}
} else {
for (String value : arg.getValues()) {
builder.append(lineSeparator + argName + " ");
- if (isObfuscated(arg) && !showObfuscated) {
- value = OBFUSCATED_VALUE;
- } else {
- value = escapeValue(value);
- }
- builder.append(value);
+ builder.append(getOutputValue(value, arg, showObfuscated));
}
}
}
return builder.toString();
}
+ private String getOutputValue(final String value, final Argument arg, final boolean showObfuscated) {
+ if (isObfuscated(arg) && !showObfuscated) {
+ return OBFUSCATED_VALUE;
+ }
+ return escapeValue(value);
+ }
+
/**
* Clears the arguments.
*/
@@ -238,9 +238,9 @@
return obfuscatedArgs.contains(argument);
}
- // Chars that require special treatment when passing them to command-line.
- private final static char[] CHARSTOESCAPE =
- { ' ', '\t', '\n', '|', ';', '<', '>', '(', ')', '$', '`', '\\', '"', '\'' };
+ /** Chars that require special treatment when passing them to command-line. */
+ private final static Set<Character> CHARSTOESCAPE = new TreeSet<Character>(Arrays.asList(
+ ' ', '\t', '\n', '|', ';', '<', '>', '(', ')', '$', '`', '\\', '"', '\''));
/**
* This method simply takes a value and tries to transform it (with escape or '"') characters so that it can be used
@@ -255,11 +255,7 @@
if (OperatingSystem.isUnix()) {
for (int i = 0; i < value.length(); i++) {
final char c = value.charAt(i);
- boolean charToEscapeFound = false;
- for (int j = 0; j < CHARSTOESCAPE.length && !charToEscapeFound; j++) {
- charToEscapeFound = c == CHARSTOESCAPE[j];
- }
- if (charToEscapeFound) {
+ if (CHARSTOESCAPE.contains(c)) {
b.append('\\');
}
b.append(c);
--
Gitblit v1.10.0