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 2005/09/23 08:30:51 UTC
svn commit: r291082 -
/directory/protocol-providers/ldap/trunk/src/main/java/org/apache/ldap/server/protocol/SearchHandler.java
Author: akarasulu
Date: Thu Sep 22 23:30:48 2005
New Revision: 291082
URL: http://svn.apache.org/viewcvs?rev=291082&view=rev
Log:
using new overload removing hack that stuffs filter into jndi env
Modified:
directory/protocol-providers/ldap/trunk/src/main/java/org/apache/ldap/server/protocol/SearchHandler.java
Modified: directory/protocol-providers/ldap/trunk/src/main/java/org/apache/ldap/server/protocol/SearchHandler.java
URL: http://svn.apache.org/viewcvs/directory/protocol-providers/ldap/trunk/src/main/java/org/apache/ldap/server/protocol/SearchHandler.java?rev=291082&r1=291081&r2=291082&view=diff
==============================================================================
--- directory/protocol-providers/ldap/trunk/src/main/java/org/apache/ldap/server/protocol/SearchHandler.java (original)
+++ directory/protocol-providers/ldap/trunk/src/main/java/org/apache/ldap/server/protocol/SearchHandler.java Thu Sep 22 23:30:48 2005
@@ -42,6 +42,8 @@
import org.apache.ldap.common.message.SearchResponseReferenceImpl;
import org.apache.ldap.common.util.ArrayUtils;
import org.apache.ldap.common.util.ExceptionUtils;
+import org.apache.ldap.common.name.LdapName;
+import org.apache.ldap.server.jndi.ServerLdapContext;
import org.apache.mina.protocol.ProtocolSession;
import org.apache.mina.protocol.handler.MessageHandler;
@@ -62,7 +64,7 @@
public void messageReceived( ProtocolSession session, Object request )
{
- LdapContext ctx;
+ ServerLdapContext ctx;
SearchRequest req = ( SearchRequest ) request;
NamingEnumeration list = null;
@@ -92,28 +94,9 @@
try
{
- ctx = SessionRegistry.getSingleton().getLdapContext( session, null, true );
+ ctx = ( ServerLdapContext ) SessionRegistry.getSingleton().getLdapContext( session, null, true ).lookup( "" );
ctx.addToEnvironment( DEREFALIASES_KEY, req.getDerefAliases().getName() );
-
- /*
- * Eve JNDI Provider Specific Hack!
- *
- * Hack to get around not having to generate the filter string and
- * reparse the expression back into a tree: instead we sneak the
- * filter into the environment so the Eve context implementation
- * can pick it up.
- *
- * @todo change this so we test for the Eve provider to use the hack
- * @todo find better way to do this
- * @todo if provider is not Eve provider then we need to generate filter
- *
- * To generate we're going to need a visitor for this. Can't use the
- * toString() method which uses scan counts and is for pretty printing
- * the filter.
- */
- ctx.addToEnvironment( "__filter__", req.getFilter() );
- list = ctx.search( req.getBase(), null, controls );
- ctx.removeFromEnvironment( "__filter__" );
+ list = ctx.search( new LdapName( req.getBase() ), req.getFilter(), controls );
if( list.hasMore() )
{