From 538a088c3bd6c80c1038def6b36538258dac7002 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Fri, 01 Jul 2016 12:53:43 +0000
Subject: [PATCH] OPENDJ-2956 Issue warnings during schema validation of an object class if it references obsolete elements
---
opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java | 51 ---------------------------------------------------
1 files changed, 0 insertions(+), 51 deletions(-)
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 de3279e..0bd06de 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
@@ -1244,57 +1244,6 @@
}
}
- // Make sure that the new objectclass doesn't reference an undefined
- // superior class, or an undefined required or optional attribute type,
- // and that none of them are OBSOLETE.
- for(ObjectClass superiorClass : objectClass.getSuperiorClasses())
- {
- if (! schema.hasObjectClass(superiorClass.getOID()))
- {
- LocalizableMessage message = ERR_SCHEMA_MODIFY_UNDEFINED_SUPERIOR_OBJECTCLASS.get(
- objectClass.getNameOrOID(), superiorClass.getNameOrOID());
- throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message);
- }
- else if (superiorClass.isObsolete())
- {
- LocalizableMessage message = ERR_SCHEMA_MODIFY_OBSOLETE_SUPERIOR_OBJECTCLASS.get(
- objectClass.getNameOrOID(), superiorClass.getNameOrOID());
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message);
- }
- }
-
- for (AttributeType at : objectClass.getDeclaredRequiredAttributes())
- {
- if (! schema.hasAttributeType(at.getOID()))
- {
- LocalizableMessage message = ERR_SCHEMA_MODIFY_OC_UNDEFINED_REQUIRED_ATTR.get(
- objectClass.getNameOrOID(), at.getNameOrOID());
- throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message);
- }
- else if (at.isObsolete())
- {
- LocalizableMessage message = ERR_SCHEMA_MODIFY_OC_OBSOLETE_REQUIRED_ATTR.get(
- objectClass.getNameOrOID(), at.getNameOrOID());
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message);
- }
- }
-
- for (AttributeType at : objectClass.getDeclaredOptionalAttributes())
- {
- if (! schema.hasAttributeType(at.getOID()))
- {
- LocalizableMessage message = ERR_SCHEMA_MODIFY_OC_UNDEFINED_OPTIONAL_ATTR.get(
- objectClass.getNameOrOID(), at.getNameOrOID());
- throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message);
- }
- else if (at.isObsolete())
- {
- LocalizableMessage message = ERR_SCHEMA_MODIFY_OC_OBSOLETE_OPTIONAL_ATTR.get(
- objectClass.getNameOrOID(), at.getNameOrOID());
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message);
- }
- }
-
// If there is no existing class, then we're adding a new objectclass.
// Otherwise, we're replacing an existing one.
if (existingClass.isPlaceHolder())
--
Gitblit v1.10.0