From 01bf9b6a5d324d45355659581e9ebbd1280834fe Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 25 Apr 2016 14:41:26 +0000
Subject: [PATCH] Improvements suggested by UCDetector: remove dead code, add final keywords, change visibilities
---
opendj-server-legacy/src/main/java/org/opends/quicksetup/util/Utils.java | 344 +++++++++++---------------------------------------------
1 files changed, 71 insertions(+), 273 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/Utils.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/Utils.java
index 95d5896..151d9d6 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/Utils.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/Utils.java
@@ -23,6 +23,7 @@
import static org.opends.admin.ads.util.ConnectionUtils.*;
import static org.opends.messages.QuickSetupMessages.*;
import static org.opends.quicksetup.Installation.*;
+import static org.opends.server.util.CollectionUtils.*;
import static org.opends.server.util.DynamicConstants.*;
import java.io.BufferedOutputStream;
@@ -37,7 +38,6 @@
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.io.PrintWriter;
-import java.io.RandomAccessFile;
import java.net.InetAddress;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -87,7 +87,6 @@
import org.opends.quicksetup.ui.UIFactory;
import org.opends.server.tools.BackendTypeHelper;
import org.opends.server.util.SetupUtils;
-import org.opends.server.util.StaticUtils;
import com.forgerock.opendj.cli.ArgumentConstants;
import com.forgerock.opendj.cli.ClientException;
@@ -239,7 +238,7 @@
* @throws IOException
* if something goes wrong
*/
- public static boolean createFile(File f) throws IOException
+ static boolean createFile(File f) throws IOException
{
if (f != null)
{
@@ -344,22 +343,6 @@
}
/**
- * Returns <CODE>true</CODE> if the parent directory for the provided path
- * exists and <CODE>false</CODE> otherwise.
- *
- * @param path
- * the path that we are analyzing.
- * @return <CODE>true</CODE> if the parent directory for the provided path
- * exists and <CODE>false</CODE> otherwise.
- */
- public static boolean parentDirectoryExists(String path)
- {
- File f = new File(path);
- File parentFile = f.getParentFile();
- return parentFile != null && parentFile.isDirectory();
- }
-
- /**
* Returns <CODE>true</CODE> if the the provided path is a file and exists and
* <CODE>false</CODE> otherwise.
*
@@ -446,7 +429,7 @@
* @return boolean indicating whether or not the input <code>f</code> has a
* parent after this method is invoked.
*/
- public static boolean ensureParentsExist(File f)
+ static boolean ensureParentsExist(File f)
{
final File parent = f.getParentFile();
return parent.exists() || parent.mkdirs();
@@ -455,21 +438,6 @@
/**
* Creates the a directory in the provided path.
*
- * @param path
- * the path.
- * @return <CODE>true</CODE> if the path was created or already existed (and
- * was a directory) and <CODE>false</CODE> otherwise.
- * @throws IOException
- * if something goes wrong.
- */
- public static boolean createDirectory(String path) throws IOException
- {
- return createDirectory(new File(path));
- }
-
- /**
- * Creates the a directory in the provided path.
- *
* @param f
* the path.
* @return <CODE>true</CODE> if the path was created or already existed (and
@@ -477,7 +445,7 @@
* @throws IOException
* if something goes wrong.
*/
- public static boolean createDirectory(File f) throws IOException
+ static boolean createDirectory(File f) throws IOException
{
if (f.exists())
{
@@ -497,23 +465,18 @@
* @throws IOException
* if something goes wrong.
*/
- public static void createFile(File path, InputStream is) throws IOException
+ static void createFile(File path, InputStream is) throws IOException
{
- FileOutputStream out;
- BufferedOutputStream dest;
- byte[] data = new byte[BUFFER_SIZE];
- int count;
-
- out = new FileOutputStream(path);
-
- dest = new BufferedOutputStream(out);
-
- while ((count = is.read(data, 0, BUFFER_SIZE)) != -1)
+ try (FileOutputStream out = new FileOutputStream(path);
+ BufferedOutputStream dest = new BufferedOutputStream(out))
{
- dest.write(data, 0, count);
+ byte[] data = new byte[BUFFER_SIZE];
+ int count;
+ while ((count = is.read(data, 0, BUFFER_SIZE)) != -1)
+ {
+ dest.write(data, 0, count);
+ }
}
- dest.flush();
- dest.close();
}
/**
@@ -593,58 +556,6 @@
}
/**
- * Returns <CODE>true</CODE> if there is more disk space in the provided path
- * than what is specified with the bytes parameter.
- *
- * @param directoryPath
- * the path.
- * @param bytes
- * the disk space.
- * @return <CODE>true</CODE> if there is more disk space in the provided path
- * than what is specified with the bytes parameter.
- */
- public static synchronized boolean hasEnoughSpace(String directoryPath, long bytes)
- {
- // TODO This does not work with quotas etc. but at least it seems that
- // we do not write all data on disk if it fails.
- boolean hasEnoughSpace = false;
- File file = null;
- RandomAccessFile raf = null;
- File directory = new File(directoryPath);
- boolean deleteDirectory = false;
- if (!directory.exists())
- {
- deleteDirectory = directory.mkdir();
- }
-
- try
- {
- file = File.createTempFile("temp" + System.nanoTime(), ".tmp", directory);
- raf = new RandomAccessFile(file, "rw");
- raf.setLength(bytes);
- hasEnoughSpace = true;
- }
- catch (IOException ex)
- { /* do nothing */
- }
- finally
- {
- StaticUtils.close(raf);
- if (file != null)
- {
- file.delete();
- }
- }
-
- if (deleteDirectory)
- {
- directory.delete();
- }
-
- return hasEnoughSpace;
- }
-
- /**
* Gets a localized representation of the provide TopologyCacheException.
*
* @param te
@@ -701,7 +612,7 @@
* @throws InterruptedException
* if the Runtime.exec method is interrupted.
*/
- public static int setPermissionsUnix(List<String> paths, String permissions) throws IOException,
+ static int setPermissionsUnix(List<String> paths, String permissions) throws IOException,
InterruptedException
{
String[] args = new String[paths.size() + 2];
@@ -730,7 +641,7 @@
* @throws InterruptedException
* if the Runtime.exec method is interrupted.
*/
- public static int setPermissionsUnix(String path, String permissions) throws IOException, InterruptedException
+ static int setPermissionsUnix(String path, String permissions) throws IOException, InterruptedException
{
String[] args = new String[] { "chmod", permissions, path };
Process p = Runtime.getRuntime().exec(args);
@@ -911,14 +822,9 @@
{
String line = reader.readLine();
File instanceLoc = new File(line.trim());
- if (instanceLoc.isAbsolute())
- {
- return getCanonicalPath(instanceLoc);
- }
- else
- {
- return getCanonicalPath(new File(installPath + File.separator + instanceLoc.getPath()));
- }
+ return getCanonicalPath(instanceLoc.isAbsolute()
+ ? instanceLoc
+ : new File(installPath + File.separator + instanceLoc.getPath()));
}
catch (Exception e)
{
@@ -953,63 +859,13 @@
}
/**
- * Returns the number of entries contained in the zip file. This is used to
- * update properly the progress bar ratio.
- *
- * @return the number of entries contained in the zip file.
- */
- public static int getNumberZipEntries()
- {
- // TODO we should get this dynamically during build
- return 165;
- }
-
- /**
- * Creates a string consisting of the string representation of the elements in
- * the <code>list</code> separated by <code>separator</code>.
- *
- * @param list
- * the list to print
- * @param separator
- * to use in separating elements
- * @param prefix
- * prepended to each individual element in the list before adding to
- * the returned string.
- * @param suffix
- * appended to each individual element in the list before adding to
- * the returned string.
- * @return String representing the list
- */
- public static String listToString(List<?> list, String separator, String prefix, String suffix)
- {
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < list.size(); i++)
- {
- if (prefix != null)
- {
- sb.append(prefix);
- }
- sb.append(list.get(i));
- if (suffix != null)
- {
- sb.append(suffix);
- }
- if (i < list.size() - 1)
- {
- sb.append(separator);
- }
- }
- return sb.toString();
- }
-
- /**
* Returns the file system permissions for a file.
*
* @param file
* the file for which we want the file permissions.
* @return the file system permissions for the file.
*/
- public static String getFileSystemPermissions(File file)
+ static String getFileSystemPermissions(File file)
{
String name = file.getName();
if (file.getParent().endsWith(File.separator + Installation.WINDOWS_BINARIES_PATH_RELATIVE)
@@ -1047,89 +903,42 @@
*/
public static String breakHtmlString(CharSequence cs, int maxll)
{
- if (cs != null)
- {
- String d = cs.toString();
- int len = d.length();
- if (len <= 0)
- {
- return d;
- }
- if (len > maxll)
- {
- // First see if there are any tags that would cause a
- // natural break in the line. If so start line break
- // point evaluation from that point.
- for (String tag : Constants.BREAKING_TAGS)
- {
- int p = d.lastIndexOf(tag, maxll);
- if (p > 0 && p < len)
- {
- return d.substring(0, p + tag.length()) + breakHtmlString(d.substring(p + tag.length()), maxll);
- }
- }
-
- // Now look for spaces in which to insert a break.
- // First see if there are any spaces counting backward
- // from the max line length. If there aren't any, then
- // use the first space encountered after the max line
- // length.
- int p = d.lastIndexOf(' ', maxll);
- if (p <= 0)
- {
- p = d.indexOf(' ', maxll);
- }
- if (p > 0 && p < len)
- {
- return d.substring(0, p) + Constants.HTML_LINE_BREAK + breakHtmlString(d.substring(p + 1), maxll);
- }
- else
- {
- return d;
- }
- }
- else
- {
- return d;
- }
- }
- else
+ if (cs == null)
{
return null;
}
- }
- /**
- * Converts existing HTML break tags to native line separators.
- *
- * @param s
- * string to convert
- * @return converted string
- */
- public static String convertHtmlBreakToLineSeparator(String s)
- {
- return s.replaceAll("<br>", Constants.LINE_SEPARATOR);
- }
-
- /**
- * Strips any potential HTML markup from a given string.
- *
- * @param s
- * string to strip
- * @return resulting string
- */
- public static String stripHtml(String s)
- {
- if (s != null)
+ String d = cs.toString();
+ int len = d.length();
+ if (len <= 0 || len <= maxll)
{
- // This is not a comprehensive solution but addresses the few tags
- // that we have in Resources.properties at the moment.
- // Note that the following might strip out more than is intended for non-tags
- // like '<your name here>' or for funky tags like '<tag attr="1 > 0">'.
- // See test class for cases that might cause problems.
- return s.replaceAll("<.*?>", "");
+ return d;
}
- return null;
+
+ // First see if there are any tags that would cause a natural break in the line.
+ // If so start line break point evaluation from that point.
+ for (String tag : Constants.BREAKING_TAGS)
+ {
+ int p = d.lastIndexOf(tag, maxll);
+ if (p > 0 && p < len)
+ {
+ return d.substring(0, p + tag.length()) + breakHtmlString(d.substring(p + tag.length()), maxll);
+ }
+ }
+
+ // Now look for spaces in which to insert a break.
+ // First see if there are any spaces counting backward from the max line length.
+ // If there aren't any, then use the first space encountered after the max line length.
+ int p = d.lastIndexOf(' ', maxll);
+ if (p <= 0)
+ {
+ p = d.indexOf(' ', maxll);
+ }
+ if (0 < p && p < len)
+ {
+ return d.substring(0, p) + Constants.HTML_LINE_BREAK + breakHtmlString(d.substring(p + 1), maxll);
+ }
+ return d;
}
/**
@@ -1139,7 +948,7 @@
* String to test
* @return true if the string contains HTML
*/
- public static boolean containsHtml(String text)
+ static boolean containsHtml(String text)
{
return text != null && text.indexOf('<') != -1 && text.indexOf('>') != -1;
}
@@ -1650,7 +1459,7 @@
public static List<String> getSetupEquivalentCommandLine(final UserData userData)
{
List<String> cmdLine = new ArrayList<>();
- cmdLine.add(getInstallDir(userData) + getSetupFileName());
+ cmdLine.add(getInstallDir() + getSetupFileName());
cmdLine.add("--cli");
final ManagedObjectDefinition<? extends BackendCfgClient, ? extends BackendCfg> backendType =
@@ -1885,15 +1694,13 @@
/**
* Returns the full path of the command-line for a given script name.
*
- * @param userData
- * the user data.
* @param scriptBasicName
* the script basic name (with no extension).
* @return the full path of the command-line for a given script name.
*/
- private static String getCommandLinePath(UserData userData, String scriptBasicName)
+ private static String getCommandLinePath(String scriptBasicName)
{
- String installDir = getInstallDir(userData);
+ String installDir = getInstallDir();
if (isWindows())
{
return installDir + WINDOWS_BINARIES_PATH_RELATIVE + File.separatorChar + scriptBasicName + ".bat";
@@ -1911,7 +1718,7 @@
*
* @return the installation directory.
*/
- private static String getInstallDir(UserData userData)
+ private static String getInstallDir()
{
if (installDir == null)
{
@@ -1922,7 +1729,6 @@
installDir += File.separatorChar;
}
}
-
return installDir;
}
@@ -1942,7 +1748,7 @@
Set<String> baseDNs, ServerDescriptor server)
{
List<String> cmdLine = new ArrayList<>();
- String cmdName = getCommandLinePath(userData, "dsreplication");
+ String cmdName = getCommandLinePath("dsreplication");
cmdLine.add(cmdName);
cmdLine.add(subcommand);
@@ -2087,32 +1893,24 @@
public static List<List<String>> getDsConfigReplicationEnableEquivalentCommandLines(UserData userData)
{
final List<List<String>> cmdLines = new ArrayList<>();
- final String cmdName = getCommandLinePath(userData, "dsconfig");
+ final String cmdName = getCommandLinePath("dsconfig");
- List<String> connectionArgs = new ArrayList<>();
- connectionArgs.add("--hostName");
- connectionArgs.add(userData.getHostName());
- connectionArgs.add("--port");
- connectionArgs.add(String.valueOf(userData.getAdminConnectorPort()));
- connectionArgs.add("--bindDN");
- connectionArgs.add(userData.getDirectoryManagerDn());
- connectionArgs.add("--bindPassword");
- connectionArgs.add(OBFUSCATED_VALUE);
- connectionArgs.add("--trustAll");
- connectionArgs.add("--no-prompt");
- connectionArgs.add("--noPropertiesFile");
+ List<String> connectionArgs = newArrayList(
+ "--hostName", userData.getHostName(),
+ "--port", String.valueOf(userData.getAdminConnectorPort()),
+ "--bindDN", userData.getDirectoryManagerDn(),
+ "--bindPassword", OBFUSCATED_VALUE,
+ "--trustAll",
+ "--no-prompt",
+ "--noPropertiesFile");
- List<String> cmdReplicationServer = new ArrayList<>();
- cmdReplicationServer.add(cmdName);
- cmdReplicationServer.add("create-replication-server");
- cmdReplicationServer.add("--provider-name");
- cmdReplicationServer.add("Multimaster Synchronization");
- cmdReplicationServer.add("--set");
- cmdReplicationServer.add("replication-port:" + userData.getReplicationOptions().getReplicationPort());
- cmdReplicationServer.add("--set");
- cmdReplicationServer.add("replication-server-id:1");
- cmdReplicationServer.add("--type");
- cmdReplicationServer.add("generic");
+ List<String> cmdReplicationServer = newArrayList(
+ cmdName,
+ "create-replication-server",
+ "--provider-name", "Multimaster Synchronization",
+ "--set", "replication-port:" + userData.getReplicationOptions().getReplicationPort(),
+ "--set", "replication-server-id:1",
+ "--type", "generic");
cmdReplicationServer.addAll(connectionArgs);
cmdLines.add(cmdReplicationServer);
--
Gitblit v1.10.0