From f155e5c61d449b95eb11a375506930aa475c47a9 Mon Sep 17 00:00:00 2001
From: floblanc <floblanc@localhost>
Date: Fri, 06 Nov 2009 08:52:25 +0000
Subject: [PATCH] Fix issue 4341 CompareOperationBasis does not properly handle get/setAttributeType

---
 opendj-sdk/opends/src/server/org/opends/server/core/ModifyOperationBasis.java  |    7 ++++++-
 opendj-sdk/opends/src/server/org/opends/server/core/CompareOperationBasis.java |    5 +++++
 2 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/core/CompareOperationBasis.java b/opendj-sdk/opends/src/server/org/opends/server/core/CompareOperationBasis.java
index 2d6e54f..26287d4 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/core/CompareOperationBasis.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/core/CompareOperationBasis.java
@@ -233,6 +233,10 @@
    */
   public final AttributeType getAttributeType()
   {
+    if (attributeType == null) {
+      attributeType = DirectoryServer.getAttributeType(
+          rawAttributeType.toLowerCase());
+    }
     return attributeType;
   }
 
@@ -244,6 +248,7 @@
   public void setAttributeType(AttributeType attributeType)
   {
     this.attributeType = attributeType;
+    this.rawAttributeType = attributeType.getNameOrOID();
   }
 
 
diff --git a/opendj-sdk/opends/src/server/org/opends/server/core/ModifyOperationBasis.java b/opendj-sdk/opends/src/server/org/opends/server/core/ModifyOperationBasis.java
index 8a2a229..1c4cc1d 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/core/ModifyOperationBasis.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/core/ModifyOperationBasis.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2007-2008 Sun Microsystems, Inc.
+ *      Copyright 2007-2009 Sun Microsystems, Inc.
  */
 package org.opends.server.core;
 
@@ -291,6 +291,11 @@
   throws DirectoryException
   {
     modifications.add(modification);
+    if (modification != null) {
+      rawModifications.add(new LDAPModification(
+            modification.getModificationType(),
+            new LDAPAttribute(modification.getAttribute())));
+    }
   }
 
   /**

--
Gitblit v1.10.0