From e4d30b2c0703e8d58761812817545c83cce6395e Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Tue, 26 May 2015 08:53:29 +0000
Subject: [PATCH] OPENDJ-1631 Fix NPE when modifying schema from non-server context

---
 opendj-server-legacy/src/main/java/org/opends/server/core/SchemaConfigManager.java |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/SchemaConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/SchemaConfigManager.java
index 635cead..7157a4d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/SchemaConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/SchemaConfigManager.java
@@ -674,11 +674,14 @@
   private static void registerLdapSyntaxInSchemaNG(ServerContext serverContext, LDAPSyntaxDescription syntaxDescription,
       boolean overwrite)
   {
-    SchemaUpdater schemaUpdater = serverContext.getSchemaUpdater();
-    Syntax.Builder builder = schemaUpdater.getSchemaBuilder()
-        .buildSyntax(syntaxDescription.getSyntax());
-    SchemaBuilder schemaBuilder = overwrite ? builder.addToSchemaOverwrite() : builder.addToSchema();
-    schemaUpdater.updateSchema(schemaBuilder.toSchema());
+     // The server context may be null when this code is reached through non-server code (e.g. gui tools)
+     if (serverContext != null)
+     {
+        SchemaUpdater schemaUpdater = serverContext.getSchemaUpdater();
+        Syntax.Builder builder = schemaUpdater.getSchemaBuilder().buildSyntax(syntaxDescription.getSyntax());
+        SchemaBuilder schemaBuilder = overwrite ? builder.addToSchemaOverwrite() : builder.addToSchema();
+        schemaUpdater.updateSchema(schemaBuilder.toSchema());
+     }
   }
 
   /** Parse the attribute type definitions if there are any. */

--
Gitblit v1.10.0