From c51b4224b8fe6d4d4d2bdbb4cdf6c6e187627289 Mon Sep 17 00:00:00 2001
From: Ludovic Poitou <ludovic.poitou@forgerock.com>
Date: Thu, 07 Apr 2011 20:14:21 +0000
Subject: [PATCH] Fix Issue OPENDJ-113. Missing an if statement for permissive control. Updated the test case to work. Issue #OPENDJ-113 - Permissive Modify Control fails when deleting non existing attribute

---
 opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java |    7 +++++--
 opends/tests/unit-tests-testng/src/server/org/opends/server/core/ModifyOperationTestCase.java     |    4 ++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java
index d92813e..e37efe2 100644
--- a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java
+++ b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyOperation.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2008-2009 Sun Microsystems, Inc.
+ *      Copyright 2008-2011 Sun Microsystems, Inc.
  *      Portions Copyright 2011 ForgeRock AS
  */
 package org.opends.server.workflowelement.localbackend;
@@ -1634,9 +1634,12 @@
     }
     else
     {
-      throw new DirectoryException(ResultCode.NO_SUCH_ATTRIBUTE,
+      if (! permissiveModify)
+      {
+        throw new DirectoryException(ResultCode.NO_SUCH_ATTRIBUTE,
                      ERR_MODIFY_DELETE_NO_SUCH_ATTR.get(
                           String.valueOf(entryDN), attr.getName()));
+      }
     }
   }
 
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/core/ModifyOperationTestCase.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/core/ModifyOperationTestCase.java
index 0095722..e80ba20 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/core/ModifyOperationTestCase.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/core/ModifyOperationTestCase.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2006-2010 Sun Microsystems, Inc.
+ *      Copyright 2006-2011 Sun Microsystems, Inc.
  */
 package org.opends.server.core;
 
@@ -4761,7 +4761,7 @@
                          entry.getOperationalAttributes());
     assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
 
-    LDAPAttribute attr = new LDAPAttribute("displayName");
+    LDAPAttribute attr = new LDAPAttribute("description");
     ArrayList<RawModification> mods = new ArrayList<RawModification>();
     mods.add(new LDAPModification(ModificationType.DELETE, attr));
 

--
Gitblit v1.10.0