From 1afeb00abfb007ef9322d2060896353aeb3efdc4 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Mon, 30 May 2016 10:43:11 +0000
Subject: [PATCH] OPENDJ-2987 Fix all classes that need to use ObjectClass placeholder instead of null
---
opendj-server-legacy/src/main/java/org/opends/server/plugins/SambaPasswordPlugin.java | 37 +++++--
opendj-server-legacy/src/main/java/org/opends/server/schema/DITContentRuleSyntax.java | 28 +----
opendj-server-legacy/src/main/java/org/opends/server/schema/NameFormSyntax.java | 14 --
opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DITContentRule.java | 4
opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/ObjectClass.java | 2
opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java | 10 +-
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/SimplifiedViewEntryPanel.java | 15 +-
opendj-server-legacy/src/main/java/org/opends/server/plugins/LDAPADListPlugin.java | 2
opendj-core/src/main/java/org/forgerock/opendj/ldap/Entries.java | 4
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java | 3
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BrowseEntriesPanel.java | 9 -
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/SchemaLoader.java | 4
opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java | 2
opendj-server-legacy/src/main/java/org/opends/server/core/SubentryPasswordPolicy.java | 11 +-
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/TableViewEntryPanel.java | 6
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ViewEntryPanel.java | 12 +-
opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java | 10 -
opendj-server-legacy/src/test/java/org/opends/server/backends/SchemaBackendTestCase.java | 28 ++---
opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/FractionalReplicationTest.java | 2
opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/ModifyConflictTest.java | 6
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/SchemaElementPanel.java | 13 +-
opendj-server-legacy/src/test/java/org/opends/server/types/TestEntry.java | 8 -
opendj-server-legacy/src/main/java/org/opends/server/loggers/CommonAudit.java | 8
opendj-server-legacy/src/main/java/org/opends/server/types/Entry.java | 25 +---
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/components/SuperiorObjectClassesEditor.java | 2
opendj-core/src/main/java/org/forgerock/opendj/ldap/AttributeFilter.java | 2
opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java | 16 +-
opendj-server-legacy/src/main/java/org/opends/server/types/SubtreeSpecification.java | 2
opendj-server-legacy/src/test/java/org/opends/server/core/SubtreeSpecificationTestCase.java | 4
opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/Schema.java | 2
30 files changed, 123 insertions(+), 168 deletions(-)
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/AttributeFilter.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/AttributeFilter.java
index 12a2f8b..c207ed8 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/AttributeFilter.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/AttributeFilter.java
@@ -336,7 +336,7 @@
} else if (attributeDescription.startsWith("@") && attributeDescription.length() > 1) {
final String objectClassName = attributeDescription.substring(1);
final ObjectClass objectClass = schema.getObjectClass(objectClassName);
- if (objectClass != null) {
+ if (!objectClass.isPlaceHolder()) {
allocatedRequestedAttributes();
for (final AttributeType at : objectClass.getRequiredAttributes()) {
final AttributeDescription ad = AttributeDescription.create(at);
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/Entries.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/Entries.java
index d216898..21596a0 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/Entries.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/Entries.java
@@ -697,7 +697,7 @@
final String objectClassName = v.toString();
final ObjectClass objectClass;
try {
- objectClass = schema.getObjectClass(objectClassName);
+ objectClass = schema.asStrictSchema().getObjectClass(objectClassName);
objectClasses.add(objectClass);
} catch (final UnknownSchemaElementException e) {
// Ignore.
@@ -812,7 +812,7 @@
final String objectClassName = v.toString();
final ObjectClass objectClass;
try {
- objectClass = schema.getObjectClass(objectClassName);
+ objectClass = schema.asStrictSchema().getObjectClass(objectClassName);
} catch (final UnknownSchemaElementException e) {
// Ignore.
continue;
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DITContentRule.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DITContentRule.java
index 714ad4f..529d85a 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DITContentRule.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/DITContentRule.java
@@ -770,7 +770,7 @@
// or is not structural, then fail.
if (structuralClassOID != null) {
try {
- structuralClass = schema.getObjectClass(structuralClassOID);
+ structuralClass = schema.asStrictSchema().getObjectClass(structuralClassOID);
} catch (final UnknownSchemaElementException e) {
final LocalizableMessage message =
ERR_ATTR_SYNTAX_DCR_UNKNOWN_STRUCTURAL_CLASS1.get(getNameOrOID(),
@@ -791,7 +791,7 @@
ObjectClass objectClass;
for (final String oid : auxiliaryClassOIDs) {
try {
- objectClass = schema.getObjectClass(oid);
+ objectClass = schema.asStrictSchema().getObjectClass(oid);
} catch (final UnknownSchemaElementException e) {
// This isn't good because it is an unknown auxiliary class.
final LocalizableMessage message =
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/ObjectClass.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/ObjectClass.java
index 93c2d57..f7779dc 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/ObjectClass.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/ObjectClass.java
@@ -849,7 +849,7 @@
ObjectClass superiorClass;
for (final String superClassOid : superiorClassOIDs) {
try {
- superiorClass = schema.getObjectClass(superClassOid);
+ superiorClass = schema.asStrictSchema().getObjectClass(superClassOid);
} catch (final UnknownSchemaElementException e) {
final LocalizableMessage message =
WARN_ATTR_SYNTAX_OBJECTCLASS_UNKNOWN_SUPERIOR_CLASS1.get(
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/Schema.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/Schema.java
index 11b2fc0..8506b74 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/Schema.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/Schema.java
@@ -1768,7 +1768,7 @@
final String objectClassName = v.toString();
final ObjectClass objectClass;
try {
- objectClass = getObjectClass(objectClassName);
+ objectClass = asStrictSchema().getObjectClass(objectClassName);
objectClasses.add(objectClass);
} catch (final UnknownSchemaElementException e) {
if (policy.checkAttributesAndObjectClasses().needsChecking()) {
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java
index e495683..31d6ce8 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java
@@ -581,7 +581,7 @@
for (ObjectClass oc1 : ocs1)
{
ObjectClass oc2 = schema2.getObjectClass(oc1.getNameOrOID());
- if (oc2 == null || !areObjectClassesEqual(oc1, oc2))
+ if (oc2.isPlaceHolder() || !areObjectClassesEqual(oc1, oc2))
{
return false;
}
@@ -633,7 +633,6 @@
private static boolean areObjectClassesEqual(ObjectClass oc1, ObjectClass oc2)
{
return oc1.getOID().equals(oc2.getOID())
- && oc1.isExtensibleObject() == oc2.isExtensibleObject()
&& areEqual(getDefinitionWithFileName(oc1), getDefinitionWithFileName(oc2))
&& areEqual(oc1.getDescription(), oc2.getDescription())
&& areEqual(oc1.getObjectClassType(), oc2.getObjectClassType())
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BrowseEntriesPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BrowseEntriesPanel.java
index d6049a6..e7cefd9 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BrowseEntriesPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BrowseEntriesPanel.java
@@ -65,6 +65,7 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.opendj.ldap.DN;
import org.forgerock.opendj.ldap.schema.AttributeType;
+import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.guitools.controlpanel.browser.NodeRefresher;
import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
@@ -79,7 +80,6 @@
import org.opends.guitools.controlpanel.ui.nodes.DndBrowserNodes;
import org.opends.guitools.controlpanel.util.LDAPEntryReader;
import org.opends.guitools.controlpanel.util.Utilities;
-import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.types.Schema;
import org.opends.server.util.ServerConstants;
@@ -458,13 +458,12 @@
Schema schema = getInfo().getServerDescriptor().getSchema();
if (ocs != null && schema != null)
{
- AttributeType attr = schema.getAttributeType(
- ServerConstants.ATTR_USER_PASSWORD);
+ AttributeType attr = schema.getAttributeType(ServerConstants.ATTR_USER_PASSWORD);
for (String oc : ocs)
{
ObjectClass objectClass = schema.getObjectClass(oc);
- if (objectClass != null
- && attr != null
+ if (!attr.isPlaceHolder()
+ && !objectClass.isPlaceHolder()
&& objectClass.isRequiredOrOptional(attr))
{
return true;
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/SchemaElementPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/SchemaElementPanel.java
index 34215f5..c887f22 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/SchemaElementPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/SchemaElementPanel.java
@@ -110,16 +110,13 @@
protected void objectClassSelected(JList<?> list)
{
String o = (String)list.getSelectedValue();
- if (o != null)
+ Schema schema = getInfo().getServerDescriptor().getSchema();
+ if (o != null && schema != null)
{
- Schema schema = getInfo().getServerDescriptor().getSchema();
- if (schema != null)
+ ObjectClass oc = schema.getObjectClass(o.toLowerCase());
+ if (!oc.isPlaceHolder())
{
- ObjectClass oc = schema.getObjectClass(o.toLowerCase());
- if (oc != null)
- {
- notifySchemaSelectionListeners(oc);
- }
+ notifySchemaSelectionListeners(oc);
}
}
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/SimplifiedViewEntryPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/SimplifiedViewEntryPanel.java
index 646082f..d0246f2 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/SimplifiedViewEntryPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/SimplifiedViewEntryPanel.java
@@ -76,6 +76,7 @@
import org.forgerock.opendj.ldap.DN;
import org.forgerock.opendj.ldap.RDN;
import org.forgerock.opendj.ldap.schema.AttributeType;
+import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.forgerock.opendj.ldap.schema.Syntax;
import org.opends.guitools.controlpanel.datamodel.BinaryValue;
import org.opends.guitools.controlpanel.datamodel.CheckEntrySyntaxException;
@@ -91,7 +92,6 @@
import org.opends.server.schema.SchemaConstants;
import org.opends.server.types.Entry;
import org.opends.server.types.LDIFImportConfig;
-import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.types.OpenDsException;
import org.opends.server.types.Schema;
import org.opends.server.util.Base64;
@@ -720,7 +720,7 @@
{
String oc = (String)o;
ObjectClass objectClass = schema.getObjectClass(oc.toLowerCase());
- if (objectClass != null)
+ if (!objectClass.isPlaceHolder())
{
for (AttributeType attr : objectClass.getRequiredAttributes())
{
@@ -1153,11 +1153,10 @@
if (!attrType.isPlaceHolder())
{
List<Object> ocs = sr.getAttributeValues(ServerConstants.OBJECTCLASS_ATTRIBUTE_TYPE_NAME);
- for (Object o : ocs)
+ for (Object oc : ocs)
{
- String oc = (String) o;
- ObjectClass objectClass = schema.getObjectClass(oc.toLowerCase());
- if (objectClass != null && objectClass.isRequired(attrType))
+ ObjectClass objectClass = schema.getObjectClass(((String) oc).toLowerCase());
+ if (!objectClass.isPlaceHolder() && objectClass.isRequired(attrType))
{
return true;
}
@@ -1636,7 +1635,7 @@
for (String oc : ocs)
{
ObjectClass objectClass = schema.getObjectClass(oc);
- if (objectClass != null)
+ if (!objectClass.isPlaceHolder())
{
for (AttributeType attr : objectClass.getRequiredAttributes())
{
@@ -1825,7 +1824,7 @@
if (schema != null && structural != null)
{
ObjectClass oc = schema.getObjectClass(structural.toLowerCase());
- if (oc != null)
+ if (!oc.isPlaceHolder())
{
values.addAll(getObjectClassSuperiorValues(oc));
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/TableViewEntryPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/TableViewEntryPanel.java
index 76d61e0..8fb27a4 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/TableViewEntryPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/TableViewEntryPanel.java
@@ -51,6 +51,7 @@
import org.forgerock.opendj.ldap.DN;
import org.forgerock.opendj.ldap.RDN;
import org.forgerock.opendj.ldap.schema.AttributeType;
+import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.guitools.controlpanel.datamodel.BinaryValue;
import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
import org.opends.guitools.controlpanel.datamodel.ObjectClassValue;
@@ -61,7 +62,6 @@
import org.opends.guitools.controlpanel.util.Utilities;
import org.opends.server.types.Entry;
import org.opends.server.types.LDIFImportConfig;
-import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.types.OpenDsException;
import org.opends.server.types.Schema;
import org.opends.server.util.LDIFReader;
@@ -619,7 +619,7 @@
{
String oc = (String)o;
ObjectClass objectClass = schema.getObjectClass(oc.toLowerCase());
- if (objectClass != null)
+ if (!objectClass.isPlaceHolder())
{
for (AttributeType attr : objectClass.getRequiredAttributes())
{
@@ -747,7 +747,7 @@
for (String oc : ocs)
{
ObjectClass objectClass = schema.getObjectClass(oc);
- if (objectClass != null)
+ if (!objectClass.isPlaceHolder())
{
for (AttributeType attr : objectClass.getRequiredAttributes())
{
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ViewEntryPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ViewEntryPanel.java
index 2d0eeb4..191913a 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ViewEntryPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ViewEntryPanel.java
@@ -38,6 +38,7 @@
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.ObjectClass;
import org.forgerock.opendj.ldap.schema.ObjectClassType;
import org.opends.guitools.controlpanel.datamodel.BinaryValue;
import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
@@ -50,7 +51,6 @@
import org.opends.server.schema.SchemaConstants;
import org.opends.server.types.Attributes;
import org.opends.server.types.Entry;
-import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.types.OpenDsException;
import org.opends.server.types.Schema;
import org.opends.server.util.Base64;
@@ -246,9 +246,8 @@
SortedSet<String> auxiliaryClasses = new TreeSet<>();
for (Object o : ocValues)
{
- ObjectClass objectClass =
- schema.getObjectClass(((String)o).toLowerCase());
- if (objectClass != null)
+ ObjectClass objectClass = schema.getObjectClass(((String) o).toLowerCase());
+ if (!objectClass.isPlaceHolder())
{
if (objectClass.getObjectClassType() == ObjectClassType.STRUCTURAL)
{
@@ -361,9 +360,8 @@
Schema schema = getInfo().getServerDescriptor().getSchema();
if (schema != null)
{
- ObjectClass oc =
- schema.getObjectClass(ocValue.getStructural().toLowerCase());
- if (oc != null)
+ ObjectClass oc = schema.getObjectClass(ocValue.getStructural().toLowerCase());
+ if (!oc.isPlaceHolder())
{
Set<String> names = getObjectClassSuperiorValues(oc);
for (String name : names)
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/components/SuperiorObjectClassesEditor.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/components/SuperiorObjectClassesEditor.java
index eeb425f..e1e0503 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/components/SuperiorObjectClassesEditor.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/components/SuperiorObjectClassesEditor.java
@@ -233,7 +233,7 @@
}
ObjectClass oc = (ObjectClass)singleSuperior.getSelectedItem();
- if (oc != null)
+ if (oc != null && !oc.isPlaceHolder())
{
return Collections.singleton(oc);
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/SchemaLoader.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/SchemaLoader.java
index 2c3a161..71dfc43 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/SchemaLoader.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/SchemaLoader.java
@@ -30,6 +30,7 @@
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.schema.AttributeType;
import org.forgerock.opendj.ldap.schema.MatchingRule;
+import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.forgerock.opendj.ldap.schema.SchemaBuilder;
import org.forgerock.opendj.ldap.schema.Syntax;
import org.opends.server.config.ConfigConstants;
@@ -38,7 +39,6 @@
import org.opends.server.schema.SchemaConstants;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.InitializationException;
-import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.types.Schema;
import com.forgerock.opendj.util.OperatingSystem;
@@ -70,7 +70,7 @@
for (String name : OBJECTCLASS_TO_KEEP)
{
ObjectClass oc = sc.getObjectClass(name.toLowerCase());
- if (oc != null)
+ if (!oc.isPlaceHolder())
{
objectclassesToKeep.add(oc);
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java
index 53f7255..bcbc0de 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java
@@ -143,13 +143,7 @@
// Initialize null entry object classes.
objectClasses = new HashMap<>();
- String topOCName = "top";
- ObjectClass topOC = DirectoryServer.getObjectClass(topOCName);
- if (topOC == null) {
- throw new InitializationException(LocalizableMessage.raw("Unable to locate " + topOCName +
- " objectclass in the current server schema"));
- }
- objectClasses.put(topOC, topOCName);
+ objectClasses.put(DirectoryServer.getTopObjectClass(), "top");
String nulOCName = "nullbackendobject";
ObjectClass nulOC = DirectoryServer.getObjectClass2(nulOCName);
@@ -163,7 +157,7 @@
String extOCName = "extensibleobject";
ObjectClass extOC = DirectoryServer.getObjectClass(extOCName);
- if (extOC == null) {
+ if (extOC.isPlaceHolder()) {
throw new InitializationException(LocalizableMessage.raw("Unable to locate " + extOCName +
" objectclass in the current server schema"));
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java
index 4073a3c..49e0230 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java
@@ -1467,8 +1467,8 @@
ObjectClass existingClass = schema.getObjectClass(objectClass.getOID());
for (String name : objectClass.getNames())
{
- ObjectClass oc = schema.getObjectClass(toLowerCase(name));
- if (oc == null)
+ ObjectClass oc = schema.getObjectClass(name);
+ if (oc.isPlaceHolder())
{
continue;
}
@@ -1543,7 +1543,7 @@
// If there is no existing class, then we're adding a new objectclass.
// Otherwise, we're replacing an existing one.
- if (existingClass == null)
+ if (existingClass.isPlaceHolder())
{
schema.registerObjectClass(objectClass, false);
addNewSchemaElement(modifiedSchemaFiles, objectClass);
@@ -1592,7 +1592,7 @@
// See if the specified objectclass is actually defined in the server
// schema. If not, then fail.
ObjectClass removeClass = schema.getObjectClass(objectClass.getOID());
- if (removeClass == null || !removeClass.equals(objectClass))
+ if (removeClass.isPlaceHolder() || !removeClass.equals(objectClass))
{
LocalizableMessage message = ERR_SCHEMA_MODIFY_REMOVE_NO_SUCH_OBJECTCLASS.get(
objectClass.getNameOrOID());
@@ -3468,7 +3468,7 @@
// Register this ObjectClass in the new schema
// unless it is already defined with the same syntax.
ObjectClass oldObjectClass = schema.getObjectClass(newObjectClass.getOID());
- if (oldObjectClass == null || !oldObjectClass.toString().equals(newObjectClass.toString()))
+ if (oldObjectClass.isPlaceHolder() || !oldObjectClass.toString().equals(newObjectClass.toString()))
{
newSchema.registerObjectClass(newObjectClass, true);
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/SubentryPasswordPolicy.java b/opendj-server-legacy/src/main/java/org/opends/server/core/SubentryPasswordPolicy.java
index 9e2382b..258f6ca 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/SubentryPasswordPolicy.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/SubentryPasswordPolicy.java
@@ -32,8 +32,10 @@
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.opendj.config.server.ConfigException;
import org.forgerock.opendj.ldap.ByteString;
+import org.forgerock.opendj.ldap.DN;
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.schema.AttributeType;
+import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.forgerock.opendj.server.config.meta.PasswordPolicyCfgDefn.StateUpdateFailurePolicy;
import org.forgerock.opendj.server.config.server.PasswordValidatorCfg;
import org.opends.server.api.AccountStatusNotificationHandler;
@@ -41,11 +43,9 @@
import org.opends.server.api.PasswordStorageScheme;
import org.opends.server.api.PasswordValidator;
import org.opends.server.types.Attribute;
-import org.forgerock.opendj.ldap.DN;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.Entry;
import org.opends.server.types.InitializationException;
-import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.types.Operation;
import org.opends.server.types.SubEntry;
import org.opends.server.util.SchemaUtils;
@@ -143,7 +143,7 @@
ObjectClass pwdPolicyOC = DirectoryServer.getObjectClass(PWD_OC_POLICY);
Entry entry = subentry.getEntry();
Map<ObjectClass, String> objectClasses = entry.getObjectClasses();
- if (pwdPolicyOC == null)
+ if (pwdPolicyOC.isPlaceHolder())
{
// This should not happen -- The server doesn't
// have a pwdPolicy objectclass defined.
@@ -245,9 +245,8 @@
// Now check for the pwdValidatorPolicy OC and its attribute.
// Determine if this is a password validator policy object class.
- ObjectClass pwdValidatorPolicyOC =
- DirectoryServer.getObjectClass(PWD_OC_VALIDATORPOLICY);
- if (pwdValidatorPolicyOC != null &&
+ ObjectClass pwdValidatorPolicyOC = DirectoryServer.getObjectClass(PWD_OC_VALIDATORPOLICY);
+ if (!pwdValidatorPolicyOC.isPlaceHolder() &&
objectClasses.containsKey(pwdValidatorPolicyOC))
{
AttributeType pwdAttrType =
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/loggers/CommonAudit.java b/opendj-server-legacy/src/main/java/org/opends/server/loggers/CommonAudit.java
index 582bad1..23659b4 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/loggers/CommonAudit.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/loggers/CommonAudit.java
@@ -62,6 +62,8 @@
import org.forgerock.json.resource.RequestHandler;
import org.forgerock.opendj.config.ConfigurationFramework;
import org.forgerock.opendj.config.server.ConfigException;
+import org.forgerock.opendj.ldap.DN;
+import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.forgerock.opendj.server.config.server.CsvFileAccessLogPublisherCfg;
import org.forgerock.opendj.server.config.server.CsvFileHTTPAccessLogPublisherCfg;
import org.forgerock.opendj.server.config.server.ExternalAccessLogPublisherCfg;
@@ -75,11 +77,9 @@
import org.forgerock.opendj.server.config.server.SizeLimitLogRetentionPolicyCfg;
import org.forgerock.opendj.server.config.server.SizeLimitLogRotationPolicyCfg;
import org.forgerock.opendj.server.config.server.TimeLimitLogRotationPolicyCfg;
-import org.opends.server.types.Entry;
-import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.core.DirectoryServer;
-import org.forgerock.opendj.ldap.DN;
import org.opends.server.core.ServerContext;
+import org.opends.server.types.Entry;
import org.opends.server.util.StaticUtils;
/**
@@ -738,7 +738,7 @@
private boolean hasObjectClass(ServerContext serverContext, Entry entry, String objectClassName)
{
ObjectClass objectClass = serverContext.getSchema().getObjectClass(objectClassName);
- return objectClass != null && entry.hasObjectClass(objectClass);
+ return !objectClass.isPlaceHolder() && entry.hasObjectClass(objectClass);
}
DN getDn()
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/plugins/LDAPADListPlugin.java b/opendj-server-legacy/src/main/java/org/opends/server/plugins/LDAPADListPlugin.java
index ee2e75c..74049f1 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/plugins/LDAPADListPlugin.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/plugins/LDAPADListPlugin.java
@@ -91,7 +91,7 @@
{
final String lowerName = toLowerCase(attrName.substring(1));
final ObjectClass oc = getObjectClass(lowerName);
- if (oc == null)
+ if (oc.isPlaceHolder())
{
logger.trace("Cannot replace unknown objectclass %s", lowerName);
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/plugins/SambaPasswordPlugin.java b/opendj-server-legacy/src/main/java/org/opends/server/plugins/SambaPasswordPlugin.java
index 1581b56..f3422cb 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/plugins/SambaPasswordPlugin.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/plugins/SambaPasswordPlugin.java
@@ -21,35 +21,52 @@
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+import java.util.SortedSet;
-import javax.crypto.*;
+import javax.crypto.BadPaddingException;
+import javax.crypto.Cipher;
+import javax.crypto.IllegalBlockSizeException;
+import javax.crypto.NoSuchPaddingException;
+import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.slf4j.LocalizedLogger;
+import org.forgerock.opendj.config.server.ConfigChangeResult;
+import org.forgerock.opendj.config.server.ConfigException;
+import org.forgerock.opendj.config.server.ConfigurationChangeListener;
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.DN;
import org.forgerock.opendj.ldap.ModificationType;
-import org.forgerock.opendj.config.server.ConfigurationChangeListener;
+import org.forgerock.opendj.ldap.ResultCode;
+import org.forgerock.opendj.ldap.schema.AttributeType;
+import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.forgerock.opendj.server.config.meta.PluginCfgDefn;
import org.forgerock.opendj.server.config.meta.SambaPasswordPluginCfgDefn.PwdSyncPolicy;
import org.forgerock.opendj.server.config.server.SambaPasswordPluginCfg;
import org.opends.server.api.plugin.DirectoryServerPlugin;
import org.opends.server.api.plugin.PluginResult;
import org.opends.server.api.plugin.PluginType;
-import org.forgerock.opendj.config.server.ConfigChangeResult;
-import org.forgerock.opendj.config.server.ConfigException;
import org.opends.server.controls.LDAPAssertionRequestControl;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.ModifyOperation;
import org.opends.server.extensions.PasswordModifyExtendedOperation;
import org.opends.server.protocols.internal.InternalClientConnection;
import org.opends.server.protocols.ldap.LDAPFilter;
-import org.forgerock.opendj.ldap.schema.AttributeType;
-import org.forgerock.opendj.ldap.schema.ObjectClass;
-import org.opends.server.types.*;
-import org.forgerock.opendj.ldap.ResultCode;
+import org.opends.server.types.Attribute;
+import org.opends.server.types.Attributes;
+import org.opends.server.types.Control;
+import org.opends.server.types.DirectoryException;
+import org.opends.server.types.Entry;
+import org.opends.server.types.InitializationException;
+import org.opends.server.types.Modification;
+import org.opends.server.types.RawFilter;
+import org.opends.server.types.Schema;
import org.opends.server.types.operation.PostOperationExtendedOperation;
import org.opends.server.types.operation.PreOperationModifyOperation;
@@ -954,7 +971,7 @@
final Schema schema = DirectoryServer.getSchema();
final ObjectClass sambaOc = schema
.getObjectClass(toLowerCase(SAMBA_SAM_ACCOUNT_OC_NAME));
- return sambaOc != null && entry.hasObjectClass(sambaOc);
+ return !sambaOc.isPlaceHolder() && entry.hasObjectClass(sambaOc);
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java
index 4d9e106..1d533d7 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java
@@ -73,6 +73,7 @@
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.SearchScope;
import org.forgerock.opendj.ldap.schema.AttributeType;
+import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.forgerock.opendj.server.config.meta.ReplicationDomainCfgDefn.IsolationPolicy;
import org.forgerock.opendj.server.config.server.ExternalChangelogDomainCfg;
import org.forgerock.opendj.server.config.server.ReplicationDomainCfg;
@@ -138,7 +139,6 @@
import org.opends.server.types.LDIFExportConfig;
import org.opends.server.types.LDIFImportConfig;
import org.opends.server.types.Modification;
-import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.types.Operation;
import org.opends.server.types.OperationType;
import org.opends.server.types.RawModification;
@@ -971,9 +971,8 @@
for (String className : newFractionalSpecificClassesAttributes.keySet())
{
// Does the class exist ?
- ObjectClass fractionalClass = schema.getObjectClass(
- className.toLowerCase());
- if (fractionalClass == null)
+ ObjectClass fractionalClass = schema.getObjectClass(className.toLowerCase());
+ if (fractionalClass.isPlaceHolder())
{
throw new ConfigException(
NOTE_ERR_FRACTIONAL_CONFIG_UNKNOWN_OBJECT_CLASS.get(className));
@@ -4439,9 +4438,8 @@
if (name.startsWith("@"))
{
String ocName = name.substring(1);
- ObjectClass objectClass =
- DirectoryServer.getObjectClass(toLowerCase(ocName));
- if (objectClass != null)
+ ObjectClass objectClass = DirectoryServer.getObjectClass(toLowerCase(ocName));
+ if (!objectClass.isPlaceHolder())
{
for (AttributeType at : objectClass.getRequiredAttributes())
{
@@ -4842,7 +4840,7 @@
{
// Get class from specificClassesAttributes1
ObjectClass objectClass1 = schema.getObjectClass(className1);
- if (objectClass1 == null)
+ if (objectClass1.isPlaceHolder())
{
throw new ConfigException(
NOTE_ERR_FRACTIONAL_CONFIG_UNKNOWN_OBJECT_CLASS.get(className1));
@@ -4853,7 +4851,7 @@
for (String className2 : specificClassesAttrs2.keySet())
{
ObjectClass objectClass2 = schema.getObjectClass(className2);
- if (objectClass2 == null)
+ if (objectClass2.isPlaceHolder())
{
throw new ConfigException(
NOTE_ERR_FRACTIONAL_CONFIG_UNKNOWN_OBJECT_CLASS.get(className2));
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/DITContentRuleSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/DITContentRuleSyntax.java
index 1be1030..0901afe 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/DITContentRuleSyntax.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/schema/DITContentRuleSyntax.java
@@ -30,6 +30,7 @@
import org.forgerock.opendj.ldap.ByteSequence;
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.schema.AttributeType;
+import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.forgerock.opendj.ldap.schema.ObjectClassType;
import org.forgerock.opendj.ldap.schema.Syntax;
import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
@@ -37,7 +38,6 @@
import org.opends.server.core.DirectoryServer;
import org.opends.server.types.DITContentRule;
import org.opends.server.types.DirectoryException;
-import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.types.Schema;
/**
@@ -235,13 +235,9 @@
// Get the objectclass with the specified OID. If it does not exist or is
// not structural, then fail.
ObjectClass structuralClass = schema.getObjectClass(oid);
- if (structuralClass == null)
+ if (structuralClass.isPlaceHolder())
{
- if (allowUnknownElements)
- {
- structuralClass = DirectoryServer.getDefaultObjectClass(oid);
- }
- else
+ if (!allowUnknownElements)
{
LocalizableMessage message =
ERR_ATTR_SYNTAX_DCR_UNKNOWN_STRUCTURAL_CLASS.get(valueStr, oid);
@@ -394,15 +390,10 @@
pos = readWOID(lowerStr, woidBuffer, pos);
ObjectClass oc = schema.getObjectClass(woidBuffer.toString());
- if (oc == null)
+ if (oc.isPlaceHolder())
{
// This isn't good because it is an unknown auxiliary class.
- if (allowUnknownElements)
- {
- oc = DirectoryServer.getDefaultAuxiliaryObjectClass(
- woidBuffer.toString());
- }
- else
+ if (!allowUnknownElements)
{
throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
ERR_ATTR_SYNTAX_DCR_UNKNOWN_AUXILIARY_CLASS.get(
@@ -444,15 +435,10 @@
pos = readWOID(lowerStr, woidBuffer, pos-1);
ObjectClass oc = schema.getObjectClass(woidBuffer.toString());
- if (oc == null)
+ if (oc.isPlaceHolder())
{
// This isn't good because it is an unknown auxiliary class.
- if (allowUnknownElements)
- {
- oc = DirectoryServer.getDefaultAuxiliaryObjectClass(
- woidBuffer.toString());
- }
- else
+ if (!allowUnknownElements)
{
throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
ERR_ATTR_SYNTAX_DCR_UNKNOWN_AUXILIARY_CLASS.get(valueStr, woidBuffer));
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/NameFormSyntax.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/NameFormSyntax.java
index de9448b..5b5faf0 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/NameFormSyntax.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/schema/NameFormSyntax.java
@@ -30,6 +30,7 @@
import org.forgerock.opendj.ldap.ByteSequence;
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.schema.AttributeType;
+import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.forgerock.opendj.ldap.schema.ObjectClassType;
import org.forgerock.opendj.ldap.schema.Syntax;
import org.forgerock.opendj.server.config.server.AttributeSyntaxCfg;
@@ -37,7 +38,6 @@
import org.opends.server.core.DirectoryServer;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.NameForm;
-import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.types.Schema;
/**
@@ -370,16 +370,10 @@
StringBuilder woidBuffer = new StringBuilder();
pos = readWOID(lowerStr, woidBuffer, pos);
structuralClass = schema.getObjectClass(woidBuffer.toString());
- if (structuralClass == null)
+ if (!structuralClass.isPlaceHolder())
{
- // This is bad because we don't know what the structural objectclass
- // is.
- if (allowUnknownElements)
- {
- structuralClass = DirectoryServer.getDefaultObjectClass(
- woidBuffer.toString());
- }
- else
+ // This is bad because we don't know what the structural objectclass is.
+ if (!allowUnknownElements)
{
LocalizableMessage message =
ERR_ATTR_SYNTAX_NAME_FORM_UNKNOWN_STRUCTURAL_CLASS.get(oid, woidBuffer);
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/types/Entry.java b/opendj-server-legacy/src/main/java/org/opends/server/types/Entry.java
index 9e8193cc..a869b51 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/types/Entry.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/types/Entry.java
@@ -1699,7 +1699,7 @@
// all attributes required by the object classes are present.
for (ObjectClass o : objectClasses.keySet())
{
- if (DirectoryServer.getObjectClass(o.getOID()) == null)
+ if (DirectoryServer.getObjectClass(o.getOID()).isPlaceHolder())
{
LocalizableMessage message = ERR_ENTRY_SCHEMA_UNKNOWN_OC.get(dn, o.getNameOrOID());
invalidReason.append(message);
@@ -2463,16 +2463,11 @@
String attrTypeName)
{
ObjectClass oc = DirectoryServer.getObjectClass(objectClassName);
- if (oc == null)
+ if (oc.isPlaceHolder())
{
// This should not happen
// The server doesn't have this objectclass defined.
- if (logger.isTraceEnabled())
- {
- logger.trace(
- "No %s objectclass is defined in the server schema.",
- objectClassName);
- }
+ logger.trace("No %s objectclass is defined in the server schema.", objectClassName);
return containsObjectClassByName(objectClassName);
}
if (!objectClasses.containsKey(oc))
@@ -2486,10 +2481,7 @@
{
// This should not happen
// The server doesn't have this attribute type defined.
- if (logger.isTraceEnabled())
- {
- logger.trace("No %s attribute type is defined in the server schema.", attrTypeName);
- }
+ logger.trace("No %s attribute type is defined in the server schema.", attrTypeName);
return false;
}
return userAttributes.containsKey(attrType)
@@ -2647,16 +2639,11 @@
private boolean hasObjectClass(String objectClassLowerCase)
{
ObjectClass oc = DirectoryServer.getObjectClass(objectClassLowerCase);
- if (oc == null)
+ if (oc.isPlaceHolder())
{
// This should not happen
// The server doesn't have this object class defined.
- if (logger.isTraceEnabled())
- {
- logger.trace(
- "No %s objectclass is defined in the server schema.",
- objectClassLowerCase);
- }
+ logger.trace("No %s objectclass is defined in the server schema.", objectClassLowerCase);
return containsObjectClassByName(objectClassLowerCase);
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/types/SubtreeSpecification.java b/opendj-server-legacy/src/main/java/org/opends/server/types/SubtreeSpecification.java
index b95a596..5b4c9ce 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/types/SubtreeSpecification.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/types/SubtreeSpecification.java
@@ -272,7 +272,7 @@
public boolean matches(final Entry entry)
{
final ObjectClass oc = DirectoryServer.getObjectClass(normalizedObjectClass);
- return oc != null && entry.hasObjectClass(oc);
+ return !oc.isPlaceHolder() && entry.hasObjectClass(oc);
}
@Override
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java b/opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java
index bc17c89..930831d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java
@@ -1257,7 +1257,7 @@
}
ObjectClass oc = DirectoryServer.getObjectClass(lowerName);
- if (oc == null)
+ if (oc.isPlaceHolder())
{
throw newDirectoryException(currentEntry,
ResultCode.OBJECTCLASS_VIOLATION,
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/backends/SchemaBackendTestCase.java b/opendj-server-legacy/src/test/java/org/opends/server/backends/SchemaBackendTestCase.java
index fa9ab35..7b63784 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/backends/SchemaBackendTestCase.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/backends/SchemaBackendTestCase.java
@@ -41,6 +41,7 @@
import org.forgerock.opendj.ldap.schema.AttributeType;
import org.forgerock.opendj.ldap.schema.MatchingRule;
import org.forgerock.opendj.ldap.schema.MatchingRuleUse;
+import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.forgerock.opendj.ldap.schema.Schema;
import org.forgerock.opendj.ldap.schema.SchemaBuilder;
import org.forgerock.util.Utils;
@@ -63,7 +64,6 @@
import org.opends.server.types.LDIFExportConfig;
import org.opends.server.types.LDIFImportConfig;
import org.opends.server.types.LDIFImportResult;
-import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.types.SearchFilter;
import org.opends.server.util.CollectionUtils;
import org.opends.server.util.ServerConstants;
@@ -2381,7 +2381,7 @@
runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
ObjectClass oc = DirectoryServer.getSchema().getObjectClass(ocName);
- assertNotNull(oc);
+ assertFalse(oc.isPlaceHolder());
DITContentRule dcr = DirectoryServer.getSchema().getDITContentRule(oc);
assertNotNull(dcr);
@@ -2424,7 +2424,7 @@
runModify(argsPermissive(), ldif, System.err, SUCCESS);
ObjectClass oc = DirectoryServer.getSchema().getObjectClass(ocName);
- assertNotNull(oc);
+ assertFalse(oc.isPlaceHolder());
DITContentRule dcr = DirectoryServer.getSchema().getDITContentRule(oc);
assertNotNull(dcr);
@@ -2466,7 +2466,7 @@
runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
ObjectClass oc = DirectoryServer.getSchema().getObjectClass(ocName);
- assertNotNull(oc);
+ assertFalse(oc.isPlaceHolder());
DITContentRule dcr = DirectoryServer.getSchema().getDITContentRule(oc);
assertNotNull(dcr);
@@ -2516,7 +2516,7 @@
runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
ObjectClass oc = DirectoryServer.getSchema().getObjectClass(ocName);
- assertNotNull(oc);
+ assertFalse(oc.isPlaceHolder());
DITContentRule dcr = DirectoryServer.getSchema().getDITContentRule(oc);
assertNotNull(dcr);
@@ -3116,7 +3116,7 @@
runModify(argsNotPermissive(), ldif, System.err, SUCCESS);
ObjectClass oc = DirectoryServer.getSchema().getObjectClass(ocName);
- assertNotNull(oc);
+ assertFalse(oc.isPlaceHolder());
DITContentRule dcr = DirectoryServer.getSchema().getDITContentRule(oc);
assertNull(dcr);
@@ -4120,7 +4120,7 @@
"X-ORIGIN 'SchemaBackendTestCase' )");
String objectClassName = "testditcontentrulesmatchingruleoc";
- assertNull(DirectoryServer.getSchema().getObjectClass(objectClassName));
+ assertTrue(DirectoryServer.getSchema().getObjectClass(objectClassName).isPlaceHolder());
runModify(argsNotPermissive(), ldif, System.err, ATTRIBUTE_OR_VALUE_EXISTS);
}
@@ -4186,7 +4186,7 @@
"X-ORIGIN 'SchemaBackendTestCase' )");
String objectClassName = "testditcontentrulesmatchingruleoc1";
- assertNull(DirectoryServer.getSchema().getObjectClass(objectClassName));
+ assertTrue(DirectoryServer.getSchema().getObjectClass(objectClassName).isPlaceHolder());
runModify(argsNotPermissive(), ldif, System.err, ATTRIBUTE_OR_VALUE_EXISTS);
}
@@ -4363,10 +4363,8 @@
" MAY ( street $ c) X-ORIGIN 'user defined' )");
assertEquals(resultCode, 0);
- assertNotNull(DirectoryServer.getObjectClass(
- "testaddanddeletedefinitionwithextraspaces"));
- assertNotNull(DirectoryServer.getObjectClass(
- "testaddanddeletedefinitionwithextraspaces-oid"));
+ assertFalse(getObjectClass("testaddanddeletedefinitionwithextraspaces").isPlaceHolder());
+ assertFalse(getObjectClass("testaddanddeletedefinitionwithextraspaces-oid").isPlaceHolder());
resultCode = TestCaseUtils.applyModifications(false,
"dn: cn=schema",
@@ -4377,10 +4375,8 @@
" MAY ( street $ c) X-ORIGIN 'user defined' )");
assertEquals(resultCode, 0);
- assertNull(DirectoryServer.getObjectClass(
- "testaddanddeletedefinitionwithextraspaces"));
- assertNull(DirectoryServer.getObjectClass(
- "testaddanddeletedefinitionwithextraspaces-oid"));
+ assertTrue(getObjectClass("testaddanddeletedefinitionwithextraspaces").isPlaceHolder());
+ assertTrue(getObjectClass("testaddanddeletedefinitionwithextraspaces-oid").isPlaceHolder());
}
/**
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/core/SubtreeSpecificationTestCase.java b/opendj-server-legacy/src/test/java/org/opends/server/core/SubtreeSpecificationTestCase.java
index 71cf455..fb388e4 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/core/SubtreeSpecificationTestCase.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/core/SubtreeSpecificationTestCase.java
@@ -71,13 +71,13 @@
objectClasses = new HashSet<>();
ObjectClass oc = DirectoryServer.getObjectClass("top");
- if (oc == null) {
+ if (oc.isPlaceHolder()) {
throw new RuntimeException("Unable to resolve object class top");
}
objectClasses.add(oc);
oc = DirectoryServer.getObjectClass("person");
- if (oc == null) {
+ if (oc.isPlaceHolder()) {
throw new RuntimeException("Unable to resolve object class person");
}
objectClasses.add(oc);
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/FractionalReplicationTest.java b/opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/FractionalReplicationTest.java
index 81ec56a..a770270 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/FractionalReplicationTest.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/FractionalReplicationTest.java
@@ -656,7 +656,6 @@
if (!objectClassStr.equals("*"))
{
ObjectClass objectClass = DirectoryServer.getObjectClass(objectClassStr.toLowerCase());
-
assertTrue(newEntry.hasObjectClass(objectClass));
}
@@ -710,7 +709,6 @@
if (!objectClassStr.equals("*"))
{
ObjectClass objectClass = DirectoryServer.getObjectClass(objectClassStr.toLowerCase());
-
assertTrue(entry.hasObjectClass(objectClass));
}
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/ModifyConflictTest.java b/opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/ModifyConflictTest.java
index f3b160d..974e27b 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/ModifyConflictTest.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/replication/plugin/ModifyConflictTest.java
@@ -27,7 +27,7 @@
import org.forgerock.opendj.ldap.DN;
import org.forgerock.opendj.ldap.ModificationType;
import org.forgerock.opendj.ldap.schema.AttributeType;
-import org.opends.server.core.DirectoryServer;
+import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.core.ModifyOperationBasis;
import org.opends.server.replication.ReplicationTestCase;
import org.opends.server.replication.common.CSN;
@@ -40,7 +40,6 @@
import org.opends.server.types.DirectoryException;
import org.opends.server.types.Entry;
import org.opends.server.types.Modification;
-import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.workflowelement.localbackend.LocalBackendModifyOperation;
import org.testng.annotations.Test;
@@ -1066,8 +1065,7 @@
*/
DN dn = DN.valueOf(TEST_ROOT_DN_STRING);
Map<ObjectClass, String> objectClasses = new HashMap<>();
- ObjectClass org = DirectoryServer.getObjectClass(ORGANIZATION);
- objectClasses.put(org, ORGANIZATION);
+ objectClasses.put(getObjectClass(ORGANIZATION), ORGANIZATION);
// start with a new entry with an empty attribute
Entry entry = new Entry(dn, objectClasses, null, null);
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/types/TestEntry.java b/opendj-server-legacy/src/test/java/org/opends/server/types/TestEntry.java
index e22434d..40baa9b 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/types/TestEntry.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/types/TestEntry.java
@@ -75,13 +75,9 @@
DN entryDN = DN.valueOf("dc=example, dc=com");
// Get default object classes.
- ObjectClass top = DirectoryServer.getObjectClass("top");
- if (top == null) {
- throw new RuntimeException("Unable to resolve object class top");
- }
-
+ ObjectClass top = DirectoryServer.getTopObjectClass();
ObjectClass extensible = DirectoryServer.getObjectClass("extensibleobject");
- if (extensible == null) {
+ if (extensible.isPlaceHolder()) {
throw new RuntimeException(
"Unable to resolve object class extensibleObject");
}
--
Gitblit v1.10.0