You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2010/08/14 13:32:41 UTC

svn commit: r985467 - in /directory: apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/ apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/ apac...

Author: elecharny
Date: Sat Aug 14 11:32:40 2010
New Revision: 985467

URL: http://svn.apache.org/viewvc?rev=985467&view=rev
Log:
o Added some missing toString() methods in responses
o Modified the ExtendedResponse API
o Removed the encoder dedicated methods from the ExtendedResponse interface

Modified:
    directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapServer.java
    directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/ExtendedHandler.java
    directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/StartTlsHandler.java
    directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/StoredProcedureExtendedOperationHandler.java
    directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/codec/LdapProtocolEncoder.java
    directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/codec/actions/ResponseAction.java
    directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/codec/actions/ResponseNameAction.java
    directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/AddResponseImpl.java
    directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/BindResponseImpl.java
    directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/CompareResponseImpl.java
    directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/DeleteResponseImpl.java
    directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/ExtendedResponseImpl.java
    directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/extended/GracefulDisconnect.java
    directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/extended/StoredProcedureRequest.java
    directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/extended/StoredProcedureResponse.java
    directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/internal/InternalAbstractMessage.java
    directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/internal/InternalAbstractResultResponse.java
    directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/internal/InternalExtendedResponse.java
    directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/sp/JavaStoredProcUtils.java
    directory/shared/branches/shared-codec-merge/ldap/src/test/java/org/apache/directory/shared/ldap/message/ExtendedResponseImplTest.java

Modified: directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapServer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapServer.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapServer.java (original)
+++ directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapServer.java Sat Aug 14 11:32:40 2010
@@ -122,7 +122,7 @@ public class LdapServer extends Director
 
     /** the constant service name of this ldap protocol provider **/
     public static final String SERVICE_NAME = "ldap";
-    
+
     /** The default maximum size limit. */
     private static final long MAX_SIZE_LIMIT_DEFAULT = 100;
 
@@ -137,7 +137,7 @@ public class LdapServer extends Director
 
     /** the session manager for this LdapServer */
     private LdapSessionManager ldapSessionManager = new LdapSessionManager();
-    
+
     /** a set of supported controls */
     private Set<String> supportedControls;
 
@@ -145,17 +145,17 @@ public class LdapServer extends Director
      * The maximum size limit. 
      * @see {@link LdapServer#MAX_SIZE_LIMIT_DEFAULT }
      */
-    private long maxSizeLimit = MAX_SIZE_LIMIT_DEFAULT; 
+    private long maxSizeLimit = MAX_SIZE_LIMIT_DEFAULT;
 
     /** 
      * The maximum time limit.
      * @see {@link LdapServer#MAX_TIME_LIMIT_DEFAULT }
      */
-    private int maxTimeLimit = MAX_TIME_LIMIT_DEFAULT; 
+    private int maxTimeLimit = MAX_TIME_LIMIT_DEFAULT;
 
     /** If LDAPS is activated : the external Keystore file, if defined */
     private String keystoreFile;
-    
+
     /** If LDAPS is activated : the certificate password */
     private String certificatePassword;
 
@@ -163,12 +163,10 @@ public class LdapServer extends Director
     private boolean allowAnonymousAccess = true;
 
     /** The extended operation handlers. */
-    private final Collection<ExtendedOperationHandler> extendedOperationHandlers =
-        new ArrayList<ExtendedOperationHandler>();
+    private final Collection<ExtendedOperationHandler> extendedOperationHandlers = new ArrayList<ExtendedOperationHandler>();
 
     /** The supported authentication mechanisms. */
-    private Map<String, MechanismHandler> saslMechanismHandlers =
-        new HashMap<String, MechanismHandler>();
+    private Map<String, MechanismHandler> saslMechanismHandlers = new HashMap<String, MechanismHandler>();
 
     /** The name of this host, validated during SASL negotiation. */
     private String saslHost = "ldap.example.com";
@@ -178,7 +176,7 @@ public class LdapServer extends Director
 
     /** The quality of protection (QoP), used by DIGEST-MD5 and GSSAPI. */
     private Set<String> saslQop;
-    private String      saslQopString;
+    private String saslQopString;
 
     /** The list of realms serviced by this host. */
     private List<String> saslRealms;
@@ -195,12 +193,11 @@ public class LdapServer extends Director
     private LdapRequestHandler<InternalSearchRequest> searchHandler;
     private LdapRequestHandler<InternalUnbindRequest> unbindHandler;
 
-
     /** the underlying provider codec factory */
     private ProtocolCodecFactory codecFactory;
 
     /** the MINA protocol handler */
-    private final LdapProtocolHandler handler = new LdapProtocolHandler(this);
+    private final LdapProtocolHandler handler = new LdapProtocolHandler( this );
 
     /** tracks start state of the server */
     private boolean started;
@@ -211,17 +208,17 @@ public class LdapServer extends Director
      */
     private boolean confidentialityRequired;
 
-    
     private KeyStore keyStore = null;
 
     private List<IoFilterChainBuilder> chainBuilders = new ArrayList<IoFilterChainBuilder>();
-    
+
     private ReplicationProvider replicationProvider;
-    
+
     private List<SyncreplConfiguration> providerConfigs;
-    
+
     private List<SyncReplConsumer> replConsumers;
-    
+
+
     /**
      * Creates an LDAP protocol provider.
      */
@@ -264,56 +261,55 @@ public class LdapServer extends Director
         {
             setAbandonHandler( new AbandonHandler() );
         }
-        
+
         if ( getAddHandler() == null )
         {
             setAddHandler( new AddHandler() );
         }
-        
+
         if ( getBindHandler() == null )
         {
             BindHandler handler = new BindHandler();
             handler.setSaslMechanismHandlers( saslMechanismHandlers );
             setBindHandler( handler );
         }
-        
+
         if ( getCompareHandler() == null )
         {
             setCompareHandler( new CompareHandler() );
         }
-        
+
         if ( getDeleteHandler() == null )
         {
             setDeleteHandler( new DeleteHandler() );
         }
-        
+
         if ( getExtendedHandler() == null )
         {
             setExtendedHandler( new ExtendedHandler() );
         }
-        
+
         if ( getModifyHandler() == null )
         {
             setModifyHandler( new ModifyHandler() );
         }
-        
+
         if ( getModifyDnHandler() == null )
         {
             setModifyDnHandler( new ModifyDnHandler() );
         }
-        
+
         if ( getSearchHandler() == null )
         {
             setSearchHandler( new SearchHandler() );
         }
-        
+
         if ( getUnbindHandler() == null )
         {
             setUnbindHandler( new UnbindHandler() );
         }
     }
 
-    
     private class AdsKeyStore extends KeyStore
     {
         public AdsKeyStore( KeyStoreSpi keyStoreSpi, Provider provider, String type )
@@ -322,7 +318,7 @@ public class LdapServer extends Director
         }
     }
 
-    
+
     /**
      * loads the digital certificate either from a keystore file or from the admin entry in DIT
      */
@@ -335,8 +331,10 @@ public class LdapServer extends Director
             Provider provider = Security.getProvider( "SUN" );
             LOG.debug( "provider = {}", provider );
             CoreKeyStoreSpi coreKeyStoreSpi = new CoreKeyStoreSpi( getDirectoryService() );
