You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2011/01/26 08:01:37 UTC

svn commit: r1063614 - in /directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange: EntryChangeDecoder.java EntryChangeDecorator.java

Author: akarasulu
Date: Wed Jan 26 07:01:36 2011
New Revision: 1063614

URL: http://svn.apache.org/viewvc?rev=1063614&view=rev
Log:
fixing a few things I missed in entry change control classes

Modified:
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeDecoder.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeDecorator.java

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeDecoder.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeDecoder.java?rev=1063614&r1=1063613&r2=1063614&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeDecoder.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeDecoder.java Wed Jan 26 07:01:36 2011
@@ -47,7 +47,6 @@ public class EntryChangeDecoder extends 
      * @return A valid EntryChange object
      * 
      * @throws DecoderException If the decoding found an error
-     * @throws NamingException It will never be throw by this method
      */
     
     public Asn1Object decode( byte[] controlBytes, Control control ) throws DecoderException

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeDecorator.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeDecorator.java?rev=1063614&r1=1063613&r2=1063614&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeDecorator.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeDecorator.java Wed Jan 26 07:01:36 2011
@@ -27,9 +27,7 @@ import org.apache.directory.shared.asn1.
 import org.apache.directory.shared.asn1.ber.tlv.UniversalTag;
 import org.apache.directory.shared.asn1.ber.tlv.Value;
 import org.apache.directory.shared.i18n.I18n;
-import org.apache.directory.shared.ldap.codec.controls.AbstractControl;
-import org.apache.directory.shared.ldap.codec.search.controls.ChangeType;
-import org.apache.directory.shared.ldap.model.name.Dn;
+import org.apache.directory.shared.ldap.codec.controls.ControlDecorator;
 import org.apache.directory.shared.util.Strings;
 
 
