From 10f162fe7aef97d8a9655b502bfccbe2cfbd7572 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 21 Mar 2014 13:53:49 +0000
Subject: [PATCH] Removed duplicated code.
---
opendj3-server-dev/src/server/org/opends/server/tools/LDAPDelete.java | 57 +++------
opendj3-server-dev/src/server/org/opends/server/tools/LDAPCompare.java | 52 ++-----
opendj3-server-dev/src/server/org/opends/server/tools/LDAPModify.java | 55 ++------
opendj3-server-dev/src/server/org/opends/server/util/args/LDAPConnectionArgumentParser.java | 105 ++++++++++------
opendj3-server-dev/src/server/org/opends/server/tools/LDAPSearch.java | 41 +-----
opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/types/SmallMapTest.java | 3
6 files changed, 127 insertions(+), 186 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/LDAPCompare.java b/opendj3-server-dev/src/server/org/opends/server/tools/LDAPCompare.java
index f95afa2..06203d5 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/LDAPCompare.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/LDAPCompare.java
@@ -25,6 +25,7 @@
* Portions Copyright 2012-2014 ForgeRock AS
*/
package org.opends.server.tools;
+
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
@@ -37,25 +38,27 @@
import java.util.LinkedList;
import java.util.concurrent.atomic.AtomicInteger;
-import org.opends.admin.ads.util.ConnectionUtils;
import org.forgerock.i18n.LocalizableMessage;
-import org.opends.server.controls.LDAPAssertionRequestControl;
+import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.DecodeException;
+import org.opends.admin.ads.util.ConnectionUtils;
+import org.opends.server.controls.LDAPAssertionRequestControl;
import org.opends.server.protocols.ldap.CompareRequestProtocolOp;
import org.opends.server.protocols.ldap.CompareResponseProtocolOp;
import org.opends.server.protocols.ldap.LDAPFilter;
import org.opends.server.protocols.ldap.LDAPMessage;
import org.opends.server.protocols.ldap.ProtocolOp;
-import org.opends.server.types.*;
-import org.forgerock.opendj.ldap.ByteString;
+import org.opends.server.types.Control;
+import org.opends.server.types.LDAPException;
+import org.opends.server.types.NullOutputStream;
import org.opends.server.util.Base64;
import org.opends.server.util.EmbeddedUtils;
import com.forgerock.opendj.cli.ArgumentException;
import com.forgerock.opendj.cli.ArgumentParser;
import com.forgerock.opendj.cli.BooleanArgument;
+import com.forgerock.opendj.cli.ClientException;
import com.forgerock.opendj.cli.CommonArguments;
-import com.forgerock.opendj.cli.ConsoleApplication;
import com.forgerock.opendj.cli.FileBasedArgument;
import com.forgerock.opendj.cli.IntegerArgument;
import com.forgerock.opendj.cli.StringArgument;
@@ -65,7 +68,7 @@
import static com.forgerock.opendj.cli.ArgumentConstants.*;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
-
+import static org.opends.server.util.args.LDAPConnectionArgumentParser.*;
/**
* This class provides a tool that can be used to issue compare requests to the
@@ -803,37 +806,16 @@
String bindDNValue = bindDN.getValue();
String fileNameValue = filename.getValue();
- String bindPasswordValue = bindPassword.getValue();
- if(bindPasswordValue != null && bindPasswordValue.equals("-") ||
- (!bindPasswordFile.isPresent() &&
- (bindDNValue != null && bindPasswordValue == null)))
+ String bindPasswordValue;
+ try
{
- // read the password from the stdin.
- try
- {
- out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(bindDNValue));
- char[] pwChars = ConsoleApplication.readPassword();
- bindPasswordValue = new String(pwChars);
- //As per rfc 4513(section-5.1.2) a client should avoid sending
- //an empty password to the server.
- while(pwChars.length==0)
- {
- err.println(wrapText(
- INFO_LDAPAUTH_NON_EMPTY_PASSWORD.get(),
- MAX_LINE_WIDTH));
- out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(bindDNValue));
- pwChars = ConsoleApplication.readPassword();
- }
- bindPasswordValue = new String(pwChars);
- } catch(Exception ex)
- {
- err.println(wrapText(ex.getMessage(), MAX_LINE_WIDTH));
- return CLIENT_SIDE_PARAM_ERROR;
- }
- } else if(bindPasswordValue == null)
+ bindPasswordValue = getPasswordValue(
+ bindPassword, bindPasswordFile, bindDNValue, out, err);
+ }
+ catch (ClientException ex)
{
- // Read from file if it exists.
- bindPasswordValue = bindPasswordFile.getValue();
+ err.println(wrapText(ex.getMessage(), MAX_LINE_WIDTH));
+ return CLIENT_SIDE_PARAM_ERROR;
}
String keyStorePathValue = keyStorePath.getValue();
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/LDAPDelete.java b/opendj3-server-dev/src/server/org/opends/server/tools/LDAPDelete.java
index d768e6b..101ff20 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/LDAPDelete.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/LDAPDelete.java
@@ -25,8 +25,6 @@
* Portions Copyright 2012-2014 ForgeRock AS.
*/
package org.opends.server.tools;
-import org.opends.admin.ads.util.ConnectionUtils;
-import org.forgerock.i18n.LocalizableMessage;
import java.io.BufferedReader;
import java.io.FileReader;
@@ -39,33 +37,35 @@
import java.util.LinkedList;
import java.util.concurrent.atomic.AtomicInteger;
+import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.i18n.slf4j.LocalizedLogger;
+import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.DecodeException;
+import org.opends.admin.ads.util.ConnectionUtils;
+import org.opends.server.controls.SubtreeDeleteControl;
import org.opends.server.protocols.ldap.DeleteRequestProtocolOp;
import org.opends.server.protocols.ldap.DeleteResponseProtocolOp;
import org.opends.server.protocols.ldap.LDAPMessage;
import org.opends.server.protocols.ldap.ProtocolOp;
-import org.opends.server.types.*;
-import org.forgerock.opendj.ldap.ByteString;
+import org.opends.server.types.Control;
+import org.opends.server.types.LDAPException;
+import org.opends.server.types.NullOutputStream;
import org.opends.server.util.EmbeddedUtils;
import com.forgerock.opendj.cli.ArgumentException;
import com.forgerock.opendj.cli.ArgumentParser;
import com.forgerock.opendj.cli.BooleanArgument;
import com.forgerock.opendj.cli.CommonArguments;
-import com.forgerock.opendj.cli.ConsoleApplication;
import com.forgerock.opendj.cli.FileBasedArgument;
import com.forgerock.opendj.cli.IntegerArgument;
import com.forgerock.opendj.cli.StringArgument;
-import org.opends.server.controls.SubtreeDeleteControl;
-import org.forgerock.i18n.slf4j.LocalizedLogger;
-
import static org.opends.messages.ToolMessages.*;
import static org.opends.server.protocols.ldap.LDAPResultCode.*;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
import static com.forgerock.opendj.cli.ArgumentConstants.*;
-
+import static org.opends.server.util.args.LDAPConnectionArgumentParser.*;
/**
* This class provides a tool that can be used to issue delete requests to the
@@ -616,38 +616,17 @@
String bindDNValue = bindDN.getValue();
String fileNameValue = filename.getValue();
- String bindPasswordValue = bindPassword.getValue();
- if(bindPasswordValue != null && bindPasswordValue.equals("-") ||
- (!bindPasswordFile.isPresent() &&
- (bindDNValue != null && bindPasswordValue == null)))
+ String bindPasswordValue;
+ try
{
- // read the password from the stdin.
- try
- {
- out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(bindDNValue));
- char[] pwChars = ConsoleApplication.readPassword();
- bindPasswordValue = new String(pwChars);
- //As per rfc 4513(section-5.1.2) a client should avoid sending
- //an empty password to the server.
- while(pwChars.length==0)
- {
- err.println(wrapText(
- INFO_LDAPAUTH_NON_EMPTY_PASSWORD.get(),
- MAX_LINE_WIDTH));
- out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(bindDNValue));
- pwChars = ConsoleApplication.readPassword();
- }
- bindPasswordValue = new String(pwChars);
- } catch(Exception ex)
- {
- logger.traceException(ex);
- err.println(wrapText(ex.getMessage(), MAX_LINE_WIDTH));
- return CLIENT_SIDE_PARAM_ERROR;
- }
- } else if(bindPasswordValue == null)
+ bindPasswordValue = getPasswordValue(
+ bindPassword, bindPasswordFile, bindDNValue, out, err);
+ }
+ catch (Exception ex)
{
- // Read from file if it exists.
- bindPasswordValue = bindPasswordFile.getValue();
+ logger.traceException(ex);
+ err.println(wrapText(ex.getMessage(), MAX_LINE_WIDTH));
+ return CLIENT_SIDE_PARAM_ERROR;
}
String keyStorePathValue = keyStorePath.getValue();
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/LDAPModify.java b/opendj3-server-dev/src/server/org/opends/server/tools/LDAPModify.java
index 4bbbaef..97f93ef 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/LDAPModify.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/LDAPModify.java
@@ -26,8 +26,6 @@
* Portions Copyright 2012-2014 ForgeRock AS.
*/
package org.opends.server.tools;
-import org.opends.admin.ads.util.ConnectionUtils;
-import org.forgerock.i18n.LocalizableMessage;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@@ -38,10 +36,14 @@
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
-import org.opends.server.controls.*;
+import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.slf4j.LocalizedLogger;
-import org.opends.server.plugins.ChangeNumberControlPlugin;
+import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.DecodeException;
+import org.forgerock.opendj.ldap.ResultCode;
+import org.opends.admin.ads.util.ConnectionUtils;
+import org.opends.server.controls.*;
+import org.opends.server.plugins.ChangeNumberControlPlugin;
import org.opends.server.protocols.ldap.AddRequestProtocolOp;
import org.opends.server.protocols.ldap.AddResponseProtocolOp;
import org.opends.server.protocols.ldap.DeleteRequestProtocolOp;
@@ -58,8 +60,6 @@
import org.opends.server.protocols.ldap.ModifyDNResponseProtocolOp;
import org.opends.server.protocols.ldap.ProtocolOp;
import org.opends.server.types.*;
-import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.ByteString;
import org.opends.server.util.AddChangeRecordEntry;
import org.opends.server.util.ChangeRecordEntry;
import org.opends.server.util.EmbeddedUtils;
@@ -72,7 +72,6 @@
import com.forgerock.opendj.cli.ArgumentParser;
import com.forgerock.opendj.cli.BooleanArgument;
import com.forgerock.opendj.cli.CommonArguments;
-import com.forgerock.opendj.cli.ConsoleApplication;
import com.forgerock.opendj.cli.FileBasedArgument;
import com.forgerock.opendj.cli.IntegerArgument;
import com.forgerock.opendj.cli.StringArgument;
@@ -82,8 +81,7 @@
import static com.forgerock.opendj.cli.ArgumentConstants.*;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
-
-
+import static org.opends.server.util.args.LDAPConnectionArgumentParser.*;
/**
* This class provides a tool that can be used to issue modify requests to the
@@ -944,38 +942,17 @@
String bindDNValue = bindDN.getValue();
String fileNameValue = filename.getValue();
- String bindPasswordValue = bindPassword.getValue();
- if(bindPasswordValue != null && bindPasswordValue.equals("-") ||
- (!bindPasswordFile.isPresent() &&
- (bindDNValue != null && bindPasswordValue == null)))
+ String bindPasswordValue;
+ try
{
- // read the password from the stdin.
- try
- {
- out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(bindDNValue));
- char[] pwChars = ConsoleApplication.readPassword();
- bindPasswordValue = new String(pwChars);
- //As per rfc 4513(section-5.1.2) a client should avoid sending
- //an empty password to the server.
- while(pwChars.length==0)
- {
- err.println(wrapText(
- INFO_LDAPAUTH_NON_EMPTY_PASSWORD.get(),
- MAX_LINE_WIDTH));
- out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(bindDNValue));
- pwChars = ConsoleApplication.readPassword();
- }
- bindPasswordValue = new String(pwChars);
- } catch(Exception ex)
- {
- logger.traceException(ex);
- err.println(wrapText(ex.getMessage(), MAX_LINE_WIDTH));
- return CLIENT_SIDE_PARAM_ERROR;
- }
- } else if(bindPasswordValue == null)
+ bindPasswordValue = getPasswordValue(
+ bindPassword, bindPasswordFile, bindDNValue, out, err);
+ }
+ catch (Exception ex)
{
- // Read from file if it exists.
- bindPasswordValue = bindPasswordFile.getValue();
+ logger.traceException(ex);
+ err.println(wrapText(ex.getMessage(), MAX_LINE_WIDTH));
+ return CLIENT_SIDE_PARAM_ERROR;
}
String keyStorePathValue = keyStorePath.getValue();
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/LDAPSearch.java b/opendj3-server-dev/src/server/org/opends/server/tools/LDAPSearch.java
index 59ccc5b..283de62 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/LDAPSearch.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/LDAPSearch.java
@@ -49,7 +49,6 @@
import com.forgerock.opendj.cli.ArgumentParser;
import com.forgerock.opendj.cli.BooleanArgument;
import com.forgerock.opendj.cli.CommonArguments;
-import com.forgerock.opendj.cli.ConsoleApplication;
import com.forgerock.opendj.cli.FileBasedArgument;
import com.forgerock.opendj.cli.IntegerArgument;
import com.forgerock.opendj.cli.MultiChoiceArgument;
@@ -61,6 +60,7 @@
import static com.forgerock.opendj.cli.ArgumentConstants.*;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
+import static org.opends.server.util.args.LDAPConnectionArgumentParser.*;
/**
* This class provides a tool that can be used to issue search requests to the
@@ -1199,39 +1199,17 @@
String baseDNValue = baseDN.getValue();
String bindDNValue = bindDN.getValue();
String fileNameValue = filename.getValue();
- String bindPasswordValue = bindPassword.getValue();
- if(bindPasswordValue != null && bindPasswordValue.equals("-") ||
- (!bindPasswordFile.isPresent() &&
- (bindDNValue != null && bindPasswordValue == null)))
+ String bindPasswordValue;
+ try
{
- // read the password from the stdin.
- try
- {
- out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(bindDNValue));
- char[] pwChars = ConsoleApplication.readPassword();
- bindPasswordValue = new String(pwChars);
- //As per rfc 4513(section-5.1.2) a client should avoid sending
- //an empty password to the server.
- while(pwChars.length ==0)
- {
- err.println(wrapText(
- INFO_LDAPAUTH_NON_EMPTY_PASSWORD.get(),
- MAX_LINE_WIDTH));
- out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(bindDNValue));
- pwChars = ConsoleApplication.readPassword();
- }
- bindPasswordValue = new String(pwChars);
- } catch(Exception ex)
- {
- logger.traceException(ex);
- err.println(wrapText(ex.getMessage(), MAX_LINE_WIDTH));
- return CLIENT_SIDE_PARAM_ERROR;
- }
+ bindPasswordValue = getPasswordValue(
+ bindPassword, bindPasswordFile, bindDNValue, out, err);
}
- else if(bindPasswordValue == null)
+ catch (Exception ex)
{
- // Read from file if it exists.
- bindPasswordValue = bindPasswordFile.getValue();
+ logger.traceException(ex);
+ err.println(wrapText(ex.getMessage(), MAX_LINE_WIDTH));
+ return CLIENT_SIDE_PARAM_ERROR;
}
String keyStorePathValue = keyStorePath.getValue();
@@ -1832,5 +1810,6 @@
}
}
}
+
}
diff --git a/opendj3-server-dev/src/server/org/opends/server/util/args/LDAPConnectionArgumentParser.java b/opendj3-server-dev/src/server/org/opends/server/util/args/LDAPConnectionArgumentParser.java
index 31f26a8..06b8811 100644
--- a/opendj3-server-dev/src/server/org/opends/server/util/args/LDAPConnectionArgumentParser.java
+++ b/opendj3-server-dev/src/server/org/opends/server/util/args/LDAPConnectionArgumentParser.java
@@ -27,37 +27,36 @@
package org.opends.server.util.args;
-import org.forgerock.i18n.LocalizableMessage;
+import java.io.PrintStream;
+import java.util.LinkedHashSet;
+import java.util.LinkedList;
+import java.util.concurrent.atomic.AtomicInteger;
-import static org.opends.messages.ToolMessages.*;
+import javax.net.ssl.SSLException;
+
+import org.forgerock.i18n.LocalizableMessage;
+import org.opends.server.admin.client.cli.SecureConnectionCliArgs;
import org.opends.server.tools.LDAPConnection;
import org.opends.server.tools.LDAPConnectionOptions;
import org.opends.server.tools.SSLConnectionFactory;
import org.opends.server.tools.SSLConnectionException;
import org.opends.server.tools.LDAPConnectionException;
-
-import static org.opends.server.util.ServerConstants.MAX_LINE_WIDTH;
-import static org.opends.server.util.StaticUtils.wrapText;
-
-import org.opends.server.util.cli.LDAPConnectionConsoleInteraction;
-import org.opends.server.admin.client.cli.SecureConnectionCliArgs;
import org.opends.server.types.OpenDsException;
+import org.opends.server.util.cli.LDAPConnectionConsoleInteraction;
import com.forgerock.opendj.cli.Argument;
import com.forgerock.opendj.cli.ArgumentException;
import com.forgerock.opendj.cli.ArgumentParser;
import com.forgerock.opendj.cli.ArgumentGroup;
+import com.forgerock.opendj.cli.ClientException;
import com.forgerock.opendj.cli.ConsoleApplication;
import com.forgerock.opendj.cli.FileBasedArgument;
import com.forgerock.opendj.cli.StringArgument;
-import java.util.LinkedList;
-import java.util.LinkedHashSet;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.io.PrintStream;
-
-import javax.net.ssl.SSLException;
+import static org.opends.messages.ToolMessages.*;
+import static org.opends.server.util.ServerConstants.*;
+import static org.opends.server.util.StaticUtils.*;
/**
* Creates an argument parser pre-populated with arguments for specifying
@@ -493,39 +492,63 @@
PrintStream out,
PrintStream err)
{
- String pwd = bindPwdArg.getValue();
- String bindDN = bindDnArg.getValue();
- if(pwd != null && pwd.equals("-") ||
- (!bindPwdFileArg.isPresent() &&
- (bindDN != null && pwd == null)))
+ try
+ {
+ return getPasswordValue(bindPwdArg, bindPwdFileArg, bindDnArg.getValue(), out,
+ err);
+ }
+ catch (Exception ex)
+ {
+ err.println(wrapText(ex.getMessage(), MAX_LINE_WIDTH));
+ return null;
+ }
+ }
+
+ /**
+ * Commodity method that retrieves the password value analyzing the contents
+ * of a string argument and of a file based argument. It assumes that the
+ * arguments have already been parsed and validated.
+ * If the string is a dash, or no password is available, it will prompt for
+ * it on the command line.
+ *
+ * @param bindPassword the string argument for the password.
+ * @param bindPasswordFile the file based argument for the password.
+ * @param bindDNValue the string value for the bindDN.
+ * @param out stream to write message.
+ * @param err stream to write error message.
+ * @return the password value.
+ * @throws ClientException if the password cannot be read
+ */
+ public static String getPasswordValue(StringArgument bindPassword,
+ FileBasedArgument bindPasswordFile, String bindDNValue, PrintStream out,
+ PrintStream err) throws ClientException
+ {
+ String bindPasswordValue = bindPassword.getValue();
+ if ("-".equals(bindPasswordValue)
+ || (!bindPasswordFile.isPresent()
+ && bindDNValue != null
+ && bindPasswordValue == null))
{
// read the password from the stdin.
- try
+ out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(bindDNValue));
+ char[] pwChars = ConsoleApplication.readPassword();
+ // As per rfc 4513(section-5.1.2) a client should avoid sending
+ // an empty password to the server.
+ while (pwChars.length == 0)
{
- out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(bindDN));
- char[] pwChars = ConsoleApplication.readPassword();
- pwd = new String(pwChars);
- //As per rfc 4513(section-5.1.2) a client should avoid sending
- //an empty password to the server.
- while(pwChars.length ==0)
- {
- err.println(wrapText(
- INFO_LDAPAUTH_NON_EMPTY_PASSWORD.get(),
- MAX_LINE_WIDTH));
- out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(bindDN));
- pwChars = ConsoleApplication.readPassword();
- }
- pwd = new String(pwChars);
- } catch(Exception ex)
- {
- err.println(wrapText(ex.getMessage(), MAX_LINE_WIDTH));
- return null;
+ err.println(wrapText(INFO_LDAPAUTH_NON_EMPTY_PASSWORD.get(),
+ MAX_LINE_WIDTH));
+ out.print(INFO_LDAPAUTH_PASSWORD_PROMPT.get(bindDNValue));
+ pwChars = ConsoleApplication.readPassword();
}
+ return new String(pwChars);
}
- else if (pwd == null) {
- pwd = bindPwdFileArg.getValue();
+ else if (bindPasswordValue == null)
+ {
+ // Read from file if it exists.
+ return bindPasswordFile.getValue();
}
- return pwd;
+ return bindPasswordValue;
}
private void addLdapConnectionArguments(ArgumentGroup argGroup,
diff --git a/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/types/SmallMapTest.java b/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/types/SmallMapTest.java
index 3086943..f0ce54e 100644
--- a/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/types/SmallMapTest.java
+++ b/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/types/SmallMapTest.java
@@ -27,13 +27,14 @@
import java.util.*;
import java.util.Map.Entry;
+import org.opends.server.DirectoryServerTestCase;
import org.testng.annotations.Test;
import static org.assertj.core.api.Assertions.*;
import static org.testng.Assert.*;
@SuppressWarnings("javadoc")
-public class SmallMapTest
+public class SmallMapTest extends DirectoryServerTestCase
{
@Test
--
Gitblit v1.10.0