-            keyStore = new KeyStore( coreKeyStoreSpi, provider, "JKS" ) {};
-            
+            keyStore = new KeyStore( coreKeyStoreSpi, provider, "JKS" )
+            {
+            };
+
             try
             {
                 keyStore.load( null, null );
@@ -352,7 +350,7 @@ public class LdapServer extends Director
             FileInputStream fis = null;
             try
             {
-                fis = new FileInputStream( keystoreFile );          
+                fis = new FileInputStream( keystoreFile );
                 keyStore.load( fis, null );
             }
             finally
@@ -365,7 +363,7 @@ public class LdapServer extends Director
         }
     }
 
-    
+
     /**
      * reloads the SSL context by replacing the existing SslFilter
      * with a new SslFilter after reloading the keystore.
@@ -374,7 +372,7 @@ public class LdapServer extends Director
      */
     public void reloadSslContext() throws Exception
     {
-        if( !started )
+        if ( !started )
         {
             return;
         }
@@ -397,7 +395,7 @@ public class LdapServer extends Director
         }
 
         StartTlsHandler handler = ( StartTlsHandler ) getExtendedOperationHandler( StartTlsHandler.EXTENSION_OID );
-        if( handler != null )
+        if ( handler != null )
         {
             //FIXME dirty hack. IMO StartTlsHandler's code requires a cleanup
             // cause the keystore loading and sslcontext creation code is duplicated
@@ -408,28 +406,28 @@ public class LdapServer extends Director
         LOG.info( "reloaded SSL context successfully" );
     }
 