@@ -80,18 +78,11 @@ import org.apache.directory.shared.util.
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class EntryChangeDecorator extends AbstractControl
+public class EntryChangeDecorator extends ControlDecorator
 {
 
     public static final int UNDEFINED_CHANGE_NUMBER = -1;
 
-    private ChangeType changeType = ChangeType.ADD;
-
-    private long changeNumber = UNDEFINED_CHANGE_NUMBER;
-
-    /** The previous Dn */
-    private Dn previousDn = null;
-
     /** A temporary storage for the previous Dn */
     private byte[] previousDnBytes = null;
 
@@ -106,9 +97,13 @@ public class EntryChangeDecorator extend
      */
     public EntryChangeDecorator()
     {
-        super( EntryChange.OID );
+        super( new EntryChange(), new EntryChangeDecoder() );
+    }
 
-        decoder = new EntryChangeDecoder();
+
+    private EntryChange getEntryChange()
+    {
+        return ( EntryChange ) getDecorated();
     }
 
 
@@ -128,15 +123,15 @@ public class EntryChangeDecorator extend
         int previousDnLength = 0;
         int changeNumberLength = 0;
 
-        if ( previousDn != null )
+        if ( getEntryChange().getPreviousDn() != null )
         {
-            previousDnBytes = Strings.getBytesUtf8(previousDn.getName());
+            previousDnBytes = Strings.getBytesUtf8( getEntryChange().getPreviousDn().getName() );
             previousDnLength = 1 + TLV.getNbBytes( previousDnBytes.length ) + previousDnBytes.length;
         }
 
-        if ( changeNumber != UNDEFINED_CHANGE_NUMBER )
+        if ( getEntryChange().getChangeNumber() != UNDEFINED_CHANGE_NUMBER )
         {
-            changeNumberLength = 1 + 1 + Value.getNbBytes( changeNumber );
+            changeNumberLength = 1 + 1 + Value.getNbBytes( getEntryChange().getChangeNumber() );
         }
 
         eccSeqLength = changeTypesLength + previousDnLength + changeNumberLength;
@@ -173,16 +168,16 @@ public class EntryChangeDecorator extend
 
         buffer.put( UniversalTag.ENUMERATED.getValue() );
         buffer.put( ( byte ) 1 );
-        buffer.put( Value.getBytes( changeType.getValue() ) );
+        buffer.put( Value.getBytes( getEntryChange().getChangeType().getValue() ) );
 
-        if ( previousDn != null )
+        if ( getEntryChange().getPreviousDn() != null )
         {
             Value.encode( buffer, previousDnBytes );
         }
 
-        if ( changeNumber != UNDEFINED_CHANGE_NUMBER )
+        if ( getEntryChange().getChangeNumber() != UNDEFINED_CHANGE_NUMBER )
         {
-            Value.encode( buffer, changeNumber );
+            Value.encode( buffer, getEntryChange().getChangeNumber() );
         }
 
         return buffer;
@@ -194,7 +189,7 @@ public class EntryChangeDecorator extend
      */
     public byte[] getValue()
     {
-        if ( value == null )
+        if ( getDecorated().getValue() == null )
         {
             try
             {
@@ -206,19 +201,19 @@ public class EntryChangeDecorator extend
 
                 buffer.put( UniversalTag.ENUMERATED.getValue() );
                 buffer.put( ( byte ) 1 );
-                buffer.put( Value.getBytes( changeType.getValue() ) );
+                buffer.put( Value.getBytes( getEntryChange().getChangeType().getValue() ) );
 
-                if ( previousDn != null )
+                if ( getEntryChange().getPreviousDn() != null )
                 {
                     Value.encode( buffer, previousDnBytes );
                 }
 
-                if ( changeNumber != UNDEFINED_CHANGE_NUMBER )
+                if ( getEntryChange().getChangeNumber() != UNDEFINED_CHANGE_NUMBER )
                 {
-                    Value.encode( buffer, changeNumber );
+                    Value.encode( buffer, getEntryChange().getChangeNumber() );
                 }
 
-                value = buffer.array();
+                getDecorated().setValue( buffer.array() );
             }
             catch ( Exception e )
             {
@@ -226,94 +221,6 @@ public class EntryChangeDecorator extend
             }
         }
 
-        return value;
-    }
-
-
-    /**
-     * @return The ChangeType
-     */
-    public ChangeType getChangeType()
-    {
-        return changeType;
-    }
-
-
-    /**
-     * Set the ChangeType
-     *
-     * @param changeType Add, Delete; Modify or ModifyDN
-     */
-    public void setChangeType( ChangeType changeType )
-    {
-        this.changeType = changeType;
-    }
-
-
-    public Dn getPreviousDn()
-    {
-        return previousDn;
-    }
-
-
-    public void setPreviousDn( Dn previousDn )
-    {
-        this.previousDn = previousDn;
-    }
-
-
-    public long getChangeNumber()
-    {
-        return changeNumber;
-    }
-
-
-    public void setChangeNumber( long changeNumber )
-    {
-        this.changeNumber = changeNumber;
-    }
-
-
-    /**
-     * @see Object#equals(Object)
-     */
-    public boolean equals( Object o )
-    {
-        if ( !super.equals( o ) )
-        {
-            return false;
-        }
-
-        EntryChangeDecorator otherControl = ( EntryChangeDecorator ) o;
-
-        return ( changeNumber == otherControl.changeNumber ) &&
-             ( changeType == otherControl.changeType ) &&
-             ( previousDn.equals( otherControl.previousDn ) );
-    }
-
-    
-    /**
-     * Return a String representing this EntryChangeControl.
-     */
-    public String toString()
-    {
-        StringBuffer sb = new StringBuffer();
-
-        sb.append( "    Entry Change Control\n" );
-        sb.append( "        oid : " ).append( getOid() ).append( '\n' );
-        sb.append( "        critical : " ).append( isCritical() ).append( '\n' );
-        sb.append( "        changeType   : '" ).append( changeType ).append( "'\n" );
-        sb.append( "        previousDN   : '" ).append( previousDn ).append( "'\n" );
-
-        if ( changeNumber == UNDEFINED_CHANGE_NUMBER )
-        {
-            sb.append( "        changeNumber : '" ).append( "UNDEFINED" ).append( "'\n" );
-        }
-        else
-        {
-            sb.append( "        changeNumber : '" ).append( changeNumber ).append( "'\n" );
-        }
-
-        return sb.toString();
+        return getDecorated().getValue();
     }
 }