Author: trustin
Date: Sun Mar 20 08:11:09 2005
New Revision: 158334

URL: http://svn.apache.org/viewcvs?view=rev&rev=158334
Log:
Fixed: SearchResultFilter was not applied to List operation.

Modified:
    
directory/apacheds/branches/interceptor_revamp/core/src/main/java/org/apache/ldap/server/jndi/call/interceptor/Authorizer.java
    
directory/apacheds/branches/interceptor_revamp/core/src/main/java/org/apache/ldap/server/jndi/call/interceptor/DefaultAttributeTagger.java
    
directory/apacheds/branches/interceptor_revamp/core/src/main/java/org/apache/ldap/server/jndi/call/interceptor/SchemaManager.java

Modified: 
directory/apacheds/branches/interceptor_revamp/core/src/main/java/org/apache/ldap/server/jndi/call/interceptor/Authorizer.java
URL: 
http://svn.apache.org/viewcvs/directory/apacheds/branches/interceptor_revamp/core/src/main/java/org/apache/ldap/server/jndi/call/interceptor/Authorizer.java?view=diff&r1=158333&r2=158334
==============================================================================
--- 
directory/apacheds/branches/interceptor_revamp/core/src/main/java/org/apache/ldap/server/jndi/call/interceptor/Authorizer.java
 (original)
+++ 
directory/apacheds/branches/interceptor_revamp/core/src/main/java/org/apache/ldap/server/jndi/call/interceptor/Authorizer.java
 Sun Mar 20 08:11:09 2005
@@ -38,6 +38,7 @@
 import org.apache.ldap.server.jndi.call.Call;
 import org.apache.ldap.server.jndi.call.Delete;
 import org.apache.ldap.server.jndi.call.HasEntry;
+import org.apache.ldap.server.jndi.call.List;
 import org.apache.ldap.server.jndi.call.Lookup;
 import org.apache.ldap.server.jndi.call.LookupWithAttrIds;
 import org.apache.ldap.server.jndi.call.Modify;
@@ -388,6 +389,27 @@
         LdapContext ctx = ( LdapContext ) call.getContextStack().peek();
         e = ( NamingEnumeration ) call.getResponse();
         retval = new ResultFilteringEnumeration( e, searchControls, ctx,
+            new SearchResultFilter()
+            {
+                public boolean accept( LdapContext ctx, SearchResult result,
+                                       SearchControls controls )
+                        throws NamingException
+                {
+                    return Authorizer.this.isSearchable( ctx, result );
+                }
+            } );
+
+        call.setResponse( retval );
+    }
+
+    protected void process(NextInterceptor nextInterceptor, List call) throws 
NamingException {
+        super.process(nextInterceptor, call);
+        
+        NamingEnumeration e ;
+        ResultFilteringEnumeration retval;
+        LdapContext ctx = ( LdapContext ) call.getContextStack().peek();
+        e = ( NamingEnumeration ) call.getResponse();
+        retval = new ResultFilteringEnumeration( e, null, ctx,
             new SearchResultFilter()
             {
                 public boolean accept( LdapContext ctx, SearchResult result,

Modified: 
directory/apacheds/branches/interceptor_revamp/core/src/main/java/org/apache/ldap/server/jndi/call/interceptor/DefaultAttributeTagger.java
URL: 
http://svn.apache.org/viewcvs/directory/apacheds/branches/interceptor_revamp/core/src/main/java/org/apache/ldap/server/jndi/call/interceptor/DefaultAttributeTagger.java?view=diff&r1=158333&r2=158334
==============================================================================
--- 
directory/apacheds/branches/interceptor_revamp/core/src/main/java/org/apache/ldap/server/jndi/call/interceptor/DefaultAttributeTagger.java
 (original)
+++ 
directory/apacheds/branches/interceptor_revamp/core/src/main/java/org/apache/ldap/server/jndi/call/interceptor/DefaultAttributeTagger.java
 Sun Mar 20 08:11:09 2005
@@ -38,6 +38,7 @@
 import org.apache.ldap.server.db.ResultFilteringEnumeration;
 import org.apache.ldap.server.db.SearchResultFilter;
 import org.apache.ldap.server.jndi.call.Add;
+import org.apache.ldap.server.jndi.call.List;
 import org.apache.ldap.server.jndi.call.Lookup;
 import org.apache.ldap.server.jndi.call.LookupWithAttrIds;
 import org.apache.ldap.server.jndi.call.Modify;
@@ -240,6 +241,17 @@
 
         Attributes retval = ( Attributes ) attributes.clone();
         filter( call.getName(), retval, call.getAttributeIds() );
+        call.setResponse( retval );
+    }
+
+    protected void process(NextInterceptor nextInterceptor, List call) throws 
NamingException {
+        nextInterceptor.process( call );
+        
+        NamingEnumeration e ;
+        ResultFilteringEnumeration retval;
+        LdapContext ctx = ( LdapContext ) call.getContextStack().peek();
+        e = ( NamingEnumeration ) call.getResponse();
+        retval = new ResultFilteringEnumeration( e, new SearchControls(), ctx, 
SEARCH_FILTER );
         call.setResponse( retval );
     }
 

Modified: 
directory/apacheds/branches/interceptor_revamp/core/src/main/java/org/apache/ldap/server/jndi/call/interceptor/SchemaManager.java
URL: 
http://svn.apache.org/viewcvs/directory/apacheds/branches/interceptor_revamp/core/src/main/java/org/apache/ldap/server/jndi/call/interceptor/SchemaManager.java?view=diff&r1=158333&r2=158334
==============================================================================
--- 
directory/apacheds/branches/interceptor_revamp/core/src/main/java/org/apache/ldap/server/jndi/call/interceptor/SchemaManager.java
 (original)
+++ 
directory/apacheds/branches/interceptor_revamp/core/src/main/java/org/apache/ldap/server/jndi/call/interceptor/SchemaManager.java
 Sun Mar 20 08:11:09 2005
@@ -51,6 +51,7 @@
 import org.apache.ldap.server.db.ResultFilteringEnumeration;
 import org.apache.ldap.server.db.SearchResultFilter;
 import org.apache.ldap.server.jndi.ServerLdapContext;
+import org.apache.ldap.server.jndi.call.List;
 import org.apache.ldap.server.jndi.call.Lookup;
 import org.apache.ldap.server.jndi.call.LookupWithAttrIds;
 import org.apache.ldap.server.jndi.call.Search;
@@ -115,6 +116,17 @@
     
     public void destroy()
     {
+    }
+
+    protected void process(NextInterceptor nextInterceptor, List call) throws 
NamingException {
+        nextInterceptor.process( call );
+        
+        NamingEnumeration e ;
+        ResultFilteringEnumeration retval;
+        LdapContext ctx = ( LdapContext ) call.getContextStack().peek();
+        e = ( NamingEnumeration ) call.getResponse();
+        retval = new ResultFilteringEnumeration( e, new SearchControls(), ctx, 
binaryAttributeFilter );
+        call.setResponse( retval );
     }
 
     protected void process( NextInterceptor nextInterceptor, Search call ) 
throws NamingException


Reply via email to