From 7c774e1356257bd64273760740f2464f2d6661fb Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Tue, 09 Jan 2007 20:20:30 +0000
Subject: [PATCH] Update the schema backend to provide full support for online schema updates. which includes the following:
---
opends/src/server/org/opends/server/core/DirectoryServer.java | 42 +++++++++++++++++++++++++++++-------------
1 files changed, 29 insertions(+), 13 deletions(-)
diff --git a/opends/src/server/org/opends/server/core/DirectoryServer.java b/opends/src/server/org/opends/server/core/DirectoryServer.java
index 6817cbc..f9bb224 100644
--- a/opends/src/server/org/opends/server/core/DirectoryServer.java
+++ b/opends/src/server/org/opends/server/core/DirectoryServer.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Portions Copyright 2006 Sun Microsystems, Inc.
+ * Portions Copyright 2006-2007 Sun Microsystems, Inc.
*/
package org.opends.server.core;
@@ -2905,10 +2905,16 @@
directoryServer.schema.getObjectClass(TOP_OBJECTCLASS_NAME);
if (objectClass == null)
{
- objectClass = new ObjectClass(TOP_OBJECTCLASS_NAME, Collections
- .singleton(TOP_OBJECTCLASS_NAME), TOP_OBJECTCLASS_OID,
- TOP_OBJECTCLASS_DESCRIPTION, null, null, null,
- ObjectClassType.ABSTRACT, false, null);
+ String definition =
+ "( 2.5.6.0 NAME 'top' ABSTRACT MUST objectClass " +
+ "X-ORIGIN 'RFC 2256' )";
+
+ objectClass = new ObjectClass(definition, TOP_OBJECTCLASS_NAME,
+ Collections.singleton(TOP_OBJECTCLASS_NAME),
+ TOP_OBJECTCLASS_OID,
+ TOP_OBJECTCLASS_DESCRIPTION, null, null,
+ null, ObjectClassType.ABSTRACT, false,
+ null);
}
return objectClass;
@@ -2937,10 +2943,13 @@
ObjectClass objectClass = directoryServer.schema.getObjectClass(lowerName);
if (objectClass == null)
{
- objectClass = new ObjectClass(name,
- Collections.singleton(name), lowerName, null,
- getTopObjectClass(), null, null, ObjectClassType.ABSTRACT,
- false, null);
+ String oid = lowerName + "-oid";
+ String definition = "( " + oid + " NAME '" + name + "' ABSTRACT )";
+
+ objectClass = new ObjectClass(definition, name,
+ Collections.singleton(name), oid, null,
+ getTopObjectClass(), null, null,
+ ObjectClassType.ABSTRACT, false, null);
}
return objectClass;
@@ -3109,8 +3118,12 @@
}
}
+ String definition =
+ "( 2.5.4.0 NAME 'objectClass' EQUALITY objectIdentifierMatch " +
+ "SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 X-ORIGIN 'RFC 2256' )";
+
directoryServer.objectClassAttributeType =
- new AttributeType("objectClass",
+ new AttributeType(definition, "objectClass",
Collections.singleton("objectClass"),
OBJECTCLASS_ATTRIBUTE_TYPE_OID, null, null,
oidSyntax, AttributeUsage.USER_APPLICATIONS,
@@ -3172,9 +3185,12 @@
String.valueOf(name));
- String lowerName = toLowerCase(name);
- return new AttributeType(name, Collections.singleton(name),
- lowerName, null, null, syntax,
+ String oid = toLowerCase(name) + "-oid";
+ String definition = "( " + oid + " NAME '" + name + "' SYNTAX " +
+ syntax.getOID() + " )";
+
+ return new AttributeType(definition, name, Collections.singleton(name),
+ oid, null, null, syntax,
AttributeUsage.USER_APPLICATIONS, false, false,
false, false);
}
--
Gitblit v1.10.0