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 2008/07/22 14:06:29 UTC

svn commit: r678727 - /directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/NewAddHandler.java

Author: elecharny
Date: Tue Jul 22 05:06:29 2008
New Revision: 678727

URL: http://svn.apache.org/viewvc?rev=678727&view=rev
Log:
o Added the code which writes back the result when the add was successfull.
o Added some comment

Modified:
    directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/NewAddHandler.java

Modified: directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/NewAddHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/NewAddHandler.java?rev=678727&r1=678726&r2=678727&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/NewAddHandler.java (original)
+++ directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/NewAddHandler.java Tue Jul 22 05:06:29 2008
@@ -44,6 +44,7 @@
  */
 public class NewAddHandler extends LdapRequestHandler<AddRequest>
 {
+	/** The logger for this class */
     private static final Logger LOG = LoggerFactory.getLogger( NewAddHandler.class );
     
     
@@ -58,10 +59,22 @@
 
         try
         {
+        	// Call the underlying layer to inject the new entry 
             session.getCoreSession().add( request );
+
+            // If it succeeded, we should be here now, otherwise, we would have
+            // got an exception.
+            result.setResultCode( ResultCodeEnum.SUCCESS );
+            
+            // TODO : inject the responseControls here...
+            //request.getResultResponse().addAll( session.request.getControls().ResponseControls() );
+            
+            // Write the AddResponse message
+            session.getIoSession().write( request.getResultResponse() );
         }
         catch( ReferralException e )
         {
+        	// We tried to add an entry into a referral. 
             ReferralImpl refs = new ReferralImpl();
             result.setReferral( refs );
             result.setResultCode( ResultCodeEnum.REFERRAL );
@@ -69,7 +82,7 @@
             
             if ( e.getResolvedName() != null )
             {
-                result.setMatchedDn( new LdapDN( e.getResolvedName().toString() ) );
+                result.setMatchedDn( new LdapDN( e.getResolvedName() ) );
             }
             
             do
@@ -78,10 +91,12 @@
             }
             while ( e.skipReferral() );
             
+            // Write back the response
             session.getIoSession().write( request.getResultResponse() );
         }
         catch ( Throwable t )
         {
+        	// We got an error. Get the resultCode.
             ResultCodeEnum resultCode = ResultCodeEnum.OTHER;
             
             if ( t instanceof LdapException )
@@ -96,14 +111,15 @@
             result.setResultCode( resultCode );
             
             String msg = session + "failed to add entry " + request.getEntry() + ": " + t.getMessage();
+            
             if ( LOG.isDebugEnabled() )
             {
                 msg += ":\n" + ExceptionUtils.getStackTrace( t );
             }
 
             result.setErrorMessage( msg );
-            result.setErrorMessage( msg );
 
+            // Add the matchedDN if necessary
             boolean setMatchedDn = 
                 resultCode == ResultCodeEnum.NO_SUCH_OBJECT             || 
                 resultCode == ResultCodeEnum.ALIAS_PROBLEM              ||
@@ -115,6 +131,7 @@
                 if ( t instanceof NamingException )
                 {
                     NamingException ne = ( NamingException ) t;
+                    
                     if ( ne.getResolvedName() != null )
                     {
                         result.setMatchedDn( ( LdapDN ) ne.getResolvedName() );
@@ -122,6 +139,7 @@
                 }
             }
 
+            // Write back the error response
             session.getIoSession().write( request.getResultResponse() );
         }
     }