From 6b47d8afcb80c74e8c29d2702a38e8948056b462 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 27 Jan 2015 15:20:15 +0000
Subject: [PATCH] Code cleanup: Used Sets instead of Lists where it makes sense.
---
opendj3-server-dev/src/server/org/opends/server/tools/ImportLDIF.java | 292 +++++++++++++++++++--------------------------------------
1 files changed, 99 insertions(+), 193 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/ImportLDIF.java b/opendj3-server-dev/src/server/org/opends/server/tools/ImportLDIF.java
index f09ea69..eade487 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/ImportLDIF.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/ImportLDIF.java
@@ -40,6 +40,7 @@
import java.util.HashSet;
import java.util.List;
import java.util.Random;
+import java.util.Set;
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.slf4j.LocalizedLogger;
@@ -118,8 +119,7 @@
/**
* Processes the command-line arguments and invokes the import process.
*
- * @param args The command-line arguments provided to thisprogram.
- *
+ * @param args The command-line arguments provided to this program.
* @return The error code.
*/
public static int mainImportLDIF(String[] args)
@@ -549,9 +549,10 @@
private void addAttribute2(List<RawAttribute> attributes, String attrName, Argument arg)
{
- if (arg.getValue() != null && !arg.getValue().equals(arg.getDefaultValue()))
+ final String value = arg.getValue();
+ if (value != null && !value.equals(arg.getDefaultValue()))
{
- attributes.add(new LDAPAttribute(attrName, toByteStrings(arg.getValue())));
+ attributes.add(new LDAPAttribute(attrName, toByteStrings(value)));
}
}
@@ -642,21 +643,9 @@
{
directoryServer.initializeSchema();
}
- catch (ConfigException ce)
- {
- LocalizableMessage message = ERR_CANNOT_LOAD_SCHEMA.get(ce.getMessage());
- err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
- catch (InitializationException ie)
- {
- LocalizableMessage message = ERR_CANNOT_LOAD_SCHEMA.get(ie.getMessage());
- err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
catch (Exception e)
{
- LocalizableMessage message = ERR_CANNOT_LOAD_SCHEMA.get(getExceptionMessage(e));
+ LocalizableMessage message = ERR_CANNOT_LOAD_SCHEMA.get(getMessage(e));
err.println(wrapText(message, MAX_LINE_WIDTH));
return 1;
}
@@ -668,24 +657,9 @@
CoreConfigManager coreConfigManager = new CoreConfigManager(directoryServer.getServerContext());
coreConfigManager.initializeCoreConfig();
}
- catch (ConfigException ce)
- {
- LocalizableMessage message = ERR_CANNOT_INITIALIZE_CORE_CONFIG.get(
- ce.getMessage());
- err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
- catch (InitializationException ie)
- {
- LocalizableMessage message = ERR_CANNOT_INITIALIZE_CORE_CONFIG.get(
- ie.getMessage());
- err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
catch (Exception e)
{
- LocalizableMessage message = ERR_CANNOT_INITIALIZE_CORE_CONFIG.get(
- getExceptionMessage(e));
+ LocalizableMessage message = ERR_CANNOT_INITIALIZE_CORE_CONFIG.get(getMessage(e));
err.println(wrapText(message, MAX_LINE_WIDTH));
return 1;
}
@@ -696,24 +670,9 @@
{
directoryServer.initializeCryptoManager();
}
- catch (ConfigException ce)
- {
- LocalizableMessage message = ERR_CANNOT_INITIALIZE_CRYPTO_MANAGER.get(
- ce.getMessage());
- err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
- catch (InitializationException ie)
- {
- LocalizableMessage message = ERR_CANNOT_INITIALIZE_CRYPTO_MANAGER.get(
- ie.getMessage());
- err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
catch (Exception e)
{
- LocalizableMessage message = ERR_CANNOT_INITIALIZE_CRYPTO_MANAGER.get(
- getExceptionMessage(e));
+ LocalizableMessage message = ERR_CANNOT_INITIALIZE_CRYPTO_MANAGER.get(getMessage(e));
err.println(wrapText(message, MAX_LINE_WIDTH));
return 1;
}
@@ -740,17 +699,9 @@
{
directoryServer.initializeRootDNConfigManager();
}
- catch (ConfigException ce)
+ catch (Exception e)
{
- LocalizableMessage message = ERR_CANNOT_INITIALIZE_ROOTDN_MANAGER.get(
- ce.getMessage());
- err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
- catch (InitializationException ie)
- {
- LocalizableMessage message = ERR_CANNOT_INITIALIZE_ROOTDN_MANAGER.get(
- ie.getMessage());
+ LocalizableMessage message = ERR_CANNOT_INITIALIZE_ROOTDN_MANAGER.get(getMessage(e));
err.println(wrapText(message, MAX_LINE_WIDTH));
return 1;
}
@@ -761,24 +712,9 @@
HashSet<PluginType> pluginTypes = new HashSet<PluginType>(1);
directoryServer.initializePlugins(pluginTypes);
}
- catch (ConfigException ce)
- {
- LocalizableMessage message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PLUGINS.get(
- ce.getMessage());
- err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
- catch (InitializationException ie)
- {
- LocalizableMessage message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PLUGINS.get(
- ie.getMessage());
- err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
catch (Exception e)
{
- LocalizableMessage message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PLUGINS.get(
- getExceptionMessage(e));
+ LocalizableMessage message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PLUGINS.get(getMessage(e));
err.println(wrapText(message, MAX_LINE_WIDTH));
return 1;
}
@@ -801,24 +737,9 @@
{
directoryServer.initializeAuthenticationPolicyComponents();
}
- catch (ConfigException ce)
- {
- LocalizableMessage message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PWPOLICY.get(
- ce.getMessage());
- err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
- catch (InitializationException ie)
- {
- LocalizableMessage message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PWPOLICY.get(
- ie.getMessage());
- err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
catch (Exception e)
{
- LocalizableMessage message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PWPOLICY.get(
- getExceptionMessage(e));
+ LocalizableMessage message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PWPOLICY.get(getMessage(e));
err.println(wrapText(message, MAX_LINE_WIDTH));
return 1;
}
@@ -833,24 +754,9 @@
DirectoryServer.getPluginConfigManager();
pluginConfigManager.initializeUserPlugins(pluginTypes);
}
- catch (ConfigException ce)
- {
- LocalizableMessage message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PLUGINS.get(
- ce.getMessage());
- err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
- catch (InitializationException ie)
- {
- LocalizableMessage message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PLUGINS.get(
- ie.getMessage());
- err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
catch (Exception e)
{
- LocalizableMessage message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PLUGINS.get(
- getExceptionMessage(e));
+ LocalizableMessage message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PLUGINS.get(getMessage(e));
err.println(wrapText(message, MAX_LINE_WIDTH));
return 1;
}
@@ -985,13 +891,12 @@
// imported and finding backends with subordinate base DNs that should be
// excluded from the import.
Backend<?> backend = null;
- List<DN> defaultIncludeBranches = null;
- List<DN> excludeBranches = new ArrayList<DN>();
- List<DN> includeBranches = new ArrayList<DN>();
+ Set<DN> defaultIncludeBranches = null;
+ Set<DN> excludeBranches = new HashSet<DN>();
+ Set<DN> includeBranches = new HashSet<DN>();
if (includeBranchStrings.isPresent())
{
- includeBranches = new ArrayList<DN>();
for (String s : includeBranchStrings.getValues())
{
DN includeBranch;
@@ -1037,23 +942,7 @@
}
else
{
- boolean useBackend = false;
- for(DN baseDN : dnList.get(i))
- {
- for(DN includeDN : includeBranches)
- {
- if(baseDN.isAncestorOf(includeDN))
- {
- useBackend = true;
- break;
- }
- }
- if(useBackend)
- {
- break;
- }
- }
- if(!useBackend)
+ if (!useBackend(includeBranches, dnList.get(i)))
{
continue;
}
@@ -1062,7 +951,7 @@
if (backend == null)
{
backend = b;
- defaultIncludeBranches = dnList.get(i);
+ defaultIncludeBranches = new HashSet<DN>(dnList.get(i));
}
else
{
@@ -1088,14 +977,9 @@
{
for (DN importBase : defaultIncludeBranches)
{
- if (baseDN.isDescendantOf(importBase) &&
- (! baseDN.equals(importBase)))
+ if (!baseDN.equals(importBase) && baseDN.isDescendantOf(importBase))
{
- if (! excludeBranches.contains(baseDN))
- {
- excludeBranches.add(baseDN);
- }
-
+ excludeBranches.add(baseDN);
break;
}
}
@@ -1112,13 +996,7 @@
defaultIncludeBranches.size() > 1 &&
!clearBackend.isPresent())
{
- StringBuilder builder = new StringBuilder();
- builder.append(backend.getBaseDNs()[0].toString());
- for(int i = 1; i < backend.getBaseDNs().length; i++)
- {
- builder.append(" / ");
- builder.append(backend.getBaseDNs()[i].toString());
- }
+ StringBuilder builder = join(backend.getBaseDNs(), " / ");
LocalizableMessage message = ERR_LDIFIMPORT_MISSING_CLEAR_BACKEND.get(
builder, clearBackend.getLongIdentifier());
err.println(wrapText(message, MAX_LINE_WIDTH));
@@ -1143,10 +1021,7 @@
return 1;
}
- if (! excludeBranches.contains(excludeBranch))
- {
- excludeBranches.add(excludeBranch);
- }
+ excludeBranches.add(excludeBranch);
}
if (! includeBranchStrings.isPresent())
@@ -1188,22 +1063,7 @@
}
else
{
- Random random;
- if (randomSeed.isPresent())
- {
- try
- {
- random = new Random(randomSeed.getIntValue());
- }
- catch (Exception e)
- {
- random = new Random();
- }
- }
- else
- {
- random = new Random();
- }
+ Random random = newRandom();
String resourcePath = DirectoryServer.getInstanceRoot() + File.separator +
PATH_MAKELDIF_RESOURCE_DIR;
@@ -1252,12 +1112,9 @@
}
importConfig.setBufferSize(LDIF_BUFFER_SIZE);
- importConfig.setExcludeAllUserAttributes(
- excludeAllUserAttributes);
- importConfig.setExcludeAllOperationalAttributes(
- excludeAllOperationalAttributes);
- importConfig.setIncludeAllOpAttributes(
- includeAllOperationalAttributes);
+ importConfig.setExcludeAllUserAttributes(excludeAllUserAttributes);
+ importConfig.setExcludeAllOperationalAttributes(excludeAllOperationalAttributes);
+ importConfig.setIncludeAllOpAttributes(includeAllOperationalAttributes);
importConfig.setIncludeAllUserAttributes(includeAllUserAttributes);
// FIXME -- Should this be conditional?
@@ -1267,15 +1124,9 @@
{
try
{
- ExistingFileBehavior existingBehavior;
- if (overwrite.isPresent())
- {
- existingBehavior = ExistingFileBehavior.OVERWRITE;
- }
- else
- {
- existingBehavior = ExistingFileBehavior.APPEND;
- }
+ ExistingFileBehavior existingBehavior = overwrite.isPresent()
+ ? ExistingFileBehavior.OVERWRITE
+ : ExistingFileBehavior.APPEND;
importConfig.writeRejectedEntries(rejectFile.getValue(),
existingBehavior);
@@ -1291,15 +1142,9 @@
{
try
{
- ExistingFileBehavior existingBehavior;
- if (overwrite.isPresent())
- {
- existingBehavior = ExistingFileBehavior.OVERWRITE;
- }
- else
- {
- existingBehavior = ExistingFileBehavior.APPEND;
- }
+ ExistingFileBehavior existingBehavior = overwrite.isPresent()
+ ? ExistingFileBehavior.OVERWRITE
+ : ExistingFileBehavior.APPEND;
importConfig.writeSkippedEntries(skipFile.getValue(),
existingBehavior);
@@ -1353,18 +1198,16 @@
}
catch (DirectoryException de)
{
- LocalizableMessage message = null;
+ LocalizableMessage msg;
if (de.getResultCode() == ResultCode.CONSTRAINT_VIOLATION)
{
- message =
- ERR_LDIFIMPORT_ERROR_DURING_IMPORT
- .get(ERR_LDIFIMPORT_ERROR_CONSTRAINT_VIOLATION.get());
+ msg = ERR_LDIFIMPORT_ERROR_CONSTRAINT_VIOLATION.get();
}
else
{
- message = ERR_LDIFIMPORT_ERROR_DURING_IMPORT.get(de.getMessageObject());
+ msg = de.getMessageObject();
}
- logger.error(message);
+ logger.error(ERR_LDIFIMPORT_ERROR_DURING_IMPORT.get(msg));
retCode = 1;
}
catch (Exception e)
@@ -1397,6 +1240,69 @@
return retCode;
}
+ private Object getMessage(Exception e)
+ {
+ try
+ {
+ throw e;
+ }
+ catch (ConfigException e2)
+ {
+ return e2.getMessage();
+ }
+ catch (InitializationException e2)
+ {
+ return e2.getMessage();
+ }
+ catch (Exception e2)
+ {
+ return getExceptionMessage(e2);
+ }
+ }
+
+ private boolean useBackend(Set<DN> includeBranches, List<DN> dnlist)
+ {
+ for (DN baseDN : dnlist)
+ {
+ for (DN includeDN : includeBranches)
+ {
+ if (baseDN.isAncestorOf(includeDN))
+ {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ private StringBuilder join(final DN[] baseDNs, final String separator)
+ {
+ final StringBuilder builder = new StringBuilder();
+ builder.append(baseDNs[0].toString());
+ for (int i = 1; i < baseDNs.length; i++)
+ {
+ builder.append(separator);
+ builder.append(baseDNs[i].toString());
+ }
+ return builder;
+ }
+
+ private Random newRandom()
+ {
+ if (randomSeed.isPresent())
+ {
+ try
+ {
+ return new Random(randomSeed.getIntValue());
+ }
+ catch (Exception ignored)
+ {
+ // ignore
+ }
+ }
+ return new Random();
+ }
+
/** {@inheritDoc} */
@Override
public String getTaskId() {
--
Gitblit v1.10.0