From d41ebfdf1b752c71ff76b2b613e424adf3b0fd4c Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 04 Mar 2014 10:36:04 +0000
Subject: [PATCH] OPENDJ-1308 Migrate schema support
---
opendj3-server-dev/src/server/org/opends/server/backends/SchemaBackend.java | 159 ++++++++++++++++++++++++++--------------------------
1 files changed, 80 insertions(+), 79 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/SchemaBackend.java b/opendj3-server-dev/src/server/org/opends/server/backends/SchemaBackend.java
index 8cf2f4a..3a6a2ed 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/SchemaBackend.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/SchemaBackend.java
@@ -97,6 +97,7 @@
import static org.opends.messages.SchemaMessages.*;
import static org.opends.server.config.ConfigConstants.*;
import static org.opends.server.schema.SchemaConstants.*;
+import static org.opends.server.types.CommonSchemaElements.*;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
@@ -753,7 +754,7 @@
newValueSet.add(
AttributeValues.create(attributeTypesType,
- attrType.getDefinitionWithFileName()));
+ getDefinitionWithFileName(attrType)));
}
catch (DirectoryException e)
{
@@ -826,7 +827,7 @@
value.getValue(), schema, false);
oc = DirectoryServer.getObjectClass(oc.getOID());
newValueSet.add(AttributeValues.create(
- objectClassesType, oc.getDefinitionWithFileName()));
+ objectClassesType, getDefinitionWithFileName(oc)));
}
catch (DirectoryException e)
{
@@ -1718,11 +1719,11 @@
if (existingType == null)
{
schema.registerAttributeType(attributeType, false);
- String schemaFile = attributeType.getSchemaFile();
+ String schemaFile = getSchemaFile(attributeType);
if ((schemaFile == null) || (schemaFile.length() == 0))
{
schemaFile = FILE_USER_SCHEMA_ELEMENTS;
- attributeType.setSchemaFile(schemaFile);
+ setSchemaFile(attributeType, schemaFile);
}
modifiedSchemaFiles.add(schemaFile);
@@ -1733,22 +1734,22 @@
schema.registerAttributeType(attributeType, false);
schema.rebuildDependentElements(existingType);
- if ((attributeType.getSchemaFile() == null) ||
- (attributeType.getSchemaFile().length() == 0))
+ if ((getSchemaFile(attributeType) == null)
+ || (getSchemaFile(attributeType).length() == 0))
{
- String schemaFile = existingType.getSchemaFile();
+ String schemaFile = getSchemaFile(existingType);
if ((schemaFile == null) || (schemaFile.length() == 0))
{
schemaFile = FILE_USER_SCHEMA_ELEMENTS;
}
- attributeType.setSchemaFile(schemaFile);
+ setSchemaFile(attributeType, schemaFile);
modifiedSchemaFiles.add(schemaFile);
}
else
{
- String newSchemaFile = attributeType.getSchemaFile();
- String oldSchemaFile = existingType.getSchemaFile();
+ String newSchemaFile = getSchemaFile(attributeType);
+ String oldSchemaFile = getSchemaFile(existingType);
if ((oldSchemaFile == null) || oldSchemaFile.equals(newSchemaFile))
{
modifiedSchemaFiles.add(newSchemaFile);
@@ -1929,7 +1930,7 @@
// If we've gotten here, then it's OK to remove the attribute type from
// the schema.
schema.deregisterAttributeType(removeType);
- String schemaFile = removeType.getSchemaFile();
+ String schemaFile = getSchemaFile(removeType);
if (schemaFile != null)
{
modifiedSchemaFiles.add(schemaFile);
@@ -2047,11 +2048,11 @@
if (existingClass == null)
{
schema.registerObjectClass(objectClass, false);
- String schemaFile = objectClass.getSchemaFile();
+ String schemaFile = getSchemaFile(objectClass);
if ((schemaFile == null) || (schemaFile.length() == 0))
{
schemaFile = FILE_USER_SCHEMA_ELEMENTS;
- objectClass.setSchemaFile(schemaFile);
+ setSchemaFile(objectClass, schemaFile);
}
modifiedSchemaFiles.add(schemaFile);
@@ -2062,22 +2063,22 @@
schema.registerObjectClass(objectClass, false);
schema.rebuildDependentElements(existingClass);
- if ((objectClass.getSchemaFile() == null) ||
- (objectClass.getSchemaFile().length() == 0))
+ if ((getSchemaFile(objectClass) == null)
+ || (getSchemaFile(objectClass).length() == 0))
{
- String schemaFile = existingClass.getSchemaFile();
+ String schemaFile = getSchemaFile(existingClass);
if ((schemaFile == null) || (schemaFile.length() == 0))
{
schemaFile = FILE_USER_SCHEMA_ELEMENTS;
}
- objectClass.setSchemaFile(schemaFile);
+ setSchemaFile(objectClass, schemaFile);
modifiedSchemaFiles.add(schemaFile);
}
else
{
- String newSchemaFile = objectClass.getSchemaFile();
- String oldSchemaFile = existingClass.getSchemaFile();
+ String newSchemaFile = getSchemaFile(objectClass);
+ String oldSchemaFile = getSchemaFile(existingClass);
if ((oldSchemaFile == null) || oldSchemaFile.equals(newSchemaFile))
{
modifiedSchemaFiles.add(newSchemaFile);
@@ -2229,7 +2230,7 @@
// If we've gotten here, then it's OK to remove the objectclass from the
// schema.
schema.deregisterObjectClass(removeClass);
- String schemaFile = removeClass.getSchemaFile();
+ String schemaFile = getSchemaFile(removeClass);
if (schemaFile != null)
{
modifiedSchemaFiles.add(schemaFile);
@@ -2350,11 +2351,11 @@
if (existingNF == null)
{
schema.registerNameForm(nameForm, false);
- String schemaFile = nameForm.getSchemaFile();
+ String schemaFile = getSchemaFile(nameForm);
if ((schemaFile == null) || (schemaFile.length() == 0))
{
schemaFile = FILE_USER_SCHEMA_ELEMENTS;
- nameForm.setSchemaFile(schemaFile);
+ setSchemaFile(nameForm, schemaFile);
}
modifiedSchemaFiles.add(schemaFile);
@@ -2365,22 +2366,22 @@
schema.registerNameForm(nameForm, false);
schema.rebuildDependentElements(existingNF);
- if ((nameForm.getSchemaFile() == null) ||
- (nameForm.getSchemaFile().length() == 0))
+ if ((getSchemaFile(nameForm) == null) ||
+ (getSchemaFile(nameForm).length() == 0))
{
- String schemaFile = existingNF.getSchemaFile();
+ String schemaFile = getSchemaFile(existingNF);
if ((schemaFile == null) || (schemaFile.length() == 0))
{
schemaFile = FILE_USER_SCHEMA_ELEMENTS;
}
- nameForm.setSchemaFile(schemaFile);
+ setSchemaFile(nameForm, schemaFile);
modifiedSchemaFiles.add(schemaFile);
}
else
{
- String newSchemaFile = nameForm.getSchemaFile();
- String oldSchemaFile = existingNF.getSchemaFile();
+ String newSchemaFile = getSchemaFile(nameForm);
+ String oldSchemaFile = getSchemaFile(existingNF);
if ((oldSchemaFile == null) || oldSchemaFile.equals(newSchemaFile))
{
modifiedSchemaFiles.add(newSchemaFile);
@@ -2494,7 +2495,7 @@
// If we've gotten here, then it's OK to remove the name form from the
// schema.
schema.deregisterNameForm(removeNF);
- String schemaFile = removeNF.getSchemaFile();
+ String schemaFile = getSchemaFile(removeNF);
if (schemaFile != null)
{
modifiedSchemaFiles.add(schemaFile);
@@ -2668,11 +2669,11 @@
if (existingDCR == null)
{
schema.registerDITContentRule(ditContentRule, false);
- String schemaFile = ditContentRule.getSchemaFile();
+ String schemaFile = getSchemaFile(ditContentRule);
if ((schemaFile == null) || (schemaFile.length() == 0))
{
schemaFile = FILE_USER_SCHEMA_ELEMENTS;
- ditContentRule.setSchemaFile(schemaFile);
+ setSchemaFile(ditContentRule, schemaFile);
}
modifiedSchemaFiles.add(schemaFile);
@@ -2683,22 +2684,22 @@
schema.registerDITContentRule(ditContentRule, false);
schema.rebuildDependentElements(existingDCR);
- if ((ditContentRule.getSchemaFile() == null) ||
- (ditContentRule.getSchemaFile().length() == 0))
+ if ((getSchemaFile(ditContentRule) == null) ||
+ (getSchemaFile(ditContentRule).length() == 0))
{
- String schemaFile = existingDCR.getSchemaFile();
+ String schemaFile = getSchemaFile(existingDCR);
if ((schemaFile == null) || (schemaFile.length() == 0))
{
schemaFile = FILE_USER_SCHEMA_ELEMENTS;
}
- ditContentRule.setSchemaFile(schemaFile);
+ setSchemaFile(ditContentRule, schemaFile);
modifiedSchemaFiles.add(schemaFile);
}
else
{
- String newSchemaFile = ditContentRule.getSchemaFile();
- String oldSchemaFile = existingDCR.getSchemaFile();
+ String newSchemaFile = getSchemaFile(ditContentRule);
+ String oldSchemaFile = getSchemaFile(existingDCR);
if ((oldSchemaFile == null) || oldSchemaFile.equals(newSchemaFile))
{
modifiedSchemaFiles.add(newSchemaFile);
@@ -2764,7 +2765,7 @@
// just remove the DIT content rule now, and if it is added back later then
// there still won't be any conflict.
schema.deregisterDITContentRule(removeDCR);
- String schemaFile = removeDCR.getSchemaFile();
+ String schemaFile = getSchemaFile(removeDCR);
if (schemaFile != null)
{
modifiedSchemaFiles.add(schemaFile);
@@ -2889,11 +2890,11 @@
if (existingDSR == null)
{
schema.registerDITStructureRule(ditStructureRule, false);
- String schemaFile = ditStructureRule.getSchemaFile();
+ String schemaFile = getSchemaFile(ditStructureRule);
if ((schemaFile == null) || (schemaFile.length() == 0))
{
schemaFile = FILE_USER_SCHEMA_ELEMENTS;
- ditStructureRule.setSchemaFile(schemaFile);
+ setSchemaFile(ditStructureRule, schemaFile);
}
modifiedSchemaFiles.add(schemaFile);
@@ -2904,22 +2905,22 @@
schema.registerDITStructureRule(ditStructureRule, false);
schema.rebuildDependentElements(existingDSR);
- if ((ditStructureRule.getSchemaFile() == null) ||
- (ditStructureRule.getSchemaFile().length() == 0))
+ if ((getSchemaFile(ditStructureRule) == null) ||
+ (getSchemaFile(ditStructureRule).length() == 0))
{
- String schemaFile = existingDSR.getSchemaFile();
+ String schemaFile = getSchemaFile(existingDSR);
if ((schemaFile == null) || (schemaFile.length() == 0))
{
schemaFile = FILE_USER_SCHEMA_ELEMENTS;
}
- ditStructureRule.setSchemaFile(schemaFile);
+ setSchemaFile(ditStructureRule, schemaFile);
modifiedSchemaFiles.add(schemaFile);
}
else
{
- String newSchemaFile = ditStructureRule.getSchemaFile();
- String oldSchemaFile = existingDSR.getSchemaFile();
+ String newSchemaFile = getSchemaFile(ditStructureRule);
+ String oldSchemaFile = getSchemaFile(existingDSR);
if ((oldSchemaFile == null) || oldSchemaFile.equals(newSchemaFile))
{
modifiedSchemaFiles.add(newSchemaFile);
@@ -3039,7 +3040,7 @@
// If we've gotten here, then it's OK to remove the DIT structure rule from
// the schema.
schema.deregisterDITStructureRule(removeDSR);
- String schemaFile = removeDSR.getSchemaFile();
+ String schemaFile = getSchemaFile(removeDSR);
if (schemaFile != null)
{
modifiedSchemaFiles.add(schemaFile);
@@ -3149,11 +3150,11 @@
if (existingMRU == null)
{
schema.registerMatchingRuleUse(matchingRuleUse, false);
- String schemaFile = matchingRuleUse.getSchemaFile();
+ String schemaFile = getSchemaFile(matchingRuleUse);
if ((schemaFile == null) || (schemaFile.length() == 0))
{
schemaFile = FILE_USER_SCHEMA_ELEMENTS;
- matchingRuleUse.setSchemaFile(schemaFile);
+ setSchemaFile(matchingRuleUse, schemaFile);
}
modifiedSchemaFiles.add(schemaFile);
@@ -3164,22 +3165,22 @@
schema.registerMatchingRuleUse(matchingRuleUse, false);
schema.rebuildDependentElements(existingMRU);
- if ((matchingRuleUse.getSchemaFile() == null) ||
- (matchingRuleUse.getSchemaFile().length() == 0))
+ if ((getSchemaFile(matchingRuleUse) == null) ||
+ (getSchemaFile(matchingRuleUse).length() == 0))
{
- String schemaFile = existingMRU.getSchemaFile();
+ String schemaFile = getSchemaFile(existingMRU);
if ((schemaFile == null) || (schemaFile.length() == 0))
{
schemaFile = FILE_USER_SCHEMA_ELEMENTS;
}
- matchingRuleUse.setSchemaFile(schemaFile);
+ setSchemaFile(matchingRuleUse, schemaFile);
modifiedSchemaFiles.add(schemaFile);
}
else
{
- String newSchemaFile = matchingRuleUse.getSchemaFile();
- String oldSchemaFile = existingMRU.getSchemaFile();
+ String newSchemaFile = getSchemaFile(matchingRuleUse);
+ String oldSchemaFile = getSchemaFile(existingMRU);
if ((oldSchemaFile == null) || oldSchemaFile.equals(newSchemaFile))
{
modifiedSchemaFiles.add(newSchemaFile);
@@ -3246,7 +3247,7 @@
// just remove the DIT content rule now, and if it is added back later then
// there still won't be any conflict.
schema.deregisterMatchingRuleUse(removeMRU);
- String schemaFile = removeMRU.getSchemaFile();
+ String schemaFile = getSchemaFile(removeMRU);
if (schemaFile != null)
{
modifiedSchemaFiles.add(schemaFile);
@@ -3298,11 +3299,11 @@
if (existingLSD == null)
{
schema.registerLdapSyntaxDescription(ldapSyntaxDesc, false);
- String schemaFile = ldapSyntaxDesc.getSchemaFile();
+ String schemaFile = getSchemaFile(ldapSyntaxDesc);
if ((schemaFile == null) || (schemaFile.length() == 0))
{
schemaFile = FILE_USER_SCHEMA_ELEMENTS;
- ldapSyntaxDesc.setSchemaFile(schemaFile);
+ setSchemaFile(ldapSyntaxDesc, schemaFile);
}
modifiedSchemaFiles.add(schemaFile);
@@ -3313,22 +3314,22 @@
schema.registerLdapSyntaxDescription(ldapSyntaxDesc, false);
schema.rebuildDependentElements(existingLSD);
- if ((ldapSyntaxDesc.getSchemaFile() == null) ||
- (ldapSyntaxDesc.getSchemaFile().length() == 0))
+ if ((getSchemaFile(ldapSyntaxDesc) == null) ||
+ (getSchemaFile(ldapSyntaxDesc).length() == 0))
{
- String schemaFile = ldapSyntaxDesc.getSchemaFile();
+ String schemaFile = getSchemaFile(ldapSyntaxDesc);
if ((schemaFile == null) || (schemaFile.length() == 0))
{
schemaFile = FILE_USER_SCHEMA_ELEMENTS;
}
- ldapSyntaxDesc.setSchemaFile(schemaFile);
+ setSchemaFile(ldapSyntaxDesc, schemaFile);
modifiedSchemaFiles.add(schemaFile);
}
else
{
- String newSchemaFile = ldapSyntaxDesc.getSchemaFile();
- String oldSchemaFile = existingLSD.getSchemaFile();
+ String newSchemaFile = getSchemaFile(ldapSyntaxDesc);
+ String oldSchemaFile = getSchemaFile(existingLSD);
if ((oldSchemaFile == null) || oldSchemaFile.equals(newSchemaFile))
{
modifiedSchemaFiles.add(newSchemaFile);
@@ -3365,7 +3366,7 @@
}
schema.deregisterLdapSyntaxDescription(removeLSD);
- String schemaFile = removeLSD.getSchemaFile();
+ String schemaFile = getSchemaFile(removeLSD);
if (schemaFile != null)
{
modifiedSchemaFiles.add(schemaFile);
@@ -3451,7 +3452,7 @@
for (LDAPSyntaxDescription ldapSyntax :
schema.getLdapSyntaxDescriptions().values())
{
- if(schemaFile.equals(ldapSyntax.getSchemaFile()))
+ if (schemaFile.equals(getSchemaFile(ldapSyntax)))
{
values.add(AttributeValues.create(ldapSyntaxesType,
ldapSyntax.getDefinition()));
@@ -3474,7 +3475,7 @@
values = new LinkedHashSet<AttributeValue>();
for (AttributeType at : schema.getAttributeTypes().values())
{
- if (schemaFile.equals(at.getSchemaFile()))
+ if (schemaFile.equals(getSchemaFile(at)))
{
addAttrTypeToSchemaFile(schema, schemaFile, at, values, addedTypes, 0);
}
@@ -3497,7 +3498,7 @@
values = new LinkedHashSet<AttributeValue>();
for (ObjectClass oc : schema.getObjectClasses().values())
{
- if (schemaFile.equals(oc.getSchemaFile()))
+ if (schemaFile.equals(getSchemaFile(oc)))
{
addObjectClassToSchemaFile(schema, schemaFile, oc, values, addedClasses,
0);
@@ -3522,7 +3523,7 @@
{
for(NameForm nf : forms)
{
- if (schemaFile.equals(nf.getSchemaFile()))
+ if (schemaFile.equals(getSchemaFile(nf)))
{
values.add(AttributeValues.create(
nameFormsType, nf.getDefinition()));
@@ -3546,7 +3547,7 @@
values = new LinkedHashSet<AttributeValue>();
for (DITContentRule dcr : schema.getDITContentRules().values())
{
- if (schemaFile.equals(dcr.getSchemaFile()))
+ if (schemaFile.equals(getSchemaFile(dcr)))
{
values.add(AttributeValues.create(ditContentRulesType,
dcr.getDefinition()));
@@ -3570,7 +3571,7 @@
values = new LinkedHashSet<AttributeValue>();
for (DITStructureRule dsr : schema.getDITStructureRulesByID().values())
{
- if (schemaFile.equals(dsr.getSchemaFile()))
+ if (schemaFile.equals(getSchemaFile(dsr)))
{
addDITStructureRuleToSchemaFile(schema, schemaFile, dsr, values,
addedDSRs, 0);
@@ -3593,7 +3594,7 @@
values = new LinkedHashSet<AttributeValue>();
for (MatchingRuleUse mru : schema.getMatchingRuleUses().values())
{
- if (schemaFile.equals(mru.getSchemaFile()))
+ if (schemaFile.equals(getSchemaFile(mru)))
{
values.add(AttributeValues.create(matchingRuleUsesType,
mru.getDefinition()));
@@ -3672,7 +3673,7 @@
AttributeType superiorType = attributeType.getSuperiorType();
if ((superiorType != null) &&
- schemaFile.equals(superiorType.getSchemaFile()) &&
+ schemaFile.equals(getSchemaFile(superiorType)) &&
(! addedTypes.contains(superiorType)))
{
addAttrTypeToSchemaFile(schema, schemaFile, superiorType, values,
@@ -3723,7 +3724,7 @@
for(ObjectClass superiorClass : objectClass.getSuperiorClasses())
{
- if (schemaFile.equals(superiorClass.getSchemaFile()) &&
+ if (schemaFile.equals(getSchemaFile(superiorClass)) &&
(! addedClasses.contains(superiorClass)))
{
addObjectClassToSchemaFile(schema, schemaFile, superiorClass, values,
@@ -3774,7 +3775,7 @@
for (DITStructureRule dsr : ditStructureRule.getSuperiorRules())
{
- if (schemaFile.equals(dsr.getSchemaFile()) && (! addedDSRs.contains(dsr)))
+ if (schemaFile.equals(getSchemaFile(dsr)) && (! addedDSRs.contains(dsr)))
{
addDITStructureRuleToSchemaFile(schema, schemaFile, dsr, values,
addedDSRs, depth+1);
@@ -4363,7 +4364,7 @@
// Parse the attribute type.
AttributeType attrType = AttributeTypeSyntax.decodeAttributeType(
v.getValue(), schema, false);
- String schemaFile = attrType.getSchemaFile();
+ String schemaFile = getSchemaFile(attrType);
if ((schemaFile != null) &&
(schemaFile.equals(CONFIG_SCHEMA_ELEMENTS_FILE)))
{
@@ -4410,7 +4411,7 @@
for (AttributeType removeType : currentAttrTypes.values())
{
- String schemaFile = removeType.getSchemaFile();
+ String schemaFile = getSchemaFile(removeType);
if ((schemaFile != null) &&
((schemaFile.equals(CONFIG_SCHEMA_ELEMENTS_FILE)) ||
(schemaFile.equals(CORE_SCHEMA_ELEMENTS_FILE))) )
@@ -4471,7 +4472,7 @@
// appear in the new config schema.
ObjectClass newObjectClass = ObjectClassSyntax.decodeObjectClass(
v.getValue(), newSchema, true);
- String schemaFile = newObjectClass.getSchemaFile();
+ String schemaFile = getSchemaFile(newObjectClass);
if ((schemaFile != null) &&
(schemaFile.equals(CONFIG_SCHEMA_ELEMENTS_FILE)))
{
@@ -4523,7 +4524,7 @@
for (ObjectClass removeClass : currentObjectClasses.values())
{
- String schemaFile = removeClass.getSchemaFile();
+ String schemaFile = getSchemaFile(removeClass);
if ((schemaFile != null) &&
(schemaFile.equals(CONFIG_SCHEMA_ELEMENTS_FILE)))
{
--
Gitblit v1.10.0