You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by fe...@apache.org on 2010/10/29 04:26:04 UTC

svn commit: r1028591 [1/5] - in /directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared: asn1/ber/ asn1/ber/grammar/ ldap/codec/ ldap/codec/controls/ppolicy/ ldap/codec/controls/replication/syncDoneValue/ ldap/codec/controls/replication/...

Author: felixk
Date: Fri Oct 29 02:26:02 2010
New Revision: 1028591

URL: http://svn.apache.org/viewvc?rev=1028591&view=rev
Log:
Fix DIRSHARED-64
Transform States and inherited interfaces/implementing classes to enums

Modified:
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/AbstractContainer.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/Asn1Container.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/AbstractGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/Grammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/GrammarTransition.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/States.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/LdapMessageContainer.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/LdapMessageGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/LdapStatesEnum.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/ppolicy/PasswordPolicyResponseControlContainer.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/ppolicy/PasswordPolicyResponseControlGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/ppolicy/PasswordPolicyResponseControlStates.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncDoneValue/SyncDoneValueControlContainer.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncDoneValue/SyncDoneValueControlGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncDoneValue/SyncDoneValueControlStatesEnum.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncInfoValue/SyncInfoValueControlContainer.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncInfoValue/SyncInfoValueControlGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncInfoValue/SyncInfoValueControlStatesEnum.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncRequestValue/SyncRequestValueControlContainer.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncRequestValue/SyncRequestValueControlGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncRequestValue/SyncRequestValueControlStatesEnum.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncStateValue/SyncStateValueControlContainer.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncStateValue/SyncStateValueControlGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncStateValue/SyncStateValueControlStatesEnum.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncmodifydn/SyncModifyDnControlContainer.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncmodifydn/SyncModifyDnControlGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/controls/replication/syncmodifydn/SyncModifyDnControlStatesEnum.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/extended/operations/cancel/CancelContainer.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/extended/operations/cancel/CancelGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/extended/operations/cancel/CancelStatesEnum.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/extended/operations/certGeneration/CertGenerationContainer.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/extended/operations/certGeneration/CertGenerationGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/extended/operations/certGeneration/CertGenerationStatesEnum.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/extended/operations/gracefulDisconnect/GracefulDisconnectContainer.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/extended/operations/gracefulDisconnect/GracefulDisconnectGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/extended/operations/gracefulDisconnect/GracefulDisconnectStatesEnum.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/extended/operations/gracefulShutdown/GracefulShutdownContainer.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/extended/operations/gracefulShutdown/GracefulShutdownGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/extended/operations/gracefulShutdown/GracefulShutdownStatesEnum.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/extended/operations/storedProcedure/StoredProcedureContainer.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/extended/operations/storedProcedure/StoredProcedureGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/extended/operations/storedProcedure/StoredProcedureStatesEnum.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeControlContainer.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeControlGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeControlStatesEnum.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/pagedSearch/PagedResultsControlContainer.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/pagedSearch/PagedResultsControlGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/pagedSearch/PagedResultsControlStatesEnum.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/persistentSearch/PersistentSearchControlContainer.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/persistentSearch/PersistentSearchControlGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/persistentSearch/PersistentSearchControlStatesEnum.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/subentries/SubentriesControlContainer.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/subentries/SubentriesControlGrammar.java
    directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/subentries/SubentriesControlStatesEnum.java

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/AbstractContainer.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/AbstractContainer.java?rev=1028591&r1=1028590&r2=1028591&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/AbstractContainer.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/AbstractContainer.java Fri Oct 29 02:26:02 2010
@@ -45,14 +45,11 @@ public abstract class AbstractContainer 
     private TLVStateEnum state;
 
     /** The current transition */
-    private int transition;
+    private Enum<?> transition;
 
     /** The current TLV */
     private TLV tlv;
 
-    /** Store the different states for debug purpose */
-    protected States states;
-
     /** The parent TLV */
     private TLV parentTLV;
 
@@ -140,7 +137,7 @@ public abstract class AbstractContainer 
      * 
      * @return Returns the transition from the previous state to the new state
      */
-    public int getTransition()
+    public Enum<?> getTransition()
     {
         return transition;
     }
@@ -151,7 +148,7 @@ public abstract class AbstractContainer 
      * 
      * @param transition The transition to set
      */
-    public void setTransition( int transition )
+    public void setTransition( Enum<?> transition )
     {
         this.transition = transition;
     }
