From 72434bf41bc8a36b162a6ae570b2a10fd1e92b97 Mon Sep 17 00:00:00 2001
From: Patrick Diligent <patrick.diligent@forgerock.com>
Date: Thu, 11 Jun 2015 06:01:12 +0000
Subject: [PATCH] OPENDJ-1969 CR-7066 fix NPE

---
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/extensions/StructuralObjectClassVirtualAttributeProvider.java  |    3 +--
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/extensions/GoverningStructureRuleVirtualAttributeProvider.java |    6 ++++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/extensions/GoverningStructureRuleVirtualAttributeProvider.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/extensions/GoverningStructureRuleVirtualAttributeProvider.java
index 355806f0..ff64c8c 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/extensions/GoverningStructureRuleVirtualAttributeProvider.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/extensions/GoverningStructureRuleVirtualAttributeProvider.java
@@ -184,9 +184,11 @@
   }
 
   /** Finds the appropriate DIT structure rule for an entry. */
-  private DITStructureRule getDITStructureRule(Entry entry)
-  {
+  private DITStructureRule getDITStructureRule(Entry entry) {
     ObjectClass oc = entry.getStructuralObjectClass();
+    if (oc == null) {
+      return null;
+    }
     List<NameForm> listForms = DirectoryServer.getNameForm(oc);
     NameForm nameForm = null;
     DITStructureRule ditRule = null;
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/extensions/StructuralObjectClassVirtualAttributeProvider.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/extensions/StructuralObjectClassVirtualAttributeProvider.java
index a33eebc..b436398 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/extensions/StructuralObjectClassVirtualAttributeProvider.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/extensions/StructuralObjectClassVirtualAttributeProvider.java
@@ -80,8 +80,7 @@
   @Override
   public boolean hasValue(Entry entry, VirtualAttributeRule rule)
   {
-    //A structural object class is always present in an entry.
-    return true;
+    return entry.getStructuralObjectClass() != null;
   }
 
   /** {@inheritDoc} */

--
Gitblit v1.10.0