-    
+
     /**
      * @throws IOException if we cannot bind to the specified port
      * @throws Exception if the LDAP server cannot be started
      */
     public void start() throws Exception
     {
-        if ( ! isEnabled() )
+        if ( !isEnabled() )
         {
             return;
         }
 
-        for ( Transport transport:transports )
+        for ( Transport transport : transports )
         {
-            if ( !(transport instanceof TcpTransport ) )
+            if ( !( transport instanceof TcpTransport ) )
             {
                 LOG.warn( "Cannot listen on an UDP transport : {}", transport );
                 continue;
             }
-            
+
             IoFilterChainBuilder chain;
-            
+
             if ( transport.isSSLEnabled() )
             {
                 loadKeyStore();
@@ -439,39 +437,37 @@ public class LdapServer extends Director
             {
                 chain = new DefaultIoFilterChainBuilder();
             }
-            
+
             // Inject the codec into the chain
-            ((DefaultIoFilterChainBuilder)chain).addLast( "codec", 
-                    new ProtocolCodecFilter( this.getProtocolCodecFactory() ) );
-            
+            ( ( DefaultIoFilterChainBuilder ) chain ).addLast( "codec", new ProtocolCodecFilter( this
+                .getProtocolCodecFactory() ) );
+
             // Now inject an ExecutorFilter for the write operations
             // We use the same number of thread than the number of IoProcessor
             // (NOTE : this has to be double checked)
-            ((DefaultIoFilterChainBuilder)chain).addLast( "executor", 
-                    new ExecutorFilter( 
-                        new UnorderedThreadPoolExecutor( transport.getNbThreads() ),
-                        IoEventType.MESSAGE_RECEIVED ) );
+            ( ( DefaultIoFilterChainBuilder ) chain ).addLast( "executor", new ExecutorFilter(
+                new UnorderedThreadPoolExecutor( transport.getNbThreads() ), IoEventType.MESSAGE_RECEIVED ) );
 
             /*
              * The server is now initialized, we can
              * install the default requests handlers, which need 
              * access to the DirectoryServer instance.
-             */ 
-            installDefaultHandlers();      
-            
+             */
+            installDefaultHandlers();
+
             startNetwork( transport, chain );
         }
-        
-        if( replicationProvider != null )
+
+        if ( replicationProvider != null )
         {
             replicationProvider.init( this );
             ( ( SearchHandler ) getSearchHandler() ).setReplicationProvider( replicationProvider );
         }
-        
+
         startConsumers();
 
         started = true;
-        
+
         LOG.info( "Ldap service started." );
     }
 
@@ -483,66 +479,65 @@ public class LdapServer extends Director
     {
         try
         {
-            for ( Transport transport:transports )
+            for ( Transport transport : transports )
             {
-                if ( !(transport instanceof TcpTransport ) )
+                if ( !( transport instanceof TcpTransport ) )
                 {
                     continue;
                 }
-                
+
                 // we should unbind the service before we begin sending the notice
                 // of disconnect so new connections are not formed while we process
                 List<WriteFuture> writeFutures = new ArrayList<WriteFuture>();
-    
+
                 // If the socket has already been unbound as with a successful
                 // GracefulShutdownRequest then this will complain that the service
                 // is not bound - this is ok because the GracefulShutdown has already
                 // sent notices to to the existing active sessions
                 List<IoSession> sessions;
-    
+
                 try
                 {
-                    sessions = new ArrayList<IoSession>(
-                            getSocketAcceptor( transport ).getManagedSessions().values() );
+                    sessions = new ArrayList<IoSession>( getSocketAcceptor( transport ).getManagedSessions().values() );
                 }
                 catch ( IllegalArgumentException e )
                 {
                     LOG.warn( "Seems like the LDAP service (" + getPort() + ") has already been unbound." );
                     return;
                 }
-    
+
                 getSocketAcceptor( transport ).dispose();
-    
+
                 if ( LOG.isInfoEnabled() )
                 {
                     LOG.info( "Unbind of an LDAP service (" + getPort() + ") is complete." );
                     LOG.info( "Sending notice of disconnect to existing clients sessions." );
                 }
-    
+
                 // Send Notification of Disconnection messages to all connected clients.
                 if ( sessions != null )
                 {
-                    for ( IoSession session:sessions )
+                    for ( IoSession session : sessions )
                     {
                         writeFutures.add( session.write( NoticeOfDisconnect.UNAVAILABLE ) );
                     }
                 }
-    
+
                 // And close the connections when the NoDs are sent.
                 Iterator<IoSession> sessionIt = sessions.iterator();
-    
-                for ( WriteFuture future:writeFutures )
+
+                for ( WriteFuture future : writeFutures )
                 {
                     future.await( 1000L );
                     sessionIt.next().close( true );
                 }
 
-                if( replicationProvider != null )
+                if ( replicationProvider != null )
                 {
                     replicationProvider.stop();
                 }
             }
-            
+
             stopConsumers();
         }
         catch ( Exception e )
@@ -554,10 +549,9 @@ public class LdapServer extends Director
     }
 
 
-    private void startNetwork( Transport transport, IoFilterChainBuilder chainBuilder )
-        throws Exception
+    private void startNetwork( Transport transport, IoFilterChainBuilder chainBuilder ) throws Exception
     {
-        if ( transport.getBackLog() < 0 ) 
+        if ( transport.getBackLog() < 0 )
         {
             // Set the backlog to the default value when it's below 0
             transport.setBackLog( 50 );
@@ -579,29 +573,29 @@ public class LdapServer extends Director
         try
         {
             SocketAcceptor acceptor = getSocketAcceptor( transport );
-            
+
             // Now, configure the acceptor
             // Disable the disconnection of the clients on unbind
             acceptor.setCloseOnDeactivation( false );
-            
+
             // Allow the port to be reused even if the socket is in TIME_WAIT state
             acceptor.setReuseAddress( true );
-            
+
             // No Nagle's algorithm
             acceptor.getSessionConfig().setTcpNoDelay( true );
-            
+
             // Inject the chain
             acceptor.setFilterChainBuilder( chainBuilder );
-            
+
             // Inject the protocol handler
             acceptor.setHandler( getHandler() );
-            
-            ((AbstractSocketSessionConfig)acceptor.getSessionConfig()).setReadBufferSize( 64*1024 );
-            ((AbstractSocketSessionConfig)acceptor.getSessionConfig()).setSendBufferSize( 64*1024 );
+
+            ( ( AbstractSocketSessionConfig ) acceptor.getSessionConfig() ).setReadBufferSize( 64 * 1024 );
+            ( ( AbstractSocketSessionConfig ) acceptor.getSessionConfig() ).setSendBufferSize( 64 * 1024 );
 
             // Bind to the configured address
             acceptor.bind();
-            
+
             // We are done !
             started = true;
 
@@ -626,11 +620,11 @@ public class LdapServer extends Director
      */
     private void startConsumers() throws Exception
     {
-        if( providerConfigs != null )
+        if ( providerConfigs != null )
         {
             replConsumers = new ArrayList<SyncReplConsumer>( providerConfigs.size() );
-            
-            for( final SyncreplConfiguration config : providerConfigs )
+
+            for ( final SyncreplConfiguration config : providerConfigs )
             {
                 Runnable consumerTask = new Runnable()
                 {
@@ -645,14 +639,14 @@ public class LdapServer extends Director
                             replConsumers.add( consumer );
                             consumer.startSync();
                         }
-                        catch( Exception e )
+                        catch ( Exception e )
                         {
                             LOG.error( "Failed to start the consumer with config {}", config );
                             throw new RuntimeException( e );
                         }
                     }
                 };
-                
+
                 Thread consumerThread = new Thread( consumerTask );
                 consumerThread.setDaemon( true );
                 consumerThread.start();
@@ -666,17 +660,17 @@ public class LdapServer extends Director
      */
     private void stopConsumers()
     {
-        if( replConsumers != null )
+        if ( replConsumers != null )
         {
-            for( SyncReplConsumer consumer : replConsumers )
+            for ( SyncReplConsumer consumer : replConsumers )
             {
                 LOG.info( "stopping the consumer with id {}", consumer.getConfig().getReplicaId() );
                 consumer.disconnet();
             }
         }
     }
-    
-    
+
+
     public String getName()
     {
         return SERVICE_NAME;
@@ -687,25 +681,24 @@ public class LdapServer extends Director
     {
         return handler;
     }
-    
-    
+
+
     public LdapSessionManager getLdapSessionManager()
     {
         return ldapSessionManager;
     }
-    
-    
+
+
     public ProtocolCodecFactory getProtocolCodecFactory()
     {
         return codecFactory;
     }
 
-    
+
     // ------------------------------------------------------------------------
     // Configuration Methods
     // ------------------------------------------------------------------------
 
-
     /**
      * Registeres the specified {@link ExtendedOperationHandler} to this
      * protocol provider to provide a specific LDAP extended operation.
@@ -800,7 +793,7 @@ public class LdapServer extends Director
         return confidentialityRequired;
     }
 
-    
+
     /**
      * Returns <tt>true</tt> if LDAPS is enabled.
      *
@@ -996,6 +989,7 @@ public class LdapServer extends Director
         return saslMechanismHandlers;
     }
 
+
     public void setSaslMechanismHandlers( Map<String, MechanismHandler> saslMechanismHandlers )
     {
         this.saslMechanismHandlers = saslMechanismHandlers;
@@ -1214,8 +1208,8 @@ public class LdapServer extends Director
     {
         return unbindHandler;
     }
-    
-    
+
+
     /**
      * @return The underlying TCP transport port, or -1 if no transport has been 
      * initialized
@@ -1226,20 +1220,20 @@ public class LdapServer extends Director
         {
             return -1;
         }
-        
-        for ( Transport transport:transports )
+
+        for ( Transport transport : transports )
         {
             if ( transport instanceof UdpTransport )
             {
                 continue;
             }
-            
+
             if ( !transport.isSSLEnabled() )
             {
                 return transport.getPort();
             }
         }
-        
+
         return -1;
     }
 
@@ -1254,23 +1248,24 @@ public class LdapServer extends Director
         {
             return -1;
         }
-        
-        for ( Transport transport:transports )
+
+        for ( Transport transport : transports )
         {
             if ( transport instanceof UdpTransport )
             {
                 continue;
             }
-            
+
             if ( transport.isSSLEnabled() )
             {
                 return transport.getPort();
             }
         }
-        
+
         return -1;
     }
 
+
     /**
      * @param abandonHandler The UnbindRequest handler
      */
@@ -1353,17 +1348,17 @@ public class LdapServer extends Director
     public String toString()
     {
         StringBuilder sb = new StringBuilder();
-        
+
         sb.append( "LdapServer[" ).append( getServiceName() ).append( "], listening on :" ).append( '\n' );
-        
+
         if ( getTransports() != null )
         {
-            for ( Transport transport:getTransports() )
+            for ( Transport transport : getTransports() )
             {
                 sb.append( "    " ).append( transport ).append( '\n' );
             }
         }
-        
+
         return sb.toString();
     }
 }

Modified: directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/ExtendedHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/ExtendedHandler.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/ExtendedHandler.java (original)
+++ directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/ExtendedHandler.java Sat Aug 14 11:32:40 2010
@@ -64,7 +64,7 @@ public class ExtendedHandler extends Lda
                 + ": Extended operation handler for the specified EXTENSION_OID (" + req.getID()
                 + ") has failed to process your request:\n" + ExceptionUtils.getStackTrace( e ) );
             InternalExtendedResponse resp = ( InternalExtendedResponse ) req.getResultResponse();
-            resp.setEncodedValue( new byte[0] );
+            resp.setResponseValue( new byte[0] );
             session.getIoSession().write( req.getResultResponse() );
         }
     }

Modified: directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/StartTlsHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/StartTlsHandler.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/StartTlsHandler.java (original)
+++ directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/StartTlsHandler.java Sat Aug 14 11:32:40 2010
@@ -93,8 +93,8 @@ public class StartTlsHandler implements 
         InternalExtendedResponse res = new ExtendedResponseImpl( req.getMessageId() );
         InternalLdapResult result = res.getLdapResult();
         result.setResultCode( ResultCodeEnum.SUCCESS );
-        res.setID( EXTENSION_OID );
-        res.setEncodedValue( new byte[0] );
+        res.setResponseName( EXTENSION_OID );
+        res.setResponseValue( new byte[0] );
 
         // Send a response.
         session.getIoSession().setAttribute( SslFilter.DISABLE_ENCRYPTION_ONCE );

Modified: directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/StoredProcedureExtendedOperationHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/StoredProcedureExtendedOperationHandler.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/StoredProcedureExtendedOperationHandler.java (original)
+++ directory/apacheds/branches/apacheds-codec-merge/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/StoredProcedureExtendedOperationHandler.java Sat Aug 14 11:32:40 2010
@@ -104,7 +104,7 @@ public class StoredProcedureExtendedOper
         Object response = engine.invokeProcedure( session.getCoreSession(), procedure, values );
 
         byte[] serializedResponse = SerializationUtils.serialize( ( Serializable ) response );
-        ( ( InternalExtendedResponse ) ( req.getResultResponse() ) ).setEncodedValue( serializedResponse );
+        ( ( InternalExtendedResponse ) ( req.getResultResponse() ) ).setResponseValue( serializedResponse );
         session.getIoSession().write( req.getResultResponse() );
 
     }

Modified: directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/codec/LdapProtocolEncoder.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/codec/LdapProtocolEncoder.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/codec/LdapProtocolEncoder.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/codec/LdapProtocolEncoder.java Sat Aug 14 11:32:40 2010
@@ -512,23 +512,24 @@ public class LdapProtocolEncoder extends
      * 
      * @return The ExtendedResponse length
      */
-    private int computeExtendedResponseLength( InternalExtendedResponse extendedResponse )
+    private int computeExtendedResponseLength( InternalExtendedResponse internalExtendedResponse )
     {
+        ExtendedResponseImpl extendedResponse = ( ExtendedResponseImpl ) internalExtendedResponse;
         int ldapResultLength = computeLdapResultLength( extendedResponse.getLdapResult() );
 
         int extendedResponseLength = ldapResultLength;
 
-        String id = extendedResponse.getID();
+        String id = extendedResponse.getResponseName();
 
         if ( id != null )
         {
             byte[] idBytes = StringTools.getBytesUtf8( id );
-            extendedResponse.setIDBytes( idBytes );
+            extendedResponse.setResponseNameBytes( idBytes );
             int idLength = idBytes.length;
             extendedResponseLength += 1 + TLV.getNbBytes( idLength ) + idLength;
         }
 
-        byte[] encodedValue = extendedResponse.getEncodedValue();
+        byte[] encodedValue = extendedResponse.getResponseValue();
 
         if ( encodedValue != null )
         {
@@ -994,7 +995,7 @@ public class LdapProtocolEncoder extends
             encodeLdapResult( buffer, extendedResponse.getLdapResult() );
 
             // The ID, if any
-            byte[] idBytes = extendedResponse.getIDBytes();
+            byte[] idBytes = extendedResponse.getResponseNameBytes();
 
             if ( idBytes != null )
             {
@@ -1008,7 +1009,7 @@ public class LdapProtocolEncoder extends
             }
 
             // The encodedValue, if any
-            byte[] encodedValue = extendedResponse.getEncodedValue();
+            byte[] encodedValue = extendedResponse.getResponseValue();
 
             if ( encodedValue != null )
             {

Modified: directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/codec/actions/ResponseAction.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/codec/actions/ResponseAction.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/codec/actions/ResponseAction.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/codec/actions/ResponseAction.java Sat Aug 14 11:32:40 2010
@@ -69,11 +69,11 @@ public class ResponseAction extends Gram
         // OID
         if ( tlv.getLength() == 0 )
         {
-            extendedResponse.setEncodedValue( StringTools.EMPTY_BYTES );
+            extendedResponse.setResponseValue( StringTools.EMPTY_BYTES );
         }
         else
         {
-            extendedResponse.setEncodedValue( tlv.getValue().getData() );
+            extendedResponse.setResponseValue( tlv.getValue().getData() );
         }
 
         // We can have an END transition
@@ -81,7 +81,7 @@ public class ResponseAction extends Gram
 
         if ( IS_DEBUG )
         {
-            log.debug( "Extended value : {}", extendedResponse.getEncodedValue() );
+            log.debug( "Extended value : {}", extendedResponse.getResponseValue() );
         }
     }
 }

Modified: directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/codec/actions/ResponseNameAction.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/codec/actions/ResponseNameAction.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/codec/actions/ResponseNameAction.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/codec/actions/ResponseNameAction.java Sat Aug 14 11:32:40 2010
@@ -76,7 +76,8 @@ public class ResponseNameAction extends 
         }
         else
         {
-            extendedResponse.setID( new OID( StringTools.asciiBytesToString( tlv.getValue().getData() ) ).toString() );
+            extendedResponse.setResponseName( new OID( StringTools.asciiBytesToString( tlv.getValue().getData() ) )
+                .toString() );
         }
 
         // We can have an END transition
@@ -84,7 +85,7 @@ public class ResponseNameAction extends 
 
         if ( IS_DEBUG )
         {
-            log.debug( "OID read : {}", extendedResponse.getID() );
+            log.debug( "OID read : {}", extendedResponse.getResponseName() );
         }
     }
 }

