From d10da5e09878c255bd3b685fa87a04610db7d404 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 04 Apr 2016 13:38:34 +0000
Subject: [PATCH] Fix compilation errors
---
opendj-server-legacy/src/main/java/org/opends/server/tools/ConfigureDS.java | 287 +++++++++++++++++++++++++++++++++++----------------------
1 files changed, 175 insertions(+), 112 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/ConfigureDS.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/ConfigureDS.java
index ab74ca1..4d24de8 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/ConfigureDS.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/ConfigureDS.java
@@ -20,8 +20,6 @@
import static com.forgerock.opendj.cli.CliMessages.INFO_JMXPORT_PLACEHOLDER;
import static com.forgerock.opendj.cli.CliMessages.INFO_PORT_PLACEHOLDER;
import static org.opends.messages.ConfigMessages.*;
-import static org.opends.messages.ExtensionMessages.*;
-import static org.opends.messages.ProtocolMessages.*;
import static org.opends.messages.ToolMessages.*;
import static org.opends.server.config.ConfigConstants.*;
import static org.opends.server.util.ServerConstants.*;
@@ -47,29 +45,31 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.opendj.adapter.server3x.Converters;
import org.forgerock.opendj.config.ManagedObjectDefinition;
import org.forgerock.opendj.ldap.DN;
+import org.forgerock.opendj.ldap.LinkedAttribute;
+import org.forgerock.opendj.ldap.LinkedHashMapEntry;
+import org.forgerock.opendj.ldap.AttributeDescription;
+import org.forgerock.opendj.ldap.ByteString;
+import org.forgerock.opendj.ldap.schema.AttributeType;
+import org.forgerock.opendj.ldap.schema.Syntax;
import org.forgerock.opendj.server.config.client.BackendCfgClient;
import org.forgerock.opendj.server.config.server.BackendCfg;
import org.opends.quicksetup.installer.Installer;
import org.forgerock.opendj.config.DefaultBehaviorProvider;
import org.forgerock.opendj.config.DefinedDefaultBehaviorProvider;
import org.forgerock.opendj.config.StringPropertyDefinition;
+import org.forgerock.opendj.config.server.ConfigException;
import org.forgerock.opendj.server.config.meta.CryptoManagerCfgDefn;
-import org.opends.server.api.ConfigHandler;
-import org.opends.server.config.BooleanConfigAttribute;
import org.opends.server.types.Entry;
-import org.opends.server.config.DNConfigAttribute;
-import org.opends.server.config.IntegerConfigAttribute;
-import org.opends.server.config.StringConfigAttribute;
+import org.opends.server.core.ConfigurationHandler;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.LockFileManager;
-import org.opends.server.extensions.ConfigFileHandler;
import org.opends.server.extensions.SaltedSHA512PasswordStorageScheme;
import org.opends.server.protocols.ldap.LDAPResultCode;
import org.opends.server.types.DirectoryEnvironmentConfig;
import org.opends.server.types.DirectoryException;
-import org.opends.server.types.Entry;
import org.opends.server.types.InitializationException;
import org.opends.server.types.LDIFImportConfig;
import org.opends.server.types.NullOutputStream;
@@ -157,9 +157,9 @@
}
}
- //FIXME: Find a better way to do to prevent hardcoded ldif entries.
private static final String NEW_LINE = System.getProperty("line.separator");
+ // FIXME: Find a better way to prevent hardcoded ldif entries.
private static final String JCKES_KEY_MANAGER_DN = "cn=JCEKS,cn=Key Manager Providers,cn=config";
private static final String JCKES_KEY_MANAGER_LDIF_ENTRY =
"dn: " + JCKES_KEY_MANAGER_DN + NEW_LINE
@@ -277,7 +277,7 @@
private final String serverLockFileName = LockFileManager.getServerLockFileName();
private final StringBuilder failureReason = new StringBuilder();
- private ConfigHandler<?> configHandler;
+ private ConfigurationHandler configHandler;
private ConfigureDS(final String[] args, final OutputStream outStream, final OutputStream errStream)
{
@@ -311,7 +311,7 @@
// Get the Directory Server configuration handler and use it to make the
// appropriate configuration changes.
- configHandler = DirectoryServer.getConfigHandler();
+ configHandler = DirectoryServer.getConfigurationHandler();
checkManagerProvider(keyManagerProviderDN, JCKES_KEY_MANAGER_DN, JCKES_KEY_MANAGER_LDIF_ENTRY, true);
checkManagerProvider(trustManagerProviderDN, JCKES_TRUST_MANAGER_DN, JCKES_TRUST_MANAGER_LDIF_ENTRY, false);
@@ -333,7 +333,7 @@
updateRootUser(rootDN, rootPW);
addFQDNDigestMD5();
updateCryptoCipher();
- writeUpdatedConfiguration();
+ printWrappedText(out, INFO_CONFIGDS_WROTE_UPDATED_CONFIG.get());
return SUCCESS;
}
@@ -372,10 +372,9 @@
.shortIdentifier(OPTION_SHORT_CONFIG_CLASS)
.description(INFO_DESCRIPTION_CONFIG_CLASS.get())
.hidden()
- .defaultValue(ConfigFileHandler.class.getName())
+ .defaultValue(ConfigurationHandler.class.getName())
.valuePlaceholder(INFO_CONFIGCLASS_PLACEHOLDER.get())
.buildAndAddToParser(argParser);
-
String defaultHostName;
try
{
@@ -714,7 +713,7 @@
Entry mangerConfigEntry;
while ((mangerConfigEntry = reader.readEntry()) != null)
{
- configHandler.addEntry(mangerConfigEntry, null);
+ configHandler.addEntry(Converters.from(mangerConfigEntry));
}
}
catch (final Exception e)
@@ -732,7 +731,7 @@
{
try
{
- configHandler.getConfigEntry(dn);
+ getConfigEntry(dn);
}
catch (final Exception e)
{
@@ -776,11 +775,10 @@
{
try
{
- final IntegerConfigAttribute portAttr = new IntegerConfigAttribute(
- ATTR_LISTEN_PORT, INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_PORT.get(),
- true, false, true, true, 1, true, 65535, ldapPort.getIntValue());
- final Entry configEntry = configHandler.getConfigEntry(DN.valueOf(DN_LDAP_CONNECTION_HANDLER));
- configEntry.putConfigAttribute(portAttr);
+ updateConfigEntryWithAttribute(
+ DN_LDAP_CONNECTION_HANDLER, ATTR_LISTEN_PORT,
+ DirectoryServer.getDefaultIntegerSyntax(),
+ ByteString.valueOfInt(ldapPort.getIntValue()));
}
catch (final Exception e)
{
@@ -795,11 +793,11 @@
{
try
{
- final IntegerConfigAttribute portAttr = new IntegerConfigAttribute(
- ATTR_LISTEN_PORT, INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_PORT.get(),
- true, false, true, true, 1, true, 65535, adminConnectorPort.getIntValue());
- final Entry configEntry = configHandler.getConfigEntry(DN.valueOf(DN_ADMIN_CONNECTOR));
- configEntry.putConfigAttribute(portAttr);
+ updateConfigEntryWithAttribute(
+ DN_ADMIN_CONNECTOR,
+ ATTR_LISTEN_PORT,
+ DirectoryServer.getDefaultIntegerSyntax(),
+ ByteString.valueOfInt(adminConnectorPort.getIntValue()));
}
catch (final Exception e)
{
@@ -814,15 +812,17 @@
{
try
{
- final IntegerConfigAttribute portAttr = new IntegerConfigAttribute(
- ATTR_LISTEN_PORT, INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_PORT.get(),
- true, false, true, true, 1, true, 65535, ldapsPort.getIntValue());
- final Entry configEntry = configHandler.getConfigEntry(DN.valueOf(DN_LDAPS_CONNECTION_HANDLER));
- configEntry.putConfigAttribute(portAttr);
+ updateConfigEntryWithAttribute(
+ DN_LDAPS_CONNECTION_HANDLER,
+ ATTR_LISTEN_PORT,
+ DirectoryServer.getDefaultIntegerSyntax(),
+ ByteString.valueOfInt(ldapsPort.getIntValue()));
- final BooleanConfigAttribute enablePortAttr = new BooleanConfigAttribute(
- ATTR_CONNECTION_HANDLER_ENABLED, INFO_LDAPS_CONNHANDLER_DESCRIPTION_ENABLE.get(), true, true);
- configEntry.putConfigAttribute(enablePortAttr);
+ updateConfigEntryWithAttribute(
+ DN_LDAPS_CONNECTION_HANDLER,
+ ATTR_CONNECTION_HANDLER_ENABLED,
+ DirectoryServer.getDefaultBooleanSyntax(),
+ ByteString.valueOfUtf8("TRUE"));
}
catch (final Exception e)
{
@@ -837,16 +837,17 @@
{
try
{
+ updateConfigEntryWithAttribute(
+ DN_JMX_CONNECTION_HANDLER,
+ ATTR_LISTEN_PORT,
+ DirectoryServer.getDefaultIntegerSyntax(),
+ ByteString.valueOfInt(jmxPort.getIntValue()));
- final IntegerConfigAttribute portAttr = new IntegerConfigAttribute(
- ATTR_LISTEN_PORT, INFO_JMX_CONNHANDLER_DESCRIPTION_LISTEN_PORT.get(),
- true, false, true, true, 1, true, 65535, jmxPort.getIntValue());
- final Entry configEntry = configHandler.getConfigEntry(DN.valueOf(DN_JMX_CONNECTION_HANDLER));
- configEntry.putConfigAttribute(portAttr);
-
- final BooleanConfigAttribute enablePortAttr = new BooleanConfigAttribute(
- ATTR_CONNECTION_HANDLER_ENABLED, INFO_JMX_CONNHANDLER_DESCRIPTION_ENABLE.get(), true, true);
- configEntry.putConfigAttribute(enablePortAttr);
+ updateConfigEntryWithAttribute(
+ DN_JMX_CONNECTION_HANDLER,
+ ATTR_CONNECTION_HANDLER_ENABLED,
+ DirectoryServer.getDefaultBooleanSyntax(),
+ ByteString.valueOfUtf8("TRUE"));
}
catch (final Exception e)
{
@@ -861,10 +862,11 @@
{
try
{
- final BooleanConfigAttribute startTLS = new BooleanConfigAttribute(
- ATTR_ALLOW_STARTTLS, INFO_LDAP_CONNHANDLER_DESCRIPTION_ALLOW_STARTTLS.get(), true, true);
- final Entry configEntry = configHandler.getConfigEntry(DN.valueOf(DN_LDAP_CONNECTION_HANDLER));
- configEntry.putConfigAttribute(startTLS);
+ updateConfigEntryWithAttribute(
+ DN_LDAP_CONNECTION_HANDLER,
+ ATTR_ALLOW_STARTTLS,
+ DirectoryServer.getDefaultBooleanSyntax(),
+ ByteString.valueOfUtf8("TRUE"));
}
catch (final Exception e)
{
@@ -882,10 +884,11 @@
try
{
// Enable the key manager
- final BooleanConfigAttribute enableAttr = new BooleanConfigAttribute(
- ATTR_KEYMANAGER_ENABLED, INFO_CONFIG_KEYMANAGER_DESCRIPTION_ENABLED.get(), true, true);
- final Entry configEntry = configHandler.getConfigEntry(DN.valueOf(keyManagerProviderDN.getValue()));
- configEntry.putConfigAttribute(enableAttr);
+ updateConfigEntryWithAttribute(
+ keyManagerProviderDN.getValue(),
+ ATTR_KEYMANAGER_ENABLED,
+ DirectoryServer.getDefaultBooleanSyntax(),
+ ByteString.valueOfUtf8("TRUE"));
}
catch (final Exception e)
{
@@ -901,11 +904,11 @@
{
try
{
- final StringConfigAttribute pathAttr = new StringConfigAttribute(
- ATTR_KEYSTORE_FILE, INFO_FILE_KEYMANAGER_DESCRIPTION_FILE.get(),
- true, true, true, keyManagerPath.getValue());
- final Entry configEntry = configHandler.getConfigEntry(DN.valueOf(keyManagerProviderDN.getValue()));
- configEntry.putConfigAttribute(pathAttr);
+ updateConfigEntryWithAttribute(
+ keyManagerProviderDN.getValue(),
+ ATTR_KEYSTORE_FILE,
+ DirectoryServer.getDefaultStringSyntax(),
+ ByteString.valueOfUtf8(keyManagerPath.getValue()));
}
catch (final Exception e)
{
@@ -922,11 +925,11 @@
{
try
{
- final StringConfigAttribute keyManagerProviderAttr = new StringConfigAttribute(
- ATTR_KEYMANAGER_DN, INFO_LDAP_CONNHANDLER_DESCRIPTION_KEYMANAGER_DN.get(),
- false, false, true, keyManagerProviderDN.getValue());
- final Entry configEntry = configHandler.getConfigEntry(DN.valueOf(attributeDN));
- configEntry.putConfigAttribute(keyManagerProviderAttr);
+ updateConfigEntryWithAttribute(
+ attributeDN,
+ ATTR_KEYMANAGER_DN,
+ DirectoryServer.getDefaultStringSyntax(),
+ ByteString.valueOfUtf8(keyManagerProviderDN.getValue()));
}
catch (final Exception e)
{
@@ -943,10 +946,11 @@
{
try
{
- final BooleanConfigAttribute enableAttr = new BooleanConfigAttribute(
- ATTR_TRUSTMANAGER_ENABLED, ERR_CONFIG_TRUSTMANAGER_DESCRIPTION_ENABLED.get(), true, true);
- final Entry configEntry = configHandler.getConfigEntry(DN.valueOf(trustManagerProviderDN.getValue()));
- configEntry.putConfigAttribute(enableAttr);
+ updateConfigEntryWithAttribute(
+ trustManagerProviderDN.getValue(),
+ ATTR_TRUSTMANAGER_ENABLED,
+ DirectoryServer.getDefaultBooleanSyntax(),
+ ByteString.valueOfUtf8("TRUE"));
}
catch (final Exception e)
{
@@ -960,17 +964,10 @@
if (certNickNames.isPresent())
{
- final StringConfigAttribute certNickNamesAttr = new StringConfigAttribute(
- ATTR_SSL_CERT_NICKNAME, INFO_LDAP_CONNHANDLER_DESCRIPTION_SSL_CERT_NICKNAME.get(),
- false, true, true, certNickNames.getValues());
- updateCertNicknameEntry(ldapPort, DN_LDAP_CONNECTION_HANDLER, certNickNamesAttr);
- updateCertNicknameEntry(ldapsPort, DN_LDAPS_CONNECTION_HANDLER, certNickNamesAttr);
- updateCertNicknameEntry(certNickNames, DN_HTTP_CONNECTION_HANDLER, certNickNamesAttr);
-
- final StringConfigAttribute certNickNamesJmxAttr = new StringConfigAttribute(
- ATTR_SSL_CERT_NICKNAME, INFO_JMX_CONNHANDLER_DESCRIPTION_SSL_CERT_NICKNAME.get(),
- false, false, true, certNickNames.getValues());
- updateCertNicknameEntry(jmxPort, DN_JMX_CONNECTION_HANDLER, certNickNamesJmxAttr);
+ updateCertNicknameEntry(ldapPort, DN_LDAP_CONNECTION_HANDLER, ATTR_SSL_CERT_NICKNAME, certNickNames.getValues());
+ updateCertNicknameEntry(ldapsPort, DN_LDAPS_CONNECTION_HANDLER, ATTR_SSL_CERT_NICKNAME, certNickNames.getValues());
+ updateCertNicknameEntry(certNickNames, DN_HTTP_CONNECTION_HANDLER, ATTR_SSL_CERT_NICKNAME, certNickNames.getValues());
+ updateCertNicknameEntry(jmxPort, DN_JMX_CONNECTION_HANDLER, ATTR_SSL_CERT_NICKNAME, certNickNames.getValues());
}
else
{
@@ -988,11 +985,11 @@
{
try
{
- final StringConfigAttribute trustManagerProviderAttr = new StringConfigAttribute(
- ATTR_TRUSTMANAGER_DN, INFO_LDAP_CONNHANDLER_DESCRIPTION_TRUSTMANAGER_DN.get(),
- false, false, true, trustManagerProviderDN.getValue());
- final Entry configEntry = configHandler.getConfigEntry(DN.valueOf(attributeDN));
- configEntry.putConfigAttribute(trustManagerProviderAttr);
+ updateConfigEntryWithAttribute(
+ attributeDN,
+ ATTR_TRUSTMANAGER_DN,
+ DirectoryServer.getDefaultStringSyntax(),
+ ByteString.valueOfUtf8(trustManagerProviderDN.getValue()));
}
catch (final Exception e)
{
@@ -1002,18 +999,27 @@
}
private void updateCertNicknameEntry(final Argument arg, final String attributeDN,
- final StringConfigAttribute configAttr) throws ConfigureDSException
+ final String attrName, final List<String> attrValues) throws ConfigureDSException
{
try
{
- Entry configEntry = configHandler.getConfigEntry(DN.valueOf(attributeDN));
if (arg.isPresent())
{
- configEntry.putConfigAttribute(configAttr);
+ Object[] values = new ByteString[attrValues.size()];
+ int index = 0;
+ for (String attrValue : attrValues)
+ {
+ values[index++] = ByteString.valueOfUtf8(attrValue);
+ }
+ updateConfigEntryWithAttribute(
+ attributeDN,
+ attrName,
+ DirectoryServer.getDefaultStringSyntax(),
+ values);
}
else
{
- configEntry.removeConfigAttribute(ATTR_SSL_CERT_NICKNAME);
+ updateConfigEntryByRemovingAttribute(attributeDN, ATTR_SSL_CERT_NICKNAME);
}
}
catch (final Exception e)
@@ -1026,8 +1032,7 @@
{
try
{
- final Entry configEntry = configHandler.getConfigEntry(DN.valueOf(attributeDN));
- configEntry.removeConfigAttribute(ATTR_SSL_CERT_NICKNAME.toLowerCase());
+ updateConfigEntryByRemovingAttribute(attributeDN, ATTR_SSL_CERT_NICKNAME);
}
catch (final Exception e)
{
@@ -1041,16 +1046,17 @@
{
try
{
- final DNConfigAttribute bindDNAttr = new DNConfigAttribute(
- ATTR_ROOTDN_ALTERNATE_BIND_DN, INFO_CONFIG_ROOTDN_DESCRIPTION_ALTERNATE_BIND_DN.get(),
- false, true, false, rootDN);
- final Entry configEntry = configHandler.getConfigEntry(DN.valueOf(DN_ROOT_USER));
- configEntry.putConfigAttribute(bindDNAttr);
-
+ updateConfigEntryWithAttribute(
+ DN_ROOT_USER,
+ ATTR_ROOTDN_ALTERNATE_BIND_DN,
+ DirectoryServer.getDefaultStringSyntax(),
+ ByteString.valueOfUtf8(rootDN.toString()));
final String encodedPassword = SaltedSHA512PasswordStorageScheme.encodeOffline(getBytes(rootPW));
- final StringConfigAttribute bindPWAttr = new StringConfigAttribute(
- ATTR_USER_PASSWORD, LocalizableMessage.EMPTY, false, false, false, encodedPassword);
- configEntry.putConfigAttribute(bindPWAttr);
+ updateConfigEntryWithAttribute(
+ DN_ROOT_USER,
+ ATTR_USER_PASSWORD,
+ DirectoryServer.getDefaultStringSyntax(),
+ ByteString.valueOfUtf8(encodedPassword));
}
catch (final Exception e)
{
@@ -1064,10 +1070,11 @@
{
try
{
- final StringConfigAttribute fqdnAttr = new StringConfigAttribute(
- "ds-cfg-server-fqdn", LocalizableMessage.EMPTY, false, false, false, hostName.getValue());
- final Entry configEntry = configHandler.getConfigEntry(DN.valueOf(DN_DIGEST_MD5_SASL_MECHANISM));
- configEntry.putConfigAttribute(fqdnAttr);
+ updateConfigEntryWithAttribute(
+ DN_DIGEST_MD5_SASL_MECHANISM,
+ "ds-cfg-server-fqdn",
+ DirectoryServer.getDefaultStringSyntax(),
+ ByteString.valueOfUtf8(hostName.getValue()));
}
catch (final Exception e)
{
@@ -1113,11 +1120,11 @@
{
try
{
- final StringConfigAttribute keyWrappingTransformation = new StringConfigAttribute(
- ATTR_CRYPTO_CIPHER_KEY_WRAPPING_TRANSFORMATION, LocalizableMessage.EMPTY,
- false, false, true, alternativeCipher);
- final Entry configEntry = configHandler.getConfigEntry(DN.valueOf(DN_CRYPTO_MANAGER));
- configEntry.putConfigAttribute(keyWrappingTransformation);
+ updateConfigEntryWithAttribute(
+ DN_CRYPTO_MANAGER,
+ ATTR_CRYPTO_CIPHER_KEY_WRAPPING_TRANSFORMATION,
+ DirectoryServer.getDefaultStringSyntax(),
+ ByteString.valueOfUtf8(alternativeCipher));
}
catch (final Exception e)
{
@@ -1128,17 +1135,73 @@
}
}
- private void writeUpdatedConfiguration() throws ConfigureDSException
+ /** Update a config entry with the provided attribute parameters. */
+ private void updateConfigEntryWithAttribute(String entryDn, String attributeName, Syntax syntax, Object...values)
+ throws DirectoryException, ConfigException
{
- try
+ org.forgerock.opendj.ldap.Entry configEntry = getConfigEntry(DN.valueOf(entryDn));
+ final org.forgerock.opendj.ldap.Entry newEntry = putAttribute(configEntry, attributeName, syntax, values);
+ configHandler.replaceEntry(configEntry, newEntry);
+ }
+
+ /** Update a config entry by removing the provided attribute. */
+ private void updateConfigEntryByRemovingAttribute(String entryDn, String attributeName)
+ throws DirectoryException, ConfigException
+ {
+ final org.forgerock.opendj.ldap.Entry configEntry = getConfigEntry(DN.valueOf(entryDn));
+ final Entry newEntry = removeAttribute(Converters.to(configEntry), attributeName);
+ configHandler.replaceEntry(configEntry, Converters.from(newEntry));
+ }
+
+ private org.forgerock.opendj.ldap.Entry getConfigEntry(DN dn) throws ConfigException
+ {
+ return configHandler.getEntry(dn);
+ }
+
+ /**
+ * Duplicate the provided entry, and put an attribute to the duplicated entry.
+ * <p>
+ * Provided entry is not modified.
+ *
+ * @return the duplicate entry, modified with the attribute
+ */
+ private org.forgerock.opendj.ldap.Entry putAttribute(
+ org.forgerock.opendj.ldap.Entry configEntry, String attrName, Syntax syntax, Object...values)
+ {
+ org.forgerock.opendj.ldap.Entry newEntry = new LinkedHashMapEntry(configEntry);
+ AttributeType attrType = DirectoryServer.getAttributeType(attrName, syntax);
+ newEntry.replaceAttribute(new LinkedAttribute(AttributeDescription.create(attrType), values));
+ return newEntry;
+ }
+
+ /**
+ * Duplicate the provided entry, and remove an attribute to the duplicated entry.
+ * <p>
+ * Provided entry is not modified.
+ *
+ * @return the duplicate entry, with removed attribute
+ */
+ private Entry removeAttribute(Entry entry, String attrName)
+ {
+ Entry duplicateEntry = entry.duplicate(false);
+ for (AttributeType t : entry.getUserAttributes().keySet())
{
- configHandler.writeUpdatedConfig();
- printWrappedText(out, INFO_CONFIGDS_WROTE_UPDATED_CONFIG.get());
+ if (t.hasNameOrOID(attrName))
+ {
+ entry.getUserAttributes().remove(t);
+ return duplicateEntry;
+ }
}
- catch (final DirectoryException de)
+
+ for (AttributeType t : entry.getOperationalAttributes().keySet())
{
- throw new ConfigureDSException(de, ERR_CONFIGDS_CANNOT_WRITE_UPDATED_CONFIG.get(de.getMessageObject()));
+ if (t.hasNameOrOID(attrName))
+ {
+ entry.getOperationalAttributes().remove(t);
+ return duplicateEntry;
+ }
}
+ return duplicateEntry;
}
/**
--
Gitblit v1.10.0