@@ -180,17 +177,6 @@ public abstract class AbstractContainer 
 
 
     /**
-     * Get the states for this container's grammars
-     * 
-     * @return Returns the states.
-     */
-    public States getStates()
-    {
-        return states;
-    }
-
-
-    /**
      * Get the parent TLV;
      * 
      * @return Returns the parent TLV, if any.
@@ -219,7 +205,7 @@ public abstract class AbstractContainer 
     {
         tlv = null;
         parentTLV = null;
-        transition = 0;
+        transition = ((States)transition).getStartState();
         state = TLVStateEnum.TAG_STATE_START;
     }
 

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/Asn1Container.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/Asn1Container.java?rev=1028591&r1=1028590&r2=1028591&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/Asn1Container.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/Asn1Container.java Fri Oct 29 02:26:02 2010
@@ -21,7 +21,6 @@ package org.apache.directory.shared.asn1
 
 
 import org.apache.directory.shared.asn1.ber.grammar.Grammar;
-import org.apache.directory.shared.asn1.ber.grammar.States;
 import org.apache.directory.shared.asn1.ber.tlv.TLV;
 import org.apache.directory.shared.asn1.ber.tlv.TLVStateEnum;
 
@@ -78,7 +77,7 @@ public interface Asn1Container
      * 
      * @return Returns the transition from the previous state to the new state
      */
-    int getTransition();
+    Enum<?> getTransition();
 
 
     /**
@@ -86,13 +85,7 @@ public interface Asn1Container
      * 
      * @param transition The transition to set
      */
-    void setTransition( int transition );
-
-
-    /**
-     * @return Returns the states.
-     */
-    States getStates();
+    void setTransition( Enum<?> transition );
 
 
     /**

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/AbstractGrammar.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/AbstractGrammar.java?rev=1028591&r1=1028590&r2=1028591&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/AbstractGrammar.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/AbstractGrammar.java Fri Oct 29 02:26:02 2010
@@ -52,10 +52,6 @@ public abstract class AbstractGrammar im
     /** The grammar name */
     private String name;
 