Modified: directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/AddResponseImpl.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/AddResponseImpl.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/AddResponseImpl.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/AddResponseImpl.java Sat Aug 14 11:32:40 2010
@@ -53,36 +53,36 @@ public class AddResponseImpl extends Int
 
 
     /**
-     * Get a String representation of an AddResponse
-     * 
-     * @return An AddResponse String
+     * {@inheritDoc}
      */
-    public String toString()
+    public void setAddResponseLength( int addResponseLength )
     {
-
-        StringBuffer sb = new StringBuffer();
-
-        sb.append( "    Add Response\n" );
-        sb.append( super.toString() );
-
-        return sb.toString();
+        this.addResponseLength = addResponseLength;
     }
 
 
     /**
      * {@inheritDoc}
      */
-    public void setAddResponseLength( int addResponseLength )
+    public int getAddResponseLength()
     {
-        this.addResponseLength = addResponseLength;
+        return addResponseLength;
     }
 
 
     /**
-     * {@inheritDoc}
+     * Get a String representation of an AddResponse
+     * 
+     * @return An AddResponse String
      */
-    public int getAddResponseLength()
+    public String toString()
     {
-        return addResponseLength;
+
+        StringBuilder sb = new StringBuilder();
+
+        sb.append( "    Add Response\n" );
+        sb.append( super.toString() );
+
+        return sb.toString();
     }
 }

