From 01a60aa97ce21b185d574a090fcd04752ea417f0 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 10 Jul 2013 07:36:32 +0000
Subject: [PATCH] DirectoryServer.java: In bootstrapAttributeSyntaxes(), extracted method initAndRegister() to remove duplicated code.
---
opends/src/server/org/opends/server/core/DirectoryServer.java | 303 ++++++++++----------------------------------------
1 files changed, 61 insertions(+), 242 deletions(-)
diff --git a/opends/src/server/org/opends/server/core/DirectoryServer.java b/opends/src/server/org/opends/server/core/DirectoryServer.java
index 096678c..e950d76 100644
--- a/opends/src/server/org/opends/server/core/DirectoryServer.java
+++ b/opends/src/server/org/opends/server/core/DirectoryServer.java
@@ -398,10 +398,10 @@
private ConcurrentHashMap<String,SASLMechanismHandler> saslMechanismHandlers;
/** The connection handler configuration manager for the Directory Server. */
- private ConnectionHandlerConfigManager connectionHandlerConfigManager = null;
+ private ConnectionHandlerConfigManager connectionHandlerConfigManager;
/** The set of alert handlers registered with the Directory Server. */
- private CopyOnWriteArrayList<AlertHandler> alertHandlers;
+ private List<AlertHandler> alertHandlers;
/** The set of backup task listeners registered with the Directory Server. */
private CopyOnWriteArrayList<BackupTaskListener> backupTaskListeners;
@@ -410,11 +410,11 @@
* The set of change notification listeners registered with the Directory
* Server.
*/
- private CopyOnWriteArrayList<ChangeNotificationListener>
+ private List<ChangeNotificationListener>
changeNotificationListeners;
/** The set of connection handlers registered with the Directory Server. */
- private CopyOnWriteArrayList<ConnectionHandler> connectionHandlers;
+ private List<ConnectionHandler> connectionHandlers;
/** The set of export task listeners registered with the Directory Server. */
private CopyOnWriteArrayList<ExportTaskListener> exportTaskListeners;
@@ -429,35 +429,34 @@
* The set of initialization completed listeners that have been registered
* with the Directory Server.
*/
- private CopyOnWriteArrayList<InitializationCompletedListener>
+ private List<InitializationCompletedListener>
initializationCompletedListeners;
/**
* The set of shutdown listeners that have been registered with the Directory
* Server.
*/
- private CopyOnWriteArrayList<ServerShutdownListener> shutdownListeners;
+ private List<ServerShutdownListener> shutdownListeners;
/**
* The set of synchronization providers that have been registered with the
* Directory Server.
*/
- private
- CopyOnWriteArrayList<SynchronizationProvider<SynchronizationProviderCfg>>
+ private List<SynchronizationProvider<SynchronizationProviderCfg>>
synchronizationProviders;
/** The set of virtual attributes defined in the server. */
- private CopyOnWriteArrayList<VirtualAttributeRule> virtualAttributes;
+ private List<VirtualAttributeRule> virtualAttributes;
/**
* The set of backend initialization listeners registered with the Directory
* Server.
*/
- private CopyOnWriteArraySet<BackendInitializationListener>
+ private Set<BackendInitializationListener>
backendInitializationListeners;
/** The set of root DNs registered with the Directory Server. */
- private CopyOnWriteArraySet<DN> rootDNs;
+ private Set<DN> rootDNs;
/** The core configuration manager for the Directory Server. */
private CoreConfigManager coreConfigManager;
@@ -548,7 +547,7 @@
private ExtensionConfigManager extensionConfigManager;
/** The set of connections that are currently established. */
- private LinkedHashSet<ClientConnection> establishedConnections;
+ private Set<ClientConnection> establishedConnections;
/** The sets of mail server properties. */
private List<Properties> mailServerPropertySets;
@@ -1623,9 +1622,26 @@
*/
private void bootstrapAttributeSyntaxes()
{
+ initAndRegister(new AttributeTypeSyntax());
+ defaultBinarySyntax = initAndRegister(new BinarySyntax());
+ defaultBooleanSyntax = initAndRegister(new BooleanSyntax());
+ defaultStringSyntax = initAndRegister(new DirectoryStringSyntax());
+ defaultSyntax = defaultStringSyntax;
+ defaultDNSyntax = initAndRegister(new DistinguishedNameSyntax());
+ initAndRegister(new IA5StringSyntax());
+ defaultIntegerSyntax = initAndRegister(new IntegerSyntax());
+ initAndRegister(new GeneralizedTimeSyntax());
+ initAndRegister(new ObjectClassSyntax());
+ initAndRegister(new OIDSyntax());
+ initAndRegister(new TelephoneNumberSyntax());
+ }
+
+
+ private <T extends AttributeSyntaxCfg> AttributeSyntax<T> initAndRegister(
+ AttributeSyntax<T> syntax)
+ {
try
{
- AttributeTypeSyntax syntax = new AttributeTypeSyntax();
syntax.initializeSyntax(null);
registerAttributeSyntax(syntax, true);
}
@@ -1636,205 +1652,10 @@
TRACER.debugCaught(DebugLogLevel.ERROR, e);
}
- Message message = ERR_CANNOT_BOOTSTRAP_SYNTAX.get(
- AttributeTypeSyntax.class.getName(), stackTraceToSingleLineString(e));
- logError(message);
+ logError(ERR_CANNOT_BOOTSTRAP_SYNTAX.get(syntax.getClass().getName(),
+ stackTraceToSingleLineString(e)));
}
-
-
- try
- {
- defaultBinarySyntax = new BinarySyntax();
- defaultBinarySyntax.initializeSyntax(null);
- registerAttributeSyntax(defaultBinarySyntax, true);
- }
- catch (Exception e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
-
- Message message = ERR_CANNOT_BOOTSTRAP_SYNTAX.get(
- BinarySyntax.class.getName(), stackTraceToSingleLineString(e));
- logError(message);
- }
-
-
- try
- {
- defaultBooleanSyntax = new BooleanSyntax();
- defaultBooleanSyntax.initializeSyntax(null);
- registerAttributeSyntax(defaultBooleanSyntax, true);
- }
- catch (Exception e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
-
- Message message = ERR_CANNOT_BOOTSTRAP_SYNTAX.get(
- BooleanSyntax.class.getName(), stackTraceToSingleLineString(e));
- logError(message);
- }
-
-
- try
- {
- defaultStringSyntax = new DirectoryStringSyntax();
- defaultStringSyntax.initializeSyntax(null);
- registerAttributeSyntax(defaultStringSyntax, true);
- defaultSyntax = defaultStringSyntax;
- }
- catch (Exception e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
-
- Message message = ERR_CANNOT_BOOTSTRAP_SYNTAX.
- get(DirectoryStringSyntax.class.getName(),
- stackTraceToSingleLineString(e));
- logError(message);
- }
-
-
- try
- {
- defaultDNSyntax = new DistinguishedNameSyntax();
- defaultDNSyntax.initializeSyntax(null);
- registerAttributeSyntax(defaultDNSyntax, true);
- }
- catch (Exception e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
-
- Message message = ERR_CANNOT_BOOTSTRAP_SYNTAX.
- get(DistinguishedNameSyntax.class.getName(),
- stackTraceToSingleLineString(e));
- logError(message);
- }
-
-
- try
- {
- IA5StringSyntax syntax = new IA5StringSyntax();
- syntax.initializeSyntax(null);
- registerAttributeSyntax(syntax, true);
- }
- catch (Exception e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
-
- Message message = ERR_CANNOT_BOOTSTRAP_SYNTAX.get(
- IA5StringSyntax.class.getName(), stackTraceToSingleLineString(e));
- logError(message);
- }
-
-
- try
- {
- defaultIntegerSyntax = new IntegerSyntax();
- defaultIntegerSyntax.initializeSyntax(null);
- registerAttributeSyntax(defaultIntegerSyntax, true);
- }
- catch (Exception e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
-
- Message message = ERR_CANNOT_BOOTSTRAP_SYNTAX.get(
- IntegerSyntax.class.getName(), stackTraceToSingleLineString(e));
- logError(message);
- }
-
-
- try
- {
- GeneralizedTimeSyntax syntax = new GeneralizedTimeSyntax();
- syntax.initializeSyntax(null);
- registerAttributeSyntax(syntax, true);
- }
- catch (Exception e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
-
- Message message = ERR_CANNOT_BOOTSTRAP_SYNTAX.
- get(GeneralizedTimeSyntax.class.getName(),
- stackTraceToSingleLineString(e));
- logError(message);
- }
-
-
- try
- {
- ObjectClassSyntax syntax = new ObjectClassSyntax();
- syntax.initializeSyntax(null);
- registerAttributeSyntax(syntax, true);
- }
- catch (Exception e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
-
- Message message = ERR_CANNOT_BOOTSTRAP_SYNTAX.get(
- ObjectClassSyntax.class.getName(), stackTraceToSingleLineString(e));
- logError(message);
- }
-
-
- try
- {
- OIDSyntax syntax = new OIDSyntax();
- syntax.initializeSyntax(null);
- registerAttributeSyntax(syntax, true);
- }
- catch (Exception e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
-
- Message message = ERR_CANNOT_BOOTSTRAP_SYNTAX.get(
- OIDSyntax.class.getName(), stackTraceToSingleLineString(e));
- logError(message);
- }
-
-
- try
- {
- TelephoneNumberSyntax syntax = new TelephoneNumberSyntax();
- syntax.initializeSyntax(null);
- registerAttributeSyntax(syntax, true);
- }
- catch (Exception e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
-
- Message message = ERR_CANNOT_BOOTSTRAP_SYNTAX.
- get(TelephoneNumberSyntax.class.getName(),
- stackTraceToSingleLineString(e));
- logError(message);
- }
+ return syntax;
}
@@ -1982,11 +1803,11 @@
// preserve any configuration add/delete/change listeners that might have
// been registered with the old configuration (which will primarily be
// schema elements) so they can be re-registered with the new configuration.
- LinkedHashMap<String,List<ConfigAddListener>> addListeners =
+ Map<String, List<ConfigAddListener>> addListeners =
new LinkedHashMap<String,List<ConfigAddListener>>();
- LinkedHashMap<String,List<ConfigDeleteListener>> deleteListeners =
+ Map<String, List<ConfigDeleteListener>> deleteListeners =
new LinkedHashMap<String,List<ConfigDeleteListener>>();
- LinkedHashMap<String,List<ConfigChangeListener>> changeListeners =
+ Map<String, List<ConfigChangeListener>> changeListeners =
new LinkedHashMap<String,List<ConfigChangeListener>>();
getChangeListeners(configHandler.getConfigRootEntry(), addListeners,
deleteListeners, changeListeners);
@@ -2114,26 +1935,25 @@
* the corresponding configuration entry.
*/
private void getChangeListeners(ConfigEntry configEntry,
- LinkedHashMap<String,List<ConfigAddListener>> addListeners,
- LinkedHashMap<String,List<ConfigDeleteListener>> deleteListeners,
- LinkedHashMap<String,List<ConfigChangeListener>> changeListeners)
+ Map<String, List<ConfigAddListener>> addListeners,
+ Map<String, List<ConfigDeleteListener>> deleteListeners,
+ Map<String, List<ConfigChangeListener>> changeListeners)
{
- CopyOnWriteArrayList<ConfigAddListener> cfgAddListeners =
- configEntry.getAddListeners();
+ List<ConfigAddListener> cfgAddListeners = configEntry.getAddListeners();
if ((cfgAddListeners != null) && (cfgAddListeners.size() > 0))
{
addListeners.put(configEntry.getDN().toString(), cfgAddListeners);
}
- CopyOnWriteArrayList<ConfigDeleteListener> cfgDeleteListeners =
- configEntry.getDeleteListeners();
+ List<ConfigDeleteListener> cfgDeleteListeners =
+ configEntry.getDeleteListeners();
if ((cfgDeleteListeners != null) && (cfgDeleteListeners.size() > 0))
{
deleteListeners.put(configEntry.getDN().toString(), cfgDeleteListeners);
}
- CopyOnWriteArrayList<ConfigChangeListener> cfgChangeListeners =
- configEntry.getChangeListeners();
+ List<ConfigChangeListener> cfgChangeListeners =
+ configEntry.getChangeListeners();
if ((cfgChangeListeners != null) && (cfgChangeListeners.size() > 0))
{
changeListeners.put(configEntry.getDN().toString(), cfgChangeListeners);
@@ -3235,7 +3055,7 @@
* @return The set of encoded matching rules that have been defined in the
* Directory Server.
*/
- public static LinkedHashSet<AttributeValue> getMatchingRuleSet()
+ public static Set<AttributeValue> getMatchingRuleSet()
{
return directoryServer.schema.getMatchingRuleSet();
}
@@ -3634,7 +3454,7 @@
* @return The set of encoded objectclasses that have been defined in the
* Directory Server.
*/
- public static LinkedHashSet<AttributeValue> getObjectClassSet()
+ public static Set<AttributeValue> getObjectClassSet()
{
return directoryServer.schema.getObjectClassSet();
}
@@ -3838,7 +3658,7 @@
* @return The set of encoded attribute types that have been defined in the
* Directory Server.
*/
- public static LinkedHashSet<AttributeValue> getAttributeTypeSet()
+ public static Set<AttributeValue> getAttributeTypeSet()
{
return directoryServer.schema.getAttributeTypeSet();
}
@@ -4057,7 +3877,7 @@
* @return The set of encoded attribute syntaxes that have been defined in
* the Directory Server.
*/
- public static LinkedHashSet<AttributeValue> getAttributeSyntaxSet()
+ public static Set<AttributeValue> getAttributeSyntaxSet()
{
return directoryServer.schema.getSyntaxSet();
}
@@ -4238,7 +4058,7 @@
* @return The set of encoded matching rule uses that have been defined in
* the Directory Server.
*/
- public static LinkedHashSet<AttributeValue> getMatchingRuleUseSet()
+ public static Set<AttributeValue> getMatchingRuleUseSet()
{
return directoryServer.schema.getMatchingRuleUseSet();
}
@@ -4318,7 +4138,7 @@
* @return The set of encoded DIT content rules that have been defined in the
* Directory Server.
*/
- public static LinkedHashSet<AttributeValue> getDITContentRuleSet()
+ public static Set<AttributeValue> getDITContentRuleSet()
{
return directoryServer.schema.getDITContentRuleSet();
}
@@ -4397,7 +4217,7 @@
* @return The set of encoded DIT structure rules that have been defined in
* the Directory Server.
*/
- public static LinkedHashSet<AttributeValue> getDITStructureRuleSet()
+ public static Set<AttributeValue> getDITStructureRuleSet()
{
return directoryServer.schema.getDITStructureRuleSet();
}
@@ -4493,7 +4313,7 @@
* @return The set of encoded name forms that have been defined in the
* Directory Server.
*/
- public static LinkedHashSet<AttributeValue> getNameFormSet()
+ public static Set<AttributeValue> getNameFormSet()
{
return directoryServer.schema.getNameFormSet();
}
@@ -4593,8 +4413,8 @@
*/
public static List<VirtualAttributeRule> getVirtualAttributes(Entry entry)
{
- LinkedList<VirtualAttributeRule> ruleList =
- new LinkedList<VirtualAttributeRule>();
+ List<VirtualAttributeRule> ruleList =
+ new LinkedList<VirtualAttributeRule>();
for (VirtualAttributeRule rule : directoryServer.virtualAttributes)
{
@@ -4803,7 +4623,7 @@
* @return The set of alert handlers that have been registered with the
* Directory Server.
*/
- public static CopyOnWriteArrayList<AlertHandler> getAlertHandlers()
+ public static List<AlertHandler> getAlertHandlers()
{
return directoryServer.alertHandlers;
}
@@ -5864,7 +5684,7 @@
*
* @return The DNs for the root users configured in the Directory Server.
*/
- public static CopyOnWriteArraySet<DN> getRootDNs()
+ public static Set<DN> getRootDNs()
{
return directoryServer.rootDNs;
}
@@ -7173,7 +6993,7 @@
*
* @return The set of connection handlers configured in the Directory Server.
*/
- public static CopyOnWriteArrayList<ConnectionHandler> getConnectionHandlers()
+ public static List<ConnectionHandler> getConnectionHandlers()
{
return directoryServer.connectionHandlers;
}
@@ -7238,8 +7058,8 @@
*/
private void startConnectionHandlers() throws ConfigException
{
- LinkedHashSet<HostPort> usedListeners = new LinkedHashSet<HostPort>();
- LinkedHashSet<Message> errorMessages = new LinkedHashSet<Message>();
+ Set<HostPort> usedListeners = new LinkedHashSet<HostPort>();
+ Set<Message> errorMessages = new LinkedHashSet<Message>();
// Check that the port specified in the connection handlers is
// available.
for (ConnectionHandler<?> c : connectionHandlers)
@@ -7475,7 +7295,7 @@
* @return The set of change notification listeners registered with the
* Directory Server.
*/
- public static CopyOnWriteArrayList<ChangeNotificationListener>
+ public static List<ChangeNotificationListener>
getChangeNotificationListeners()
{
return directoryServer.changeNotificationListeners;
@@ -7522,8 +7342,7 @@
* @return The set of synchronization providers that have been registered
* with the Directory Server.
*/
- public static
- CopyOnWriteArrayList<SynchronizationProvider<SynchronizationProviderCfg>>
+ public static List<SynchronizationProvider<SynchronizationProviderCfg>>
getSynchronizationProviders()
{
return directoryServer.synchronizationProviders;
@@ -9396,7 +9215,7 @@
// We're not really trying to start, so rebuild the argument list
// without the "--checkStartability" argument and try again. Exit with
// whatever that exits with.
- LinkedList<String> newArgList = new LinkedList<String>();
+ List<String> newArgList = new LinkedList<String>();
for (String arg : args)
{
if (! arg.equalsIgnoreCase("--checkstartability"))
--
Gitblit v1.10.0