From 1c8e5cfe6e0b17d10da60c705dc084e095aa325e 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.
---
opendj-sdk/opends/src/server/org/opends/server/backends/SchemaBackend.java | 173 ++++++++++++++++++++++++++++++++-------------------------
1 files changed, 98 insertions(+), 75 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/backends/SchemaBackend.java b/opendj-sdk/opends/src/server/org/opends/server/backends/SchemaBackend.java
index a3eb16e..263cf1f 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/backends/SchemaBackend.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/backends/SchemaBackend.java
@@ -127,91 +127,115 @@
- // The set of user-defined attributes that will be included in the schema
- // entry.
+ /**
+ * The set of user-defined attributes that will be included in the schema
+ * entry.
+ */
private ArrayList<Attribute> userDefinedAttributes;
- // The attribute type that will be used to include the defined attribute
- // types.
+ /**
+ * The attribute type that will be used to include the defined attribute
+ * types.
+ */
private AttributeType attributeTypesType;
- // The attribute type that will be used to hold the schema creation timestamp.
+ /**
+ * The attribute type that will be used to hold the schema creation timestamp.
+ */
private AttributeType createTimestampType;
- // The attribute type that will be used to hold the schema creator's name.
+ /** The attribute type that will be used to hold the schema creator's name. */
private AttributeType creatorsNameType;
- // The attribute type that will be used to include the defined DIT content
- // rules.
+ /**
+ * The attribute type that will be used to include the defined DIT content
+ * rules.
+ */
private AttributeType ditContentRulesType;
- // The attribute type that will be used to include the defined DIT structure
- // rules.
+ /**
+ * The attribute type that will be used to include the defined DIT structure
+ * rules.
+ */
private AttributeType ditStructureRulesType;
- // The attribute type that will be used to include the defined attribute
- // syntaxes.
+ /**
+ * The attribute type that will be used to include the defined attribute
+ * syntaxes.
+ */
private AttributeType ldapSyntaxesType;
- // The attribute type that will be used to include the defined matching rules.
+ /**
+ * The attribute type that will be used to include the defined matching rules.
+ */
private AttributeType matchingRulesType;
- // The attribute type that will be used to include the defined matching rule
- // uses.
+ /**
+ * The attribute type that will be used to include the defined matching rule
+ * uses.
+ */
private AttributeType matchingRuleUsesType;
- // The attribute that will be used to hold the schema modifier's name.
+ /** The attribute that will be used to hold the schema modifier's name. */
private AttributeType modifiersNameType;
- // The attribute type that will be used to hold the schema modification
- // timestamp.
+ /**
+ * The attribute type that will be used to hold the schema modification
+ * timestamp.
+ */
private AttributeType modifyTimestampType;
- // The attribute type that will be used to include the defined object classes.
+ /**
+ * The attribute type that will be used to include the defined object classes.
+ */
private AttributeType objectClassesType;
- // The attribute type that will be used to include the defined name forms.
+ /** The attribute type that will be used to include the defined name forms. */
private AttributeType nameFormsType;
- // The value containing DN of the user we'll say created the configuration.
+ /** The value containing DN of the user we'll say created the configuration. */
private AttributeValue creatorsName;
- // The value containing the DN of the last user to modify the configuration.
+ /** The value containing the DN of the last user to modify the configuration. */
private AttributeValue modifiersName;
- // The timestamp that will be used for the schema creation time.
+ /** The timestamp that will be used for the schema creation time. */
private AttributeValue createTimestamp;
- // The timestamp that will be used for the latest schema modification time.
+ /** The timestamp that will be used for the latest schema modification time. */
private AttributeValue modifyTimestamp;
- // Indicates whether the attributes of the schema entry should always be
- // treated as user attributes even if they are defined as operational.
+ /**
+ * Indicates whether the attributes of the schema entry should always be
+ * treated as user attributes even if they are defined as operational.
+ */
private boolean showAllAttributes;
- // The DN of the configuration entry for this backend.
+ /** The DN of the configuration entry for this backend. */
private DN configEntryDN;
- // The current configuration state.
+ /** The current configuration state. */
private SchemaBackendCfg currentConfig;
- // The set of base DNs for this backend.
+ /** The set of base DNs for this backend. */
private DN[] baseDNs;
- // The set of objectclasses that will be used in the schema entry.
+ /** The set of objectclasses that will be used in the schema entry. */
private HashMap<ObjectClass,String> schemaObjectClasses;
- // The set of supported controls for this backend.
- private HashSet<String> supportedControls;
+ /** The set of supported controls for this backend. */
+ private Set<String> supportedControls;
- // The set of supported features for this backend.
- private HashSet<String> supportedFeatures;
+ /** The set of supported features for this backend. */
+ private Set<String> supportedFeatures;
- // The time that the schema was last modified.
+ /** The time that the schema was last modified. */
private long modifyTime;
- //Regular expression used to strip minimum upper bound value from
- //syntax Attribute Type Description. The value looks like: {count}.
+ /**
+ * Regular expression used to strip minimum upper bound value from syntax
+ * Attribute Type Description. The value looks like: {count}.
+ */
private String stripMinUpperBoundRegEx = "\\{\\d+\\}";
@@ -386,13 +410,13 @@
try
{
// First, generate lists of elements from the current schema.
- LinkedHashSet<String> newATs = new LinkedHashSet<String>();
- LinkedHashSet<String> newOCs = new LinkedHashSet<String>();
- LinkedHashSet<String> newNFs = new LinkedHashSet<String>();
- LinkedHashSet<String> newDCRs = new LinkedHashSet<String>();
- LinkedHashSet<String> newDSRs = new LinkedHashSet<String>();
- LinkedHashSet<String> newMRUs = new LinkedHashSet<String>();
- LinkedHashSet<String> newLSDs = new LinkedHashSet<String>();
+ Set<String> newATs = new LinkedHashSet<String>();
+ Set<String> newOCs = new LinkedHashSet<String>();
+ Set<String> newNFs = new LinkedHashSet<String>();
+ Set<String> newDCRs = new LinkedHashSet<String>();
+ Set<String> newDSRs = new LinkedHashSet<String>();
+ Set<String> newMRUs = new LinkedHashSet<String>();
+ Set<String> newLSDs = new LinkedHashSet<String>();
Schema.genConcatenatedSchema(newATs, newOCs, newNFs, newDCRs, newDSRs,
newMRUs,newLSDs);
@@ -439,19 +463,19 @@
}
}
- LinkedHashSet<String> oldATs = new LinkedHashSet<String>();
- LinkedHashSet<String> oldOCs = new LinkedHashSet<String>();
- LinkedHashSet<String> oldNFs = new LinkedHashSet<String>();
- LinkedHashSet<String> oldDCRs = new LinkedHashSet<String>();
- LinkedHashSet<String> oldDSRs = new LinkedHashSet<String>();
- LinkedHashSet<String> oldMRUs = new LinkedHashSet<String>();
- LinkedHashSet<String> oldLSDs = new LinkedHashSet<String>();
+ Set<String> oldATs = new LinkedHashSet<String>();
+ Set<String> oldOCs = new LinkedHashSet<String>();
+ Set<String> oldNFs = new LinkedHashSet<String>();
+ Set<String> oldDCRs = new LinkedHashSet<String>();
+ Set<String> oldDSRs = new LinkedHashSet<String>();
+ Set<String> oldMRUs = new LinkedHashSet<String>();
+ Set<String> oldLSDs = new LinkedHashSet<String>();
Schema.readConcatenatedSchema(concatFilePath, oldATs, oldOCs, oldNFs,
oldDCRs, oldDSRs, oldMRUs,oldLSDs);
// Create a list of modifications and add any differences between the old
// and new schema into them.
- LinkedList<Modification> mods = new LinkedList<Modification>();
+ List<Modification> mods = new LinkedList<Modification>();
Schema.compareConcatenatedSchema(oldATs, newATs, attributeTypesType,
mods);
Schema.compareConcatenatedSchema(oldOCs, newOCs, objectClassesType, mods);
@@ -681,10 +705,10 @@
private Entry getSchemaEntry(DN entryDN, boolean includeSchemaFile,
boolean ignoreShowAllOption)
{
- LinkedHashMap<AttributeType, List<Attribute>> userAttrs =
+ Map<AttributeType, List<Attribute>> userAttrs =
new LinkedHashMap<AttributeType, List<Attribute>>();
- LinkedHashMap<AttributeType, List<Attribute>> operationalAttrs =
+ Map<AttributeType, List<Attribute>> operationalAttrs =
new LinkedHashMap<AttributeType, List<Attribute>>();
// Add the RDN attribute(s) for the provided entry.
@@ -714,14 +738,13 @@
Schema schema = DirectoryServer.getSchema();
// Add the "attributeTypes" attribute.
- LinkedHashSet<AttributeValue> valueSet = DirectoryServer
- .getAttributeTypeSet();
+ Set<AttributeValue> valueSet = DirectoryServer.getAttributeTypeSet();
// Add the file name to the description of the attribute type if
// this was requested by the caller.
if (includeSchemaFile)
{
- LinkedHashSet<AttributeValue> newValueSet =
+ Set<AttributeValue> newValueSet =
new LinkedHashSet<AttributeValue>(valueSet.size());
for (AttributeValue value : valueSet)
@@ -796,7 +819,7 @@
// the caller.
if (includeSchemaFile)
{
- LinkedHashSet<AttributeValue> newValueSet =
+ Set<AttributeValue> newValueSet =
new LinkedHashSet<AttributeValue>(valueSet.size());
for (AttributeValue value : valueSet)
@@ -3434,7 +3457,7 @@
*/
private Entry createEmptySchemaEntry()
{
- LinkedHashMap<ObjectClass,String> objectClasses =
+ Map<ObjectClass,String> objectClasses =
new LinkedHashMap<ObjectClass,String>();
objectClasses.put(DirectoryServer.getTopObjectClass(), OC_TOP);
objectClasses.put(DirectoryServer.getObjectClass(OC_LDAP_SUBENTRY_LC, true),
@@ -3442,10 +3465,10 @@
objectClasses.put(DirectoryServer.getObjectClass(OC_SUBSCHEMA, true),
OC_SUBSCHEMA);
- LinkedHashMap<AttributeType,List<Attribute>> userAttributes =
+ Map<AttributeType,List<Attribute>> userAttributes =
new LinkedHashMap<AttributeType,List<Attribute>>();
- LinkedHashMap<AttributeType,List<Attribute>> operationalAttributes =
+ Map<AttributeType,List<Attribute>> operationalAttributes =
new LinkedHashMap<AttributeType,List<Attribute>>();
DN dn = DirectoryServer.getSchemaDN();
@@ -3453,7 +3476,7 @@
for (int i=0; i < rdn.getNumValues(); i++)
{
AttributeType type = rdn.getAttributeType(i);
- LinkedList<Attribute> attrList = new LinkedList<Attribute>();
+ List<Attribute> attrList = new LinkedList<Attribute>();
attrList.add(Attributes.create(type, rdn.getAttributeValue(i)));
if (type.isOperational())
{
@@ -3499,7 +3522,7 @@
* this only for the real part of the ldapsyntaxes attribute. The real part
* is read and write to/from the schema files.
*/
- LinkedHashSet<AttributeValue> values = new LinkedHashSet<AttributeValue>();
+ Set<AttributeValue> values = new LinkedHashSet<AttributeValue>();
for (LDAPSyntaxDescription ldapSyntax :
schema.getLdapSyntaxDescriptions().values())
{
@@ -3522,7 +3545,7 @@
// Add all of the appropriate attribute types to the schema entry. We need
// to be careful of the ordering to ensure that any superior types in the
// same file are written before the subordinate types.
- HashSet<AttributeType> addedTypes = new HashSet<AttributeType>();
+ Set<AttributeType> addedTypes = new HashSet<AttributeType>();
values = new LinkedHashSet<AttributeValue>();
for (AttributeType at : schema.getAttributeTypes().values())
{
@@ -3545,7 +3568,7 @@
// Add all of the appropriate objectclasses to the schema entry. We need
// to be careful of the ordering to ensure that any superior classes in the
// same file are written before the subordinate classes.
- HashSet<ObjectClass> addedClasses = new HashSet<ObjectClass>();
+ Set<ObjectClass> addedClasses = new HashSet<ObjectClass>();
values = new LinkedHashSet<AttributeValue>();
for (ObjectClass oc : schema.getObjectClasses().values())
{
@@ -3618,7 +3641,7 @@
// Add all of the appropriate DIT structure rules to the schema entry. We
// need to be careful of the ordering to ensure that any superior rules in
// the same file are written before the subordinate rules.
- HashSet<DITStructureRule> addedDSRs = new HashSet<DITStructureRule>();
+ Set<DITStructureRule> addedDSRs = new HashSet<DITStructureRule>();
values = new LinkedHashSet<AttributeValue>();
for (DITStructureRule dsr : schema.getDITStructureRulesByID().values())
{
@@ -3705,8 +3728,8 @@
*/
private void addAttrTypeToSchemaFile(Schema schema, String schemaFile,
AttributeType attributeType,
- LinkedHashSet<AttributeValue> values,
- HashSet<AttributeType> addedTypes,
+ Set<AttributeValue> values,
+ Set<AttributeType> addedTypes,
int depth)
throws DirectoryException
{
@@ -3756,8 +3779,8 @@
*/
private void addObjectClassToSchemaFile(Schema schema, String schemaFile,
ObjectClass objectClass,
- LinkedHashSet<AttributeValue> values,
- HashSet<ObjectClass> addedClasses,
+ Set<AttributeValue> values,
+ Set<ObjectClass> addedClasses,
int depth)
throws DirectoryException
{
@@ -3808,8 +3831,8 @@
*/
private void addDITStructureRuleToSchemaFile(Schema schema, String schemaFile,
DITStructureRule ditStructureRule,
- LinkedHashSet<AttributeValue> values,
- HashSet<DITStructureRule> addedDSRs, int depth)
+ Set<AttributeValue> values,
+ Set<DITStructureRule> addedDSRs, int depth)
throws DirectoryException
{
if (depth > 20)
@@ -4240,7 +4263,7 @@
* {@inheritDoc}
*/
@Override()
- public HashSet<String> getSupportedControls()
+ public Set<String> getSupportedControls()
{
return supportedControls;
}
@@ -4251,7 +4274,7 @@
* {@inheritDoc}
*/
@Override()
- public HashSet<String> getSupportedFeatures()
+ public Set<String> getSupportedFeatures()
{
return supportedFeatures;
}
@@ -5781,7 +5804,7 @@
// deleteBaseDNs will contain the set of DNs that should no longer be used
// and should be deregistered from the server, and the newBaseDNs set will
// just contain the set of DNs to add.
- HashSet<DN> deleteBaseDNs = new HashSet<DN>(baseDNs.length);
+ Set<DN> deleteBaseDNs = new HashSet<DN>(baseDNs.length);
for (DN baseDN : baseDNs)
{
if (! newBaseDNs.remove(baseDN))
--
Gitblit v1.10.0