You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ka...@apache.org on 2011/06/18 13:11:27 UTC

svn commit: r1137167 - /directory/shared/trunk/dsml/engine/src/main/java/org/apache/directory/shared/dsmlv2/engine/Dsmlv2Engine.java

Author: kayyagari
Date: Sat Jun 18 11:11:26 2011
New Revision: 1137167

URL: http://svn.apache.org/viewvc?rev=1137167&view=rev
Log:
o fixed the incorrect search response generation (DIRSHARED-127)

Modified:
    directory/shared/trunk/dsml/engine/src/main/java/org/apache/directory/shared/dsmlv2/engine/Dsmlv2Engine.java

Modified: directory/shared/trunk/dsml/engine/src/main/java/org/apache/directory/shared/dsmlv2/engine/Dsmlv2Engine.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/dsml/engine/src/main/java/org/apache/directory/shared/dsmlv2/engine/Dsmlv2Engine.java?rev=1137167&r1=1137166&r2=1137167&view=diff
==============================================================================
--- directory/shared/trunk/dsml/engine/src/main/java/org/apache/directory/shared/dsmlv2/engine/Dsmlv2Engine.java (original)
+++ directory/shared/trunk/dsml/engine/src/main/java/org/apache/directory/shared/dsmlv2/engine/Dsmlv2Engine.java Sat Jun 18 11:11:26 2011
@@ -620,32 +620,25 @@ public class Dsmlv2Engine
                 
                 SearchResponseDsml searchResponseDsml = new SearchResponseDsml( connection.getCodecService() );
                 
-                boolean first = true;
-                
-                while ( searchResponses.next() )
+                if ( respWriter != null )
                 {
-                    if( first )
+                    StringBuilder sb = new StringBuilder();
+                    sb.append( "<searchResponse" );
+                    
+                    if ( request.getDecorated().getMessageId() > 0 )
                     {
-                        if ( respWriter != null )
-                        {
-                            StringBuilder sb = new StringBuilder();
-                            sb.append( "<searchResponse" );
-                            
-                            if ( request.getDecorated().getMessageId() > 0 )
-                            {
-                                sb.append( " requestID=\"" );
-                                sb.append( request.getDecorated().getMessageId() );
-                                sb.append( '"' );
-                            }
-                            
-                            sb.append( '>' );
-                            
-                            respWriter.write( sb.toString() );
-                        }
-                        
-                        first = false;
+                        sb.append( " requestID=\"" );
+                        sb.append( request.getDecorated().getMessageId() );
+                        sb.append( '"' );
                     }
                     
+                    sb.append( '>' );
+                    
+                    respWriter.write( sb.toString() );
+                }
+                
+                while ( searchResponses.next() )
+                {
                     Response searchResponse = searchResponses.get();
 
                     if ( searchResponse.getType() == MessageTypeEnum.SEARCH_RESULT_ENTRY )
@@ -691,14 +684,15 @@ public class Dsmlv2Engine
                     resultCode = srDone.getLdapResult().getResultCode();
                     
                     SearchResultDoneDsml srdDsml = new SearchResultDoneDsml( connection.getCodecService(), srDone );
-                    writeResponse( respWriter, srdDsml);
                     
                     if ( respWriter != null )
                     {
+                        writeResponse( respWriter, srdDsml);
                         respWriter.write( "</searchResponse>" );
                     }
                     else
                     {
+                        searchResponseDsml.addResponse( srdDsml );
                         batchResponse.addResponse( searchResponseDsml );
                     }
                 }