-    /** The grammar's states */
-    private States statesEnum;
-
-
     /** Default constructor */
     public AbstractGrammar()
     {
@@ -91,9 +87,9 @@ public abstract class AbstractGrammar im
      * @param tag The current tag
      * @return A valid transition if any, or null.
      */
-    public GrammarTransition getTransition( int state, int tag )
+    public GrammarTransition getTransition( Enum<?> state, int tag )
     {
-        return transitions[state][tag & 0x00FF];
+        return transitions[((States)state).getState()][tag & 0x00FF];
     }
 
 
@@ -107,11 +103,10 @@ public abstract class AbstractGrammar im
     public void executeAction( Asn1Container container ) throws DecoderException
     {
 
-        int currentState = container.getTransition();
+        Enum<?> currentState = container.getTransition();
         Grammar currentGrammar = container.getGrammar();
-
         // We have to deal with the special case of a GRAMMAR_END state
-        if ( currentState == States.END_STATE )
+        if ( ((States)currentState).isEndState() )
         {
             return;
         }
@@ -124,8 +119,7 @@ public abstract class AbstractGrammar im
 
         if ( transition == null )
         {
-            String errorMessage = I18n.err( I18n.ERR_00001_BAD_TRANSITION_FROM_STATE, currentGrammar.getStatesEnum()
-                .getState( currentState ), Asn1StringUtils.dumpByte( tagByte ) );
+            String errorMessage = I18n.err( I18n.ERR_00001_BAD_TRANSITION_FROM_STATE, currentState, Asn1StringUtils.dumpByte( tagByte ) );
 
             LOG.error( errorMessage );
 
@@ -136,7 +130,7 @@ public abstract class AbstractGrammar im
 
         if ( IS_DEBUG )
         {
-            LOG.debug( transition.toString( currentGrammar.getStatesEnum() ) );
+            LOG.debug( transition.toString() );
         }
 
         if ( transition.hasAction() )
@@ -147,26 +141,4 @@ public abstract class AbstractGrammar im
 
         container.setTransition( transition.getCurrentState() );
     }
-
-
-    /**
-     * Get the states of the current grammar
-     * 
-     * @return Returns the statesEnum.
-     */
-    public States getStatesEnum()
-    {
-        return statesEnum;
-    }
-
-
-    /**
-     * Set the states for this grammar
-     * 
-     * @param statesEnum The statesEnum to set.
-     */
-    public void setStatesEnum( States statesEnum )
-    {
-        this.statesEnum = statesEnum;
-    }
 }

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/Grammar.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/Grammar.java?rev=1028591&r1=1028590&r2=1028591&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/Grammar.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/Grammar.java Fri Oct 29 02:26:02 2010
@@ -25,7 +25,7 @@ import org.apache.directory.shared.asn1.
 
 
 /**
- * The interface which expose common behavior of a Gramar implementer.
+ * The interface which expose common behavior of a Grammar implementer.
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
@@ -50,14 +50,6 @@ public interface Grammar
 
 
     /**
-     * Get the statesEnum for the current grammar
-     * 
-     * @return The specific States Enum for the current grammar
-     */
-    States getStatesEnum();
-
-
-    /**
      * Set the grammar's name
      * 
      * @param name The grammar name

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/GrammarTransition.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/GrammarTransition.java?rev=1028591&r1=1028590&r2=1028591&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/GrammarTransition.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/GrammarTransition.java Fri Oct 29 02:26:02 2010
@@ -35,10 +35,10 @@ public class GrammarTransition
     private Action action;
 
     /** The previous state */
-    private int previousState;
+    private Enum<?> previousState;
 
     /** The current state */
-    private int currentState;
+    private Enum<?> currentState;
 
     /** The current tag */
     private int currentTag;
@@ -52,7 +52,7 @@ public class GrammarTransition
      * @param currentTag the current TLV's tag
      * @param action The action to execute. It could be null.
      */
-    public GrammarTransition( int previousState, int currentState, int currentTag, Action action )
+    public GrammarTransition( Enum<?> previousState, Enum<?> currentState, int currentTag, Action action )
     {
         this.previousState = previousState;
         this.currentState = currentState;
@@ -84,7 +84,7 @@ public class GrammarTransition
     /**
      * @return The current state
      */
-    public int getCurrentState()
+    public Enum<?> getCurrentState()
     {
         return currentState;
     }
@@ -93,7 +93,7 @@ public class GrammarTransition
     /**
      * @return The previous state
      */
-    public int getPreviousState()
+    public Enum<?> getPreviousState()
     {
         return previousState;
     }
@@ -103,12 +103,12 @@ public class GrammarTransition
      * @param statesEnum Starting state.
      * @return A representation of the transition as a string.
      */
-    public String toString( States statesEnum )
+    public String toString( )
     {
         StringBuilder sb = new StringBuilder();
 
-        sb.append( "Transition from state <" ).append( statesEnum.getState( previousState ) ).append( "> " );
-        sb.append( "to state <" ).append( statesEnum.getState( currentState ) ).append( ">, " );
+        sb.append( "Transition from state <" ).append( previousState ).append( "> " );
+        sb.append( "to state <" ).append( currentState ).append( ">, " );
         sb.append( "tag <" ).append( Asn1StringUtils.dumpByte( ( byte ) currentTag ) ).append( ">, " );
         sb.append( "action : " );
 

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/States.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/States.java?rev=1028591&r1=1028590&r2=1028591&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/States.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/asn1/ber/grammar/States.java Fri Oct 29 02:26:02 2010
@@ -21,47 +21,28 @@ package org.apache.directory.shared.asn1
 
 
 /**
- * This interface is used to store the different states of a grammar. While
- * tracing debugging information, the methods to dump the current state as a
- * string are called.
+ * Interface to get custom function from enum when casting.
  * 
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
 public interface States
 {
-    /** The initial state of every grammar */
-    int INIT_GRAMMAR_STATE = 0;
-
-    /** The ending state for every grammars */
-    int GRAMMAR_END = -1;
-
-    /** The END_STATE */
-    int END_STATE = -1;
-
-
-    /** 
-     * Get the current state's name 
+    /**
+     * Get the string representing the state
      * 
-     * @param state the current state
-     * @return the associated name for this state
+     * @param state The state number
+     * @return The String representing the state
      */
-    String getState( int state );
+    public int getState();
 
 
-    /** 
-     * Return the grammar name of a grammar
-     * 
-     * @param grammar the grammar from which we want the name
-     * @return the grammar's name
+    /**
+     * @return True if this is the END_STATE
      */
-    String getGrammarName( Grammar grammar );
-
-
-    /** 
-     * Return the grammar name from a grammar number 
-     * 
-     * @param grammar the grammar number from which we want the name
-     * @return the grammar's name
+    public boolean isEndState();
+    
+    /**
+     * @return The START_STATE of the enum
      */
-    String getGrammarName( int grammar );
+    public Enum<?> getStartState();
 }

Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/LdapMessageContainer.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/LdapMessageContainer.java?rev=1028591&r1=1028590&r2=1028591&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/LdapMessageContainer.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/LdapMessageContainer.java Fri Oct 29 02:26:02 2010
@@ -102,8 +102,8 @@ public class LdapMessageContainer extend
         super();
         this.stateStack = new int[10];
         this.grammar = LdapMessageGrammar.getInstance();
-        this.states = LdapStatesEnum.getInstance();
         this.binaryAttributeDetector = binaryAttributeDetector;
+        setTransition( LdapStatesEnum.INIT_GRAMMAR_STATE );
     }