From f653eea946872180a28013f3951ea85b3bda11a7 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Fri, 25 Jan 2013 17:41:37 +0000
Subject: [PATCH] Fix OPENDJ-169: Modifying an existing object class definition requires server restart

---
 opends/src/server/org/opends/server/core/DirectoryServer.java |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/opends/src/server/org/opends/server/core/DirectoryServer.java b/opends/src/server/org/opends/server/core/DirectoryServer.java
index db60db4..96418ed 100644
--- a/opends/src/server/org/opends/server/core/DirectoryServer.java
+++ b/opends/src/server/org/opends/server/core/DirectoryServer.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2006-2010 Sun Microsystems, Inc.
- *      Portions Copyright 2010-2012 ForgeRock AS.
+ *      Portions Copyright 2010-2013 ForgeRock AS.
  */
 package org.opends.server.core;
 
@@ -3681,11 +3681,11 @@
       String oid        = lowerName + "-oid";
       String definition = "( " + oid + " NAME '" + name + "' ABSTRACT )";
 
+      // Temporary object classes are immediately dirty.
       objectClass = new ObjectClass(definition, name,
-                                    Collections.singleton(name), oid, null,
-                                    Collections.singleton(getTopObjectClass()),
-                                    null, null,
-                                    ObjectClassType.ABSTRACT, false, null);
+          Collections.singleton(name), oid, null,
+          Collections.singleton(getTopObjectClass()), null, null,
+          ObjectClassType.ABSTRACT, false, null).setDirty();
     }
 
     return objectClass;
@@ -3936,10 +3936,11 @@
     String definition = "( " + oid + " NAME '" + name + "' SYNTAX " +
                         syntax.getOID() + " )";
 
+    // Temporary attribute types are immediately dirty.
     return new AttributeType(definition, name, Collections.singleton(name),
                              oid, null, null, syntax,
                              AttributeUsage.USER_APPLICATIONS, false, false,
-                             false, false);
+                             false, false).setDirty();
   }
 
 
@@ -3947,9 +3948,10 @@
   /**
    * Retrieves the set of attribute syntaxes defined in the Directory Server.
    *
-   * @return  The set of attribute syntaxes defined in the Directory Server.
+   * @return The set of attribute syntaxes defined in the Directory Server.
    */
-  public static ConcurrentHashMap<String,AttributeSyntax> getAttributeSyntaxes()
+  public static ConcurrentHashMap<String,
+                                  AttributeSyntax<?>> getAttributeSyntaxes()
   {
     return directoryServer.schema.getSyntaxes();
   }

--
Gitblit v1.10.0