Modified: directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/BindResponseImpl.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/BindResponseImpl.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/BindResponseImpl.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/BindResponseImpl.java Sat Aug 14 11:32:40 2010
@@ -168,13 +168,32 @@ public class BindResponseImpl extends In
 
 
     /**
+     * {@inheritDoc}
+     */
+    public void setBindResponseLength( int bindResponseLength )
+    {
+        this.bindResponseLength = bindResponseLength;
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public int getBindResponseLength()
+    {
+        return bindResponseLength;
+    }
+
+
+    /**
      * Get a String representation of a BindResponse
      * 
      * @return A BindResponse String
      */
     public String toString()
     {
-        StringBuffer sb = new StringBuffer();
+        StringBuilder sb = new StringBuilder();
+
         sb.append( "    BindResponse\n" );
         sb.append( super.toString() );
 
@@ -186,22 +205,4 @@ public class BindResponseImpl extends In
 
         return sb.toString();
     }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public void setBindResponseLength( int bindResponseLength )
-    {
-        this.bindResponseLength = bindResponseLength;
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public int getBindResponseLength()
-    {
-        return bindResponseLength;
-    }
 }

Modified: directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/CompareResponseImpl.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/CompareResponseImpl.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/CompareResponseImpl.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/CompareResponseImpl.java Sat Aug 14 11:32:40 2010
@@ -42,10 +42,9 @@ public class CompareResponseImpl extends
 
 
     /**
-     * Creates a Lockable CompareResponse as a reply to an CompareRequest.
+     * Creates a CompareResponse as a reply to an CompareRequest.
      * 
-     * @param id
-     *            the session unique message id
+     * @param id the session unique message id
      */
     public CompareResponseImpl( final int id )
     {
@@ -77,7 +76,23 @@ public class CompareResponseImpl extends
      */
     public boolean isTrue()
     {
-        return getLdapResult().getResultCode() == ResultCodeEnum.COMPARE_TRUE;
+        return ldapResult.getResultCode() == ResultCodeEnum.COMPARE_TRUE;
     }
 
+
+    /**
+     * Get a String representation of an CompareResponse
+     * 
+     * @return An CompareResponse String
+     */
+    public String toString()
+    {
+
+        StringBuilder sb = new StringBuilder();
+
+        sb.append( "    Compare Response\n" );
+        sb.append( super.toString() );
+
+        return sb.toString();
+    }
 }

Modified: directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/DeleteResponseImpl.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/DeleteResponseImpl.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/DeleteResponseImpl.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/DeleteResponseImpl.java Sat Aug 14 11:32:40 2010
@@ -44,8 +44,7 @@ public class DeleteResponseImpl extends 
     /**
      * Creates a DeleteResponse as a reply to an DeleteRequest.
      * 
-     * @param id
-     *            the session unique message id
+     * @param id the session unique message id
      */
     public DeleteResponseImpl( final int id )
     {
@@ -69,4 +68,20 @@ public class DeleteResponseImpl extends 
     {
         return deleteResponseLength;
     }
+
+
+    /**
+     * Get a String representation of a DelResponse
+     * 
+     * @return A DelResponse String
+     */
+    public String toString()
+    {
+        StringBuilder sb = new StringBuilder();
+
+        sb.append( "    Compare Response\n" );
+        sb.append( super.toString() );
+
+        return sb.toString();
+    }
 }

Modified: directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/ExtendedResponseImpl.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/ExtendedResponseImpl.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/ExtendedResponseImpl.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/ExtendedResponseImpl.java Sat Aug 14 11:32:40 2010
@@ -24,6 +24,7 @@ import java.util.Arrays;
 
 import org.apache.directory.shared.ldap.message.internal.InternalAbstractResultResponse;
 import org.apache.directory.shared.ldap.message.internal.InternalExtendedResponse;
+import org.apache.directory.shared.ldap.util.StringTools;
 
 
 /**
@@ -36,13 +37,13 @@ public class ExtendedResponseImpl extend
     static final long serialVersionUID = -6646752766410531060L;
 
     /** Object identifier for the extended response */
-    protected String oid;
+    protected String responseName;
 
     /** The response name as a byte[] */
-    private byte[] oidBytes;
+    private byte[] responseNameBytes;
 
-    /** Values encoded in the extended response payload */
-    protected byte[] value;
+    /** Value encoded in the extended response payload */
+    protected byte[] responseValue;
 
     /** The encoded extendedResponse length */
     private int extendedResponseLength;
@@ -56,14 +57,20 @@ public class ExtendedResponseImpl extend
      * Creates an ExtendedResponse as a reply to an ExtendedRequest.
      * 
      * @param id the session unique message id
+     * @param responseName the ExtendedResponse's name
      */
-    public ExtendedResponseImpl( final int id, String oid )
+    public ExtendedResponseImpl( final int id, String responseName )
     {
         super( id, TYPE );
-        this.oid = oid;
+        this.responseName = responseName;
     }
 
 
+    /**
+     * Creates an ExtendedResponse as a reply to an ExtendedRequest.
+     * 
+     * @param id the session unique message id
+     */
     public ExtendedResponseImpl( int id )
     {
         super( id, TYPE );
@@ -74,33 +81,32 @@ public class ExtendedResponseImpl extend
     // ExtendedResponse Interface Method Implementations
     // ------------------------------------------------------------------------
     /**
-     * Sets the response OID specific encoded response values.
+     * Sets the response OID specific encoded response value.
      * 
-     * @param value
-     *            the response specific encoded response values.
+     * @param responseValue the response specific encoded response values.
      */
-    public void setEncodedValue( byte[] value )
+    public void setResponseValue( byte[] responseValue )
     {
-        if ( value != null )
+        if ( responseValue != null )
         {
-            this.value = new byte[value.length];
-            System.arraycopy( value, 0, this.value, 0, value.length );
+            this.responseValue = new byte[responseValue.length];
+            System.arraycopy( responseValue, 0, this.responseValue, 0, responseValue.length );
         }
         else
         {
-            this.value = null;
+            this.responseValue = null;
         }
     }
 
 
     /**
-     * Gets the OID bytes.
+     * Gets the responseName bytes.
      * 
-     * @return the OID bytes of the extended response type.
+     * @return the responseName bytes of the extended response type.
      */
-    public byte[] getIDBytes()
+    public byte[] getResponseNameBytes()
     {
-        return oidBytes;
+        return responseNameBytes;
     }
 
 
@@ -108,11 +114,11 @@ public class ExtendedResponseImpl extend
      * Sets the OID uniquely identifying this extended response (a.k.a. its
      * name).
      * 
-     * @param oid the OID of the extended response type.
+     * @param responseName the OID of the extended response type.
      */
-    public void setID( String oid )
+    public void setResponseName( String responseName )
     {
-        this.oid = oid;
+        this.responseName = responseName;
     }
 
 
@@ -121,9 +127,9 @@ public class ExtendedResponseImpl extend
      * 
      * @param oidBytes the OID bytes of the extended response type.
      */
-    public void setIDBytes( byte[] oidBytes )
+    public void setResponseNameBytes( byte[] responseNameBytes )
     {
-        this.oidBytes = oidBytes;
+        this.responseNameBytes = responseNameBytes;
     }
 
 
@@ -134,14 +140,17 @@ public class ExtendedResponseImpl extend
     public int hashCode()
     {
         int hash = 37;
-        if ( oid != null )
+
+        if ( responseName != null )
         {
-            hash = hash * 17 + oid.hashCode();
+            hash = hash * 17 + responseName.hashCode();
         }
-        if ( value != null )
+
+        if ( responseValue != null )
         {
-            hash = hash * 17 + Arrays.hashCode( value );
+            hash = hash * 17 + Arrays.hashCode( responseValue );
         }
+
         hash = hash * 17 + super.hashCode();
 
         return hash;
@@ -174,32 +183,34 @@ public class ExtendedResponseImpl extend
 
         InternalExtendedResponse resp = ( InternalExtendedResponse ) obj;
 
-        if ( ( oid != null ) && ( resp.getID() == null ) )
+        if ( ( responseName != null ) && ( resp.getResponseName() == null ) )
         {
             return false;
         }
 
-        if ( ( oid == null ) && ( resp.getID() != null ) )
+        if ( ( responseName == null ) && ( resp.getResponseName() != null ) )
         {
             return false;
         }
 
-        if ( ( oid != null ) && ( resp.getID() != null ) && !oid.equals( resp.getID() ) )
+        if ( ( responseName != null ) && ( resp.getResponseName() != null )
+            && !responseName.equals( resp.getResponseName() ) )
         {
             return false;
         }
 
-        if ( ( value != null ) && ( resp.getEncodedValue() == null ) )
+        if ( ( responseValue != null ) && ( resp.getResponseValue() == null ) )
         {
             return false;
         }
 
-        if ( ( value == null ) && ( resp.getEncodedValue() != null ) )
+        if ( ( responseValue == null ) && ( resp.getResponseValue() != null ) )
         {
             return false;
         }
 
-        if ( ( value != null ) && ( resp.getEncodedValue() != null ) && !Arrays.equals( value, resp.getEncodedValue() ) )
+        if ( ( responseValue != null ) && ( resp.getResponseValue() != null )
+            && !Arrays.equals( responseValue, resp.getResponseValue() ) )
         {
             return false;
         }
@@ -212,34 +223,54 @@ public class ExtendedResponseImpl extend
      * Gets the OID uniquely identifying this extended response (a.k.a. its
      * name).
      * 
-     * @return the OID of the extended response type.
+     * @return the responseName of the extended response
      */
-    public String getID()
+    public String getResponseName()
     {
-        return oid;
+        return responseName;
     }
 
 
     /**
-     * Gets the reponse OID specific encoded response values.
+     * Gets the response OID specific encoded response values.
      * 
-     * @return the response specific encoded response values.
+     * @return the response specific encoded response value
      */
-    public byte[] getEncodedValue()
+    public byte[] getResponseValue()
     {
-        if ( value == null )
+        if ( responseValue == null )
         {
             return null;
         }
 
-        final byte[] copy = new byte[value.length];
-        System.arraycopy( value, 0, copy, 0, value.length );
+        final byte[] copy = new byte[responseValue.length];
+        System.arraycopy( responseValue, 0, copy, 0, responseValue.length );
         return copy;
     }
 
 
     /**
      * {@inheritDoc}
+     * @deprecated Use the {@link #getResponseValue()} method
+     */
+    public byte[] getEncodedValue()
+    {
+        return getResponseValue();
+    }
+
+
+    /**
+     * {@inheritDoc}
+     * @deprecated Use the {@link #getResponseName()} method
+     */
+    public String getID()
+    {
+        return getResponseName();
+    }
+
+
+    /**
+     * {@inheritDoc}
      */
     public void setExtendedResponseLength( int extendedResponseLength )
     {
@@ -254,4 +285,31 @@ public class ExtendedResponseImpl extend
     {
         return extendedResponseLength;
     }
+
+
+    /**
+     * Get a String representation of an ExtendedResponse
+     * 
+     * @return An ExtendedResponse String
+     */
+    public String toString()
+    {
+        StringBuilder sb = new StringBuilder();
+
+        sb.append( "    Extended Response\n" );
+
+        if ( responseName != null )
+        {
+            sb.append( "        ResponseName :'" ).append( responseName ).append( "'\n" );
+        }
+
+        if ( responseValue != null )
+        {
+            sb.append( "        ResponseValue :'" ).append( StringTools.dumpBytes( responseValue ) ).append( "'\n" );
+        }
+
+        sb.append( super.toString() );
+
+        return sb.toString();
+    }
 }

Modified: directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/extended/GracefulDisconnect.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/extended/GracefulDisconnect.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/extended/GracefulDisconnect.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/extended/GracefulDisconnect.java Sat Aug 14 11:32:40 2010
@@ -67,18 +67,20 @@ public class GracefulDisconnect extends 
     private InternalReferral replicatedContexts = new ReferralImpl();
 
 
-    public GracefulDisconnect( byte[] value ) throws DecoderException
+    public GracefulDisconnect( byte[] responseValue ) throws DecoderException
     {
         super( 0, EXTENSION_OID );
-        if ( value != null )
+
+        if ( responseValue != null )
         {
-            this.value = new byte[value.length];
-            System.arraycopy( value, 0, this.value, 0, value.length );
+            this.responseValue = new byte[responseValue.length];
+            System.arraycopy( responseValue, 0, this.responseValue, 0, responseValue.length );
         }
         else
         {
-            this.value = null;
+            this.responseValue = null;
         }
+
         decodeValue();
     }
 
@@ -86,7 +88,7 @@ public class GracefulDisconnect extends 
     public GracefulDisconnect( int timeOffline, int delay )
     {
         super( 0, EXTENSION_OID );
-        super.oid = EXTENSION_OID;
+        responseName = EXTENSION_OID;
         this.timeOffline = timeOffline;
         this.delay = delay;
 
@@ -94,9 +96,9 @@ public class GracefulDisconnect extends 
         buf.append( "The server will disconnect and will be unavailable for " ).append( timeOffline );
         buf.append( " minutes in " ).append( delay ).append( " seconds." );
 
-        super.getLdapResult().setErrorMessage( buf.toString() );
-        super.getLdapResult().setMatchedDn( null );
-        super.getLdapResult().setResultCode( ResultCodeEnum.UNAVAILABLE );
+        ldapResult.setErrorMessage( buf.toString() );
+        ldapResult.setMatchedDn( null );
+        ldapResult.setResultCode( ResultCodeEnum.UNAVAILABLE );
 
         encodeResponse();
     }
@@ -110,15 +112,15 @@ public class GracefulDisconnect extends 
         try
         {
             codec = ( org.apache.directory.shared.ldap.codec.extended.operations.gracefulDisconnect.GracefulDisconnect ) decoder
-                .decode( value );
+                .decode( responseValue );
             this.timeOffline = codec.getTimeOffline();
             this.delay = codec.getDelay();
-            super.getLdapResult().setResultCode( ResultCodeEnum.SUCCESS );
+            ldapResult.setResultCode( ResultCodeEnum.SUCCESS );
             List<LdapURL> contexts = codec.getReplicatedContexts();
 
-            for ( int ii = 0; ii < contexts.size(); ii++ )
+            for ( LdapURL ldapUrl : contexts )
             {
-                replicatedContexts.addLdapUrl( contexts.get( ii ).toString() );
+                replicatedContexts.addLdapUrl( ldapUrl.toString() );
             }
         }
         catch ( DecoderException e )
@@ -136,25 +138,26 @@ public class GracefulDisconnect extends 
         codec.setDelay( this.delay );
         Iterator<String> contexts = this.replicatedContexts.getLdapUrls().iterator();
 
-        while ( contexts.hasNext() )
+        for ( String ldapUrlStr : replicatedContexts.getLdapUrls() )
         {
-            String urlstr = ( String ) contexts.next();
-            LdapURL url = null;
+            LdapURL ldapUrl = null;
+
             try
             {
-                url = new LdapURL( urlstr );
+                ldapUrl = new LdapURL( ldapUrlStr );
             }
             catch ( LdapURLEncodingException e )
             {
-                log.error( I18n.err( I18n.ERR_04170, urlstr ), e );
+                log.error( I18n.err( I18n.ERR_04170, ldapUrlStr ), e );
                 continue;
             }
-            codec.addReplicatedContexts( url );
+
+            codec.addReplicatedContexts( ldapUrl );
         }
 
         try
         {
-            super.value = codec.encode().array();
+            super.responseValue = codec.encode().array();
         }
         catch ( EncoderException e )
         {
@@ -169,19 +172,19 @@ public class GracefulDisconnect extends 
     // ------------------------------------------------------------------------
 
     /**
-     * Gets the reponse OID specific encoded response values.
+     * Gets the response OID specific encoded response values.
      * 
      * @return the response specific encoded response values.
      */
-    public byte[] getResponse()
+    public byte[] getResponseValue()
     {
-        if ( value == null )
+        if ( responseValue == null )
         {
             encodeResponse();
         }
 
-        final byte[] copy = new byte[value.length];
-        System.arraycopy( value, 0, copy, 0, value.length );
+        final byte[] copy = new byte[responseValue.length];
+        System.arraycopy( responseValue, 0, copy, 0, responseValue.length );
         return copy;
     }
 
@@ -189,14 +192,14 @@ public class GracefulDisconnect extends 
     /**
      * Sets the reponse OID specific encoded response values.
      * 
-     * @param value
-     *            the response specific encoded response values.
+     * @param value the response specific encoded response values.
      */
-    public void setResponse( byte[] value )
+    public void setResponseValue( byte[] responseValue )
     {
-        ByteBuffer bb = ByteBuffer.wrap( value );
+        ByteBuffer bb = ByteBuffer.wrap( responseValue );
         GracefulDisconnectContainer container = new GracefulDisconnectContainer();
         Asn1Decoder decoder = new Asn1Decoder();
+
         try
         {
             decoder.decode( bb, container );
@@ -212,20 +215,19 @@ public class GracefulDisconnect extends 
         this.timeOffline = codec.getTimeOffline();
         List<LdapURL> contexts = codec.getReplicatedContexts();
 
-        for ( int ii = 0; ii < contexts.size(); ii++ )
+        for ( LdapURL ldapUrl : codec.getReplicatedContexts() )
         {
-            LdapURL url = contexts.get( ii );
-            replicatedContexts.addLdapUrl( url.toString() );
+            replicatedContexts.addLdapUrl( ldapUrl.toString() );
         }
 
-        if ( value != null )
+        if ( responseValue != null )
         {
-            this.value = new byte[value.length];
-            System.arraycopy( value, 0, this.value, 0, value.length );
+            this.responseValue = new byte[responseValue.length];
+            System.arraycopy( responseValue, 0, this.responseValue, 0, responseValue.length );
         }
         else
         {
-            this.value = null;
+            this.responseValue = null;
         }
     }
 
@@ -246,8 +248,7 @@ public class GracefulDisconnect extends 
      * Sets the OID uniquely identifying this extended response (a.k.a. its
      * name).
      * 
-     * @param oid
-     *            the OID of the extended response type.
+     * @param oid the OID of the extended response type.
      */
     public void setResponseName( String oid )
     {

Modified: directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/extended/StoredProcedureRequest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/extended/StoredProcedureRequest.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/extended/StoredProcedureRequest.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/extended/StoredProcedureRequest.java Sat Aug 14 11:32:40 2010
@@ -99,8 +99,8 @@ public class StoredProcedureRequest exte
         throws NamingException
     {
         StoredProcedureResponse resp = ( StoredProcedureResponse ) getResultResponse();
-        resp.setEncodedValue( berValue );
-        resp.setID( id );
+        resp.setResponseValue( berValue );
+        resp.setResponseName( id );
         return resp;
     }
 
@@ -135,7 +135,7 @@ public class StoredProcedureRequest exte
         if ( response == null )
         {
             StoredProcedureResponse spr = new StoredProcedureResponse( getMessageId() );
-            spr.setID( EXTENSION_OID );
+            spr.setResponseName( EXTENSION_OID );
             response = spr;
         }
 

Modified: directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/extended/StoredProcedureResponse.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/extended/StoredProcedureResponse.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/extended/StoredProcedureResponse.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/extended/StoredProcedureResponse.java Sat Aug 14 11:32:40 2010
@@ -32,5 +32,4 @@ public class StoredProcedureResponse ext
 
     private static final long serialVersionUID = 1L;
     public static final String EXTENSION_OID = "1.3.6.1.4.1.18060.0.1.7";
-
 }

Modified: directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/internal/InternalAbstractMessage.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/internal/InternalAbstractMessage.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/internal/InternalAbstractMessage.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/internal/InternalAbstractMessage.java Sat Aug 14 11:32:40 2010
@@ -41,7 +41,7 @@ public abstract class InternalAbstractMe
     static final long serialVersionUID = 7601738291101182094L;
 
     /** Map of message controls using OID Strings for keys and Control values */
-    private final Map<String, Control> controls;
+    protected final Map<String, Control> controls;
 
     /** The encoded controls length */
     private int controlsLength;

Modified: directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/internal/InternalAbstractResultResponse.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/internal/InternalAbstractResultResponse.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/internal/InternalAbstractResultResponse.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/internal/InternalAbstractResultResponse.java Sat Aug 14 11:32:40 2010
@@ -22,6 +22,7 @@ package org.apache.directory.shared.ldap
 
 import org.apache.directory.shared.ldap.codec.MessageTypeEnum;
 import org.apache.directory.shared.ldap.message.LdapResultImpl;
+import org.apache.directory.shared.ldap.message.control.Control;
 
 
 /**
@@ -32,7 +33,7 @@ import org.apache.directory.shared.ldap.
 public abstract class InternalAbstractResultResponse extends InternalAbstractResponse implements InternalResultResponse
 {
     /** Response result components */
-    private InternalLdapResult result = new LdapResultImpl();
+    protected InternalLdapResult ldapResult = new LdapResultImpl();
 
 
     // ------------------------------------------------------------------------
@@ -62,7 +63,7 @@ public abstract class InternalAbstractRe
      */
     public InternalLdapResult getLdapResult()
     {
-        return result;
+        return ldapResult;
     }
 
 
@@ -115,17 +116,17 @@ public abstract class InternalAbstractRe
 
         InternalResultResponse resp = ( InternalResultResponse ) obj;
 
-        if ( getLdapResult() != null && resp.getLdapResult() == null )
+        if ( ldapResult != null && resp.getLdapResult() == null )
         {
             return false;
         }
 
-        if ( getLdapResult() == null && resp.getLdapResult() != null )
+        if ( ldapResult == null && resp.getLdapResult() != null )
         {
             return false;
         }
 
-        if ( getLdapResult() != null && resp.getLdapResult() != null && !getLdapResult().equals( resp.getLdapResult() ) )
+        if ( ( ldapResult != null ) && ( resp.getLdapResult() != null ) && !ldapResult.equals( resp.getLdapResult() ) )
         {
             return false;
         }
@@ -141,13 +142,18 @@ public abstract class InternalAbstractRe
      */
     public String toString()
     {
-        if ( result != null )
-        {
-            return result.toString();
-        }
-        else
+        StringBuilder sb = new StringBuilder();
+
+        sb.append( ldapResult );
+
+        if ( ( controls != null ) && ( controls.size() != 0 ) )
         {
-            return "No result";
+            for ( Control control : controls.values() )
+            {
+                sb.append( control );
+            }
         }
+
+        return sb.toString();
     }
 }

Modified: directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/internal/InternalExtendedResponse.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/internal/InternalExtendedResponse.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/internal/InternalExtendedResponse.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/message/internal/InternalExtendedResponse.java Sat Aug 14 11:32:40 2010
@@ -41,15 +41,7 @@ public interface InternalExtendedRespons
      * 
      * @return the OID of the extended response type.
      */
-    String getID();
-
-
-    /**
-     * Gets the OID bytes.
-     * 
-     * @return the OID bytes of the extended response type.
-     */
-    byte[] getIDBytes();
+    String getResponseName();
 
 
     /**
@@ -58,43 +50,21 @@ public interface InternalExtendedRespons
      * 
      * @param oidv the OID of the extended response type.
      */
-    void setID( String oid );
-
-
-    /**
-     * Sets the OID bytes.
-     * 
-     * @param oidBytes the OID bytes of the extended response type.
-     */
-    void setIDBytes( byte[] oidBytes );
+    void setResponseName( String oid );
 
 
     /**
-     * Gets the reponse OID specific encoded response values.
+     * Gets the response OID specific encoded response values.
      * 
      * @return the response specific encoded response values.
      */
-    byte[] getEncodedValue();
+    byte[] getResponseValue();
 
 
     /**
-     * Sets the reponse OID specific encoded response values.
+     * Sets the response OID specific encoded response values.
      * 
-     * @param value
-     *            the response specific encoded response values.
-     */
-    void setEncodedValue( byte[] value );
-
-
-    /**
-     * Stores the encoded length for the ExtendedResponse
-     * @param extendedResponseLength The encoded length
-     */
-    void setExtendedResponseLength( int extendedResponseLength );
-
-
-    /**
-     * @return The encoded ExtendedResponse's length
+     * @param responseValue the response specific encoded response values.
      */
-    int getExtendedResponseLength();
+    void setResponseValue( byte[] responseValue );
 }

Modified: directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/sp/JavaStoredProcUtils.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/sp/JavaStoredProcUtils.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/sp/JavaStoredProcUtils.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/main/java/org/apache/directory/shared/ldap/sp/JavaStoredProcUtils.java Sat Aug 14 11:32:40 2010
@@ -18,9 +18,9 @@
  *  
  */
 
-
 package org.apache.directory.shared.ldap.sp;
 
+
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
@@ -37,6 +37,7 @@ import org.apache.directory.shared.ldap.
 import org.apache.directory.shared.ldap.message.extended.StoredProcedureRequest;
 import org.apache.directory.shared.ldap.message.extended.StoredProcedureResponse;
 
+
 /**
  * A utility class for working with Java Stored Procedures at the base level.
  *
@@ -45,7 +46,6 @@ import org.apache.directory.shared.ldap.
 public class JavaStoredProcUtils
 {
 
-    
     /**
      * Returns the stream data of a Java class.
      * 
@@ -66,7 +66,7 @@ public class JavaStoredProcUtils
         File file = new File( url.getFile() );
         int size = ( int ) file.length();
         byte[] buf = new byte[size];
-        
+
         try
         {
             in.read( buf );
@@ -78,10 +78,11 @@ public class JavaStoredProcUtils
             ne.setRootCause( e );
             throw ne;
         }
-        
+
         return buf;
     }
-    
+
+
     /**
      * Loads a Java class's stream data as a subcontext of an LdapContext given.
      * 
@@ -96,21 +97,23 @@ public class JavaStoredProcUtils
     {
         byte[] buf = getClassFileAsStream( clazz );
         String fullClassName = clazz.getName();
-        
+
         Attributes attributes = new BasicAttributes( SchemaConstants.OBJECT_CLASS_AT, SchemaConstants.TOP_OC, true );
         attributes.get( SchemaConstants.OBJECT_CLASS_AT ).add( "storedProcUnit" );
         attributes.get( SchemaConstants.OBJECT_CLASS_AT ).add( "javaStoredProcUnit" );
         attributes.put( "storedProcLangId", "Java" );
         attributes.put( "storedProcUnitName", fullClassName );
         attributes.put( "javaByteCode", buf );
-        
-        ctx.createSubcontext( "storedProcUnitName=" + fullClassName , attributes );
+
+        ctx.createSubcontext( "storedProcUnitName=" + fullClassName, attributes );
     }
-    
-    public static Object callStoredProcedure( LdapContext ctx, String procedureName, Object[] arguments ) throws NamingException
+
+
+    public static Object callStoredProcedure( LdapContext ctx, String procedureName, Object[] arguments )
+        throws NamingException
     {
         String language = "Java";
-        
+
         Object responseObject;
         try
         {
@@ -118,7 +121,7 @@ public class JavaStoredProcUtils
              * Create a new stored procedure execution request.
              */
             StoredProcedureRequest req = new StoredProcedureRequest( 0, procedureName, language );
-            
+
             /**
              * For each argument UTF-8-encode the type name
              * and Java-serialize the value
@@ -132,17 +135,17 @@ public class JavaStoredProcUtils
                 value = SerializationUtils.serialize( ( Serializable ) arguments[i] );
                 req.addParameter( type, value );
             }
-            
+
             /**
              * Call the stored procedure via the extended operation
              * and get back its return value.
              */
             StoredProcedureResponse resp = ( StoredProcedureResponse ) ctx.extendedOperation( req );
-            
+
             /**
              * Restore a Java object from the return value.
              */
-            byte[] responseStream = resp.getEncodedValue();
+            byte[] responseStream = resp.getResponseValue();
             responseObject = SerializationUtils.deserialize( responseStream );
         }
         catch ( Exception e )
@@ -151,8 +154,8 @@ public class JavaStoredProcUtils
             ne.setRootCause( e );
             throw ne;
         }
-        
+
         return responseObject;
     }
