From 44aad3f84d2a820094f3b5e73722778edc8c23f5 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Tue, 24 Apr 2007 22:40:57 +0000
Subject: [PATCH] Make several significant changes to the OpenDS code base, including:

---
 opends/src/server/org/opends/server/protocols/ldap/LDAPModification.java |  147 +++---------------------------------------------
 1 files changed, 10 insertions(+), 137 deletions(-)

diff --git a/opends/src/server/org/opends/server/protocols/ldap/LDAPModification.java b/opends/src/server/org/opends/server/protocols/ldap/LDAPModification.java
index a29cfbf..9621137 100644
--- a/opends/src/server/org/opends/server/protocols/ldap/LDAPModification.java
+++ b/opends/src/server/org/opends/server/protocols/ldap/LDAPModification.java
@@ -28,17 +28,12 @@
 
 
 
-import java.util.ArrayList;
-
-import org.opends.server.protocols.asn1.ASN1Element;
-import org.opends.server.protocols.asn1.ASN1Enumerated;
-import org.opends.server.protocols.asn1.ASN1Sequence;
+import org.opends.server.types.LDAPException;
 import org.opends.server.types.Modification;
 import org.opends.server.types.ModificationType;
+import org.opends.server.types.RawAttribute;
+import org.opends.server.types.RawModification;
 
-import static org.opends.server.loggers.debug.DebugLogger.debugCaught;
-import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
-import org.opends.server.types.DebugLogLevel;
 import static org.opends.server.messages.MessageHandler.*;
 import static org.opends.server.messages.ProtocolMessages.*;
 import static org.opends.server.protocols.ldap.LDAPConstants.*;
@@ -53,16 +48,14 @@
  * attribute.
  */
 public class LDAPModification
+       extends RawModification
 {
-
-
-
-  // The attribute for this modification.
-  private LDAPAttribute attribute;
-
   // The modification type for this modification.
   private ModificationType modificationType;
 
+  // The attribute for this modification.
+  private RawAttribute attribute;
+
 
 
   /**
@@ -72,7 +65,7 @@
    * @param  attribute         The attribute for this modification.
    */
   public LDAPModification(ModificationType modificationType,
-                          LDAPAttribute attribute)
+                          RawAttribute attribute)
   {
     this.modificationType = modificationType;
     this.attribute        = attribute;
@@ -109,7 +102,7 @@
    *
    * @return  The attribute for this modification.
    */
-  public LDAPAttribute getAttribute()
+  public RawAttribute getAttribute()
   {
     return attribute;
   }
@@ -121,7 +114,7 @@
    *
    * @param  attribute  The attribute for this modification.
    */
-  public void setAttribute(LDAPAttribute attribute)
+  public void setAttribute(RawAttribute attribute)
   {
     this.attribute = attribute;
   }
@@ -129,126 +122,6 @@
 
 
   /**
-   * Encodes this modification to an ASN.1 element.
-   *
-   * @return  The ASN.1 element containing the encoded modification.
-   */
-  public ASN1Element encode()
-  {
-    ArrayList<ASN1Element> elements = new ArrayList<ASN1Element>(2);
-    elements.add(new ASN1Enumerated(modificationType.intValue()));
-    elements.add(attribute.encode());
-
-    return new ASN1Sequence(elements);
-  }
-
-
-
-  /**
-   * Decodes the provided ASN.1 element as an LDAP modification.
-   *
-   * @param  element  The ASN.1 element to decode.
-   *
-   * @return  The decoded LDAP modification.
-   *
-   * @throws  LDAPException  If a problem occurs while attempting to decode the
-   *                         provided ASN.1 element as an LDAP modification.
-   */
-  public static LDAPModification decode(ASN1Element element)
-         throws LDAPException
-  {
-    ArrayList<ASN1Element> elements;
-    try
-    {
-      elements = element.decodeAsSequence().elements();
-    }
-    catch (Exception e)
-    {
-      if (debugEnabled())
-      {
-        debugCaught(DebugLogLevel.ERROR, e);
-      }
-
-      int msgID = MSGID_LDAP_MODIFICATION_DECODE_SEQUENCE;
-      String message = getMessage(msgID, String.valueOf(e));
-      throw new LDAPException(PROTOCOL_ERROR, msgID, message, e);
-    }
-
-
-    int numElements = elements.size();
-    if (numElements != 2)
-    {
-      int    msgID   = MSGID_LDAP_MODIFICATION_DECODE_INVALID_ELEMENT_COUNT;
-      String message = getMessage(msgID, numElements);
-      throw new LDAPException(PROTOCOL_ERROR, msgID, message);
-    }
-
-
-    ModificationType modificationType;
-    try
-    {
-      switch (elements.get(0).decodeAsEnumerated().intValue())
-      {
-        case MOD_TYPE_ADD:
-          modificationType = ModificationType.ADD;
-          break;
-        case MOD_TYPE_DELETE:
-          modificationType = ModificationType.DELETE;
-          break;
-        case MOD_TYPE_REPLACE:
-          modificationType = ModificationType.REPLACE;
-          break;
-        case MOD_TYPE_INCREMENT:
-          modificationType = ModificationType.INCREMENT;
-          break;
-        default:
-          int    intValue = elements.get(0).decodeAsEnumerated().intValue();
-          int    msgID    = MSGID_LDAP_MODIFICATION_DECODE_INVALID_MOD_TYPE;
-          String message  = getMessage(msgID, intValue);
-          throw new LDAPException(PROTOCOL_ERROR, msgID, message);
-      }
-    }
-    catch (LDAPException le)
-    {
-      throw le;
-    }
-    catch (Exception e)
-    {
-      if (debugEnabled())
-      {
-        debugCaught(DebugLogLevel.ERROR, e);
-      }
-
-      int msgID = MSGID_LDAP_MODIFICATION_DECODE_MOD_TYPE;
-      String message = getMessage(msgID, String.valueOf(e));
-      throw new LDAPException(PROTOCOL_ERROR, msgID, message, e);
-    }
-
-
-    LDAPAttribute attribute;
-    try
-    {
-      attribute = LDAPAttribute.decode(elements.get(1));
-    }
-    catch (Exception e)
-    {
-      if (debugEnabled())
-      {
-        debugCaught(DebugLogLevel.ERROR, e);
-      }
-
-      int msgID = MSGID_LDAP_MODIFICATION_DECODE_ATTR;
-      String message = getMessage(msgID, String.valueOf(e));
-      throw new LDAPException(PROTOCOL_ERROR, msgID, message, e);
-    }
-
-
-    return new LDAPModification(modificationType, attribute);
-  }
-
-
-
-  /**
    * Creates a new core <CODE>Modification</CODE> object from this LDAP
    * modification.
    *

--
Gitblit v1.10.0