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/27 03:48:06 UTC

svn commit: r1063965 - /directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/

Author: akarasulu
Date: Thu Jan 27 02:48:06 2011
New Revision: 1063965

URL: http://svn.apache.org/viewvc?rev=1063965&view=rev
Log:
code cleanup after extracting interfacce

Modified:
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeContainer.java
    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
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeStates.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/SimpleEntryChange.java

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeContainer.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeContainer.java?rev=1063965&r1=1063964&r2=1063965&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeContainer.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeContainer.java Thu Jan 27 02:48:06 2011
@@ -46,6 +46,20 @@ public class EntryChangeContainer extend
 
 
     /**
+     * Creates a container with decorator, optionally decorating the supplied
+     * Control if it is not a decorator implementation.
+     *
+     * @param control The EntryChange ControlDecorator, or a Control to be
+     * wrapped by a new decorator.
+     */
+    public EntryChangeContainer( EntryChange control )
+    {
+        this();
+        decorate( control );
+    }
+
+
+    /**
      * @return Returns the EntryChangeControl.
      */
     public EntryChangeDecorator getEntryChangeDecorator()
@@ -55,6 +69,27 @@ public class EntryChangeContainer extend
 
 
     /**
+     * Checks to see if the supplied EntryChange implementation is a decorator
+     * and if so just sets the EntryChangeDecorator to it. Otherwise the supplied
+     * control is decorated by creating a new EntryChangeDecorator to wrap the
+     * object.
+     *
+     * @param control The EntryChange Control to wrap, if it is not a decorator.
+     */
+    public void decorate( EntryChange control )
+    {
+        if ( control instanceof EntryChangeDecorator )
+        {
+            this.control = ( EntryChangeDecorator ) control;
+        }
+        else
+        {
+            this.control = new EntryChangeDecorator( control );
+        }
+    }
+
+
+    /**
      * Set a EntryChangeControl Object into the container. It will be completed
      * by the ldapDecoder.
      * 
@@ -65,6 +100,7 @@ public class EntryChangeContainer extend
         this.control = control;
     }
 
+
     /**
      * Clean the container
      */

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=1063965&r1=1063964&r2=1063965&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 Thu Jan 27 02:48:06 2011
@@ -39,6 +39,7 @@ public class EntryChangeDecoder extends 
     /** An instance of this decoder */
     private static final Asn1Decoder decoder = new Asn1Decoder();
 
+
     /**
      * Decode the entry change control
      * 
@@ -48,12 +49,10 @@ public class EntryChangeDecoder extends 
      * 
      * @throws DecoderException If the decoding found an error
      */
-    
     public Asn1Object decode( byte[] controlBytes, Control control ) throws DecoderException
     {
         ByteBuffer bb = ByteBuffer.wrap( controlBytes );
-        EntryChangeContainer container = new EntryChangeContainer();
-        container.setEntryChangeDecorator( ( EntryChangeDecorator ) control );
+        EntryChangeContainer container = new EntryChangeContainer( ( EntryChangeDecorator ) control );
         decoder.decode( bb, container );
         return container.getEntryChangeDecorator();
     }

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=1063965&r1=1063964&r2=1063965&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 Thu Jan 27 02:48:06 2011
@@ -53,7 +53,8 @@ public class EntryChangeDecorator extend
 
 
     /**
-     * Creates a new instance of EntryChangeControl.
+     * Creates a new instance of EntryChangeDecoder wrapping a newly created
+     * EntryChange Control object.
      */
     public EntryChangeDecorator()
     {
@@ -61,6 +62,23 @@ public class EntryChangeDecorator extend
     }
 
 