-    
+
 }

Modified: directory/shared/branches/shared-codec-merge/ldap/src/test/java/org/apache/directory/shared/ldap/message/ExtendedResponseImplTest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-codec-merge/ldap/src/test/java/org/apache/directory/shared/ldap/message/ExtendedResponseImplTest.java?rev=985467&r1=985466&r2=985467&view=diff
==============================================================================
--- directory/shared/branches/shared-codec-merge/ldap/src/test/java/org/apache/directory/shared/ldap/message/ExtendedResponseImplTest.java (original)
+++ directory/shared/branches/shared-codec-merge/ldap/src/test/java/org/apache/directory/shared/ldap/message/ExtendedResponseImplTest.java Sat Aug 14 11:32:40 2010
@@ -59,8 +59,8 @@ public class ExtendedResponseImplTest
     {
         // Construct the Search response to test with results and referrals
         ExtendedResponseImpl response = new ExtendedResponseImpl( 45 );
-        response.setEncodedValue( "Hello World!".getBytes() );
-        response.setID( "1.1.1.1" );
+        response.setResponseValue( "Hello World!".getBytes() );
+        response.setResponseName( "1.1.1.1" );
         InternalLdapResult result = response.getLdapResult();
 
         try
@@ -124,7 +124,18 @@ public class ExtendedResponseImplTest
             }
 
 
