You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2008/06/08 07:28:19 UTC

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

Author: akarasulu
Date: Sat Jun  7 22:28:19 2008
New Revision: 664446

URL: http://svn.apache.org/viewvc?rev=664446&view=rev
Log:
added new CompareRequest handler implementation

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

Modified: directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/NewCompareHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/NewCompareHandler.java?rev=664446&r1=664445&r2=664446&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/NewCompareHandler.java (original)
+++ directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/NewCompareHandler.java Sat Jun  7 22:28:19 2008
@@ -20,22 +20,18 @@
 package org.apache.directory.server.newldap.handlers;
 
 
-import javax.naming.Context;
 import javax.naming.NamingException;
 import javax.naming.ReferralException;
-import javax.naming.ldap.LdapContext;
 
-import org.apache.directory.server.core.jndi.ServerLdapContext;
 import org.apache.directory.server.newldap.LdapSession;
 import org.apache.directory.shared.ldap.exception.LdapException;
 import org.apache.directory.shared.ldap.message.CompareRequest;
 import org.apache.directory.shared.ldap.message.LdapResult;
-import org.apache.directory.shared.ldap.message.ManageDsaITControl;
 import org.apache.directory.shared.ldap.message.ReferralImpl;
 import org.apache.directory.shared.ldap.message.ResultCodeEnum;
 import org.apache.directory.shared.ldap.name.LdapDN;
 import org.apache.directory.shared.ldap.util.ExceptionUtils;
-import org.apache.mina.common.IoSession;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -61,22 +57,7 @@
 
         try
         {
-            LdapContext ctx = getSessionRegistry().getLdapContext( session, null, true );
-            ServerLdapContext newCtx = ( ServerLdapContext ) ctx.lookup( "" );
-
-            if ( req.getControls().containsKey( ManageDsaITControl.CONTROL_OID ) )
-            {
-                newCtx.addToEnvironment( Context.REFERRAL, "ignore" );
-            }
-            else
-            {
-                newCtx.addToEnvironment( Context.REFERRAL, "throw" );
-            }
-
-            // Inject controls into the context
-            setRequestControls( newCtx, req );
-
-            if ( newCtx.compare( req.getName(), req.getAttributeId(), req.getAssertionValue() ) )
+            if ( session.getCoreSession().compare( req ) )
             {
                 result.setResultCode( ResultCodeEnum.COMPARE_TRUE );
             }
@@ -86,8 +67,7 @@
             }
 
             result.setMatchedDn( req.getName() );
-            req.getResultResponse().addAll( newCtx.getResponseControls() );
-            session.write( req.getResultResponse() );
+            session.getIoSession().write( req.getResultResponse() );
         }
         catch ( ReferralException e )
         {
@@ -103,7 +83,7 @@
                 refs.addLdapUrl( ( String ) e.getReferralInfo() );
             }
             while ( e.skipReferral() );
-            session.write( req.getResultResponse() );
+            session.getIoSession().write( req.getResultResponse() );
         }
         catch ( Exception e )
         {
@@ -140,7 +120,7 @@
                 }
             }
 
-            session.write( req.getResultResponse() );
+            session.getIoSession().write( req.getResultResponse() );
         }
     }
 }
\ No newline at end of file