+    /**
+     * Creates a new instance of EntryChangeDecorator wrapping the supplied
+     * EntryChange Control.
+     *
+     * @param control The EntryChange Control to be decorated.
+     */
+    public EntryChangeDecorator( EntryChange control )
+    {
+        super( control, new EntryChangeDecoder() );
+    }
+
+
+    /**
+     * Internally used to not have to cast the decorated Control.
+     *
+     * @return the decorated Control.
+     */
     private EntryChange getEntryChange()
     {
         return ( EntryChange ) getDecorated();
@@ -83,15 +101,15 @@ public class EntryChangeDecorator extend
         int previousDnLength = 0;
         int changeNumberLength = 0;
 
-        if ( getEntryChange().getPreviousDn() != null )
+        if ( getPreviousDn() != null )
         {
-            previousDnBytes = Strings.getBytesUtf8( getEntryChange().getPreviousDn().getName() );
+            previousDnBytes = Strings.getBytesUtf8( getPreviousDn().getName() );
             previousDnLength = 1 + TLV.getNbBytes( previousDnBytes.length ) + previousDnBytes.length;
         }
 
-        if ( getEntryChange().getChangeNumber() != UNDEFINED_CHANGE_NUMBER )
+        if ( getChangeNumber() != UNDEFINED_CHANGE_NUMBER )
         {
-            changeNumberLength = 1 + 1 + Value.getNbBytes( getEntryChange().getChangeNumber() );
+            changeNumberLength = 1 + 1 + Value.getNbBytes( getChangeNumber() );
         }
 
         eccSeqLength = changeTypesLength + previousDnLength + changeNumberLength;
@@ -128,16 +146,16 @@ public class EntryChangeDecorator extend
 
         buffer.put( UniversalTag.ENUMERATED.getValue() );
         buffer.put( ( byte ) 1 );
-        buffer.put( Value.getBytes( getEntryChange().getChangeType().getValue() ) );
+        buffer.put( Value.getBytes( getChangeType().getValue() ) );
 
-        if ( getEntryChange().getPreviousDn() != null )
+        if ( getPreviousDn() != null )
         {
             Value.encode( buffer, previousDnBytes );
         }
 
-        if ( getEntryChange().getChangeNumber() != UNDEFINED_CHANGE_NUMBER )
+        if ( getChangeNumber() != UNDEFINED_CHANGE_NUMBER )
         {
-            Value.encode( buffer, getEntryChange().getChangeNumber() );
+            Value.encode( buffer, getChangeNumber() );
         }
 
         return buffer;
@@ -161,16 +179,16 @@ public class EntryChangeDecorator extend
 
                 buffer.put( UniversalTag.ENUMERATED.getValue() );
                 buffer.put( ( byte ) 1 );
-                buffer.put( Value.getBytes( getEntryChange().getChangeType().getValue() ) );
+                buffer.put( Value.getBytes( getChangeType().getValue() ) );
 
-                if ( getEntryChange().getPreviousDn() != null )
+                if ( getPreviousDn() != null )
                 {
                     Value.encode( buffer, previousDnBytes );
                 }
 
-                if ( getEntryChange().getChangeNumber() != UNDEFINED_CHANGE_NUMBER )
+                if ( getChangeNumber() != UNDEFINED_CHANGE_NUMBER )
                 {
-                    Value.encode( buffer, getEntryChange().getChangeNumber() );
+                    Value.encode( buffer, getChangeNumber() );
                 }
 
                 getDecorated().setValue( buffer.array() );
@@ -185,38 +203,56 @@ public class EntryChangeDecorator extend
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public ChangeType getChangeType ()
     {
         return getEntryChange().getChangeType();
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public void setChangeType ( ChangeType changeType )
     {
         getEntryChange().setChangeType( changeType );
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public Dn getPreviousDn ()
     {
         return getEntryChange().getPreviousDn();
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public void setPreviousDn ( Dn previousDn )
     {
         getEntryChange().setPreviousDn( previousDn );
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public long getChangeNumber ()
     {
         return getEntryChange().getChangeNumber();
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public void setChangeNumber ( long changeNumber )
     {
-        setChangeNumber( changeNumber );
+        getEntryChange().setChangeNumber( changeNumber );
     }
 }

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeGrammar.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeGrammar.java?rev=1063965&r1=1063964&r2=1063965&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeGrammar.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeGrammar.java Thu Jan 27 02:48:06 2011
@@ -113,8 +113,7 @@ public final class EntryChangeGrammar ex
                                 LOG.debug( "changeType = " + changeType );
                             }
 
-                            ( (EntryChange) entryChangeContainer.getEntryChangeDecorator().getDecorated() )
-                                    .setChangeType( changeType );
+                            entryChangeContainer.getEntryChangeDecorator().setChangeType( changeType );
                             break;
 
                         default:
@@ -159,9 +158,7 @@ public final class EntryChangeGrammar ex
             {
                 EntryChangeContainer entryChangeContainer = ( EntryChangeContainer ) container;
 
-                EntryChange entryChange = (EntryChange) entryChangeContainer
-                        .getEntryChangeDecorator().getDecorated();
-                ChangeType changeType = entryChange.getChangeType();
+                ChangeType changeType = entryChangeContainer.getEntryChangeDecorator().getChangeType();
 
 
                 if ( changeType != ChangeType.MODDN )
@@ -189,7 +186,7 @@ public final class EntryChangeGrammar ex
                         LOG.debug( "previousDN = " + previousDn );
                     }
 
-                    entryChange.setPreviousDn( previousDn );
+                    entryChangeContainer.getEntryChangeDecorator().setPreviousDn( previousDn );
 
                     // We can have an END transition
                     entryChangeContainer.setGrammarEndAllowed( true );
@@ -214,9 +211,7 @@ public final class EntryChangeGrammar ex
                         LOG.debug( "changeNumber = " + changeNumber );
                     }
 
-                    EntryChange entryChange = (EntryChange) entryChangeContainer
-                            .getEntryChangeDecorator().getDecorated();
-                    entryChange.setChangeNumber( changeNumber );
+                    entryChangeContainer.getEntryChangeDecorator().setChangeNumber( changeNumber );
 
                     // We can have an END transition
                     entryChangeContainer.setGrammarEndAllowed( true );

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeStates.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeStates.java?rev=1063965&r1=1063964&r2=1063965&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeStates.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeStates.java Thu Jan 27 02:48:06 2011
@@ -60,13 +60,13 @@ public enum EntryChangeStates implements
     /** terminal state */
     LAST_EC_STATE;
 
+
     /**
      * Get the grammar name
      * 
-     * @param grammar The grammar code
      * @return The grammar name
      */
-    public String getGrammarName( int grammar )
+    public String getGrammarName()
     {
         return "EC_GRAMMAR";
     }

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/SimpleEntryChange.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/SimpleEntryChange.java?rev=1063965&r1=1063964&r2=1063965&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/SimpleEntryChange.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/SimpleEntryChange.java Thu Jan 27 02:48:06 2011
@@ -70,7 +70,7 @@ public class SimpleEntryChange extends B
     }
 
 
-    public void setPreviousDn(Dn previousDn)
+    public void setPreviousDn( Dn previousDn )
     {
         this.previousDn = previousDn;
     }