-            public void setID( String a_oid )
+            public String getResponseName()
+            {
+                return "1.1.1.1";
+            }
+
+
+            public void setID( String oid )
+            {
+            }
+
+
+            public void setResponseName( String oid )
             {
             }
 
@@ -135,7 +146,18 @@ public class ExtendedResponseImplTest
             }
 
 
-            public void setEncodedValue( byte[] a_value )
+            public byte[] getResponseValue()
+            {
+                return "Hello World!".getBytes();
+            }
+
+
+            public void setEncodedValue( byte[] value )
+            {
+            }
+
+
+            public void setResponseValue( byte[] value )
             {
             }
 
@@ -243,17 +265,6 @@ public class ExtendedResponseImplTest
             }
 
 
-            public int getExtendedResponseLength()
-            {
-                return 0;
-            }
-
-
-            public void setExtendedResponseLength( int extendedResponseLength )
-            {
-            }
-
-
             public byte[] getIDBytes()
             {
                 return null;
@@ -314,9 +325,9 @@ public class ExtendedResponseImplTest
     public void testNotEqualsDiffNames()
     {
         ExtendedResponseImpl resp0 = createStub();
-        resp0.setID( "1.2.3.4" );
+        resp0.setResponseName( "1.2.3.4" );
         ExtendedResponseImpl resp1 = createStub();
-        resp1.setID( "1.2.3.4.5" );
+        resp1.setResponseName( "1.2.3.4.5" );
 
         assertFalse( resp0.equals( resp1 ) );
         assertFalse( resp1.equals( resp0 ) );
@@ -330,9 +341,9 @@ public class ExtendedResponseImplTest
     public void testNotEqualsDiffResponses()
     {
         ExtendedResponseImpl resp0 = createStub();
-        resp0.setEncodedValue( "abc".getBytes() );
+        resp0.setResponseValue( "abc".getBytes() );
         ExtendedResponseImpl resp1 = createStub();
-        resp1.setEncodedValue( "123".getBytes() );
+        resp1.setResponseValue( "123".getBytes() );
 
         assertFalse( resp0.equals( resp1 ) );
         assertFalse( resp1.equals( resp0 ) );