[exo-jcr-commits] exo-jcr SVN: r1470 - in core/trunk: exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/cache and 4 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Jan 18 18:01:45 EST 2010


Author: julien_viet
Date: 2010-01-18 18:01:45 -0500 (Mon, 18 Jan 2010)
New Revision: 1470

Added:
   core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/mock/LazyListImpl.java
Modified:
   core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/Query.java
   core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/UserHandler.java
   core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/cache/CacheableUserHandlerImpl.java
   core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/mock/DummyOrganizationService.java
   core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/UserDAOImpl.java
   core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/jdbc/UserDAOImpl.java
   core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/UserDAOImpl.java
Log:
EXOJCR-415 : UserHandler provide ListAccess for retrieving list of users
EXOJCR-416 : Organization service Query object implements Serializable


Modified: core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/Query.java
===================================================================
--- core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/Query.java	2010-01-18 16:23:05 UTC (rev 1469)
+++ core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/Query.java	2010-01-18 23:01:45 UTC (rev 1470)
@@ -18,13 +18,14 @@
  */
 package org.exoplatform.services.organization;
 
+import java.io.Serializable;
 import java.util.Date;
 
 /**
  * Created by The eXo Platform SAS . Author : Tuan Nguyen
  * tuan08 at users.sourceforge.net Date: Jun 14, 2003 Time: 1:12:22 PM
  */
-public class Query
+public class Query implements Serializable
 {
 
    private String userName_;

Modified: core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/UserHandler.java
===================================================================
--- core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/UserHandler.java	2010-01-18 16:23:05 UTC (rev 1469)
+++ core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/UserHandler.java	2010-01-18 23:01:45 UTC (rev 1470)
@@ -18,6 +18,7 @@
  */
 package org.exoplatform.services.organization;
 
+import org.exoplatform.commons.utils.ListAccess;
 import org.exoplatform.commons.utils.PageList;
 
 /**
@@ -125,10 +126,23 @@
     *          group
     * @return return a page list iterator of a group of the user in the database
     * @throws Exception
+    * @deprecated use {@link #findUsersByGroupId(String)} instead
     */
-   public PageList findUsersByGroup(String groupId) throws Exception;
+   @Deprecated
+   public PageList<User> findUsersByGroup(String groupId) throws Exception;
 
    /**
+    * This method should search and return the list of the users in a given
+    * group.
+    *
+    * @param groupId id of the group. The return users list should be in this
+    *          group
+    * @return return a page list iterator of a group of the user in the database
+    * @throws Exception any exception
+    */
+   public ListAccess<User> findUsersByGroupId(String groupId) throws Exception;
+
+   /**
     * This method is used to get all the users in the database
     * 
     * @param pageSize The number of user in each page
@@ -136,19 +150,42 @@
     *         developer get all the users or get a page of users if the return
     *         number of users is too large.
     * @throws Exception
+    * @deprecated use {@link @findAllUsers() } instead
     */
-   public PageList getUserPageList(int pageSize) throws Exception;
+   @Deprecated
+   public PageList<User> getUserPageList(int pageSize) throws Exception;
 
    /**
+    * This method is used to get all the users in the database
+    *
+    * @return return a page list iterator. The page list should allow the
+    *         developer get all the users or get a page of users if the return
+    *         number of users is too large.
+    * @throws Exception any exception
+    */
+   public ListAccess<User> findAllUsers() throws Exception;
+
+   /**
     * This method search for the users accordding to a search criteria, the query
     * 
     * @param query The query object contains the search criteria.
     * @return return the found users in a page list according to the query.
     * @throws Exception throw exception if the service cannot access the database
+    * @deprecated use {@link #findUsersByQuery(Query)} instead
     */
-   public PageList findUsers(Query query) throws Exception;
+   @Deprecated
+   public PageList<User> findUsers(Query query) throws Exception;
 
    /**
+    * This method search for the users accordding to a search criteria, the query
+    *
+    * @param query The query object contains the search criteria.
+    * @return return the found users in a page list according to the query.
+    * @throws Exception throw exception if the service cannot access the database
+    */
+   public ListAccess<User> findUsersByQuery(Query query) throws Exception;
+
+   /**
     * Check if the username and the password of an user is valid.
     * 
     * @param username

Modified: core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/cache/CacheableUserHandlerImpl.java
===================================================================
--- core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/cache/CacheableUserHandlerImpl.java	2010-01-18 16:23:05 UTC (rev 1469)
+++ core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/cache/CacheableUserHandlerImpl.java	2010-01-18 23:01:45 UTC (rev 1470)
@@ -16,6 +16,7 @@
  */
 package org.exoplatform.services.organization.cache;
 
+import org.exoplatform.commons.utils.ListAccess;
 import org.exoplatform.commons.utils.PageList;
 import org.exoplatform.services.cache.ExoCache;
 import org.exoplatform.services.organization.Membership;
@@ -123,7 +124,7 @@
    /**
     * {@inheritDoc}
     */
-   public PageList findUsers(Query query) throws Exception
+   public PageList<User> findUsers(Query query) throws Exception
    {
       return userHandler.findUsers(query);
    }
@@ -131,7 +132,7 @@
    /**
     * {@inheritDoc}
     */
-   public PageList findUsersByGroup(String groupId) throws Exception
+   public PageList<User> findUsersByGroup(String groupId) throws Exception
    {
       return userHandler.findUsersByGroup(groupId);
    }
@@ -139,7 +140,7 @@
    /**
     * {@inheritDoc}
     */
-   public PageList getUserPageList(int pageSize) throws Exception
+   public PageList<User> getUserPageList(int pageSize) throws Exception
    {
       return userHandler.getUserPageList(pageSize);
    }
@@ -147,6 +148,27 @@
    /**
     * {@inheritDoc}
     */
+   public ListAccess<User> findUsersByGroupId(String groupId) throws Exception {
+      return userHandler.findUsersByGroupId(groupId);
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   public ListAccess<User> findAllUsers() throws Exception {
+      return userHandler.findAllUsers();
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   public ListAccess<User> findUsersByQuery(Query query) throws Exception {
+      return userHandler.findUsersByQuery(query);
+   }
+
+   /**
+    * {@inheritDoc}
+    */
    public User removeUser(String userName, boolean broadcast) throws Exception
    {
       User user = userHandler.removeUser(userName, broadcast);

Modified: core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/mock/DummyOrganizationService.java
===================================================================
--- core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/mock/DummyOrganizationService.java	2010-01-18 16:23:05 UTC (rev 1469)
+++ core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/mock/DummyOrganizationService.java	2010-01-18 23:01:45 UTC (rev 1470)
@@ -21,6 +21,8 @@
  */
 package org.exoplatform.services.organization.impl.mock;
 
+import org.exoplatform.commons.utils.LazyPageList;
+import org.exoplatform.commons.utils.ListAccess;
 import org.exoplatform.commons.utils.ObjectPageList;
 import org.exoplatform.commons.utils.PageList;
 import org.exoplatform.services.organization.BaseOrganizationService;
@@ -152,12 +154,12 @@
 
       private static final int DEFAULT_LIST_SIZE = 6;
 
-      private List<User> users;
+      private LazyListImpl users;
 
       public UserHandlerImpl()
       {
 
-         users = new ArrayList<User>();
+         users = new LazyListImpl();
 
          User usr = new UserImpl("exo");
          usr.setPassword("exo");
@@ -248,9 +250,23 @@
          return null;
       }
 
-      public PageList findUsersByGroup(String groupId) throws Exception
+      public PageList<User> findUsersByGroup(String groupId) throws Exception
       {
-         List<User> users = new ArrayList<User>();
+         return new LazyPageList<User>(findUsersByGroupId(groupId), 10);
+      }
+
+      public PageList<User> findUsers(Query query) throws Exception
+      {
+         return new LazyPageList<User>(users, 10);
+      }
+
+      public ListAccess<User> findUsersByQuery(Query query) throws Exception
+      {
+         return users;
+      }
+
+      public ListAccess<User> findUsersByGroupId(String groupId) throws Exception {
+         LazyListImpl users = new LazyListImpl();
          if (groupId.equals(GROUPID_USERS))
          {
             users.add(new UserImpl("exo"));
@@ -265,17 +281,17 @@
             users.add(new UserImpl("john"));
             users.add(new UserImpl("admin"));
          }
-         return new ObjectPageList(users, 10);
+         return users;
       }
 
-      public PageList getUserPageList(int pageSize) throws Exception
+      public ListAccess<User> findAllUsers() throws Exception
       {
-         return null;
+         return users;
       }
 
-      public PageList findUsers(Query query) throws Exception
+      public PageList<User> getUserPageList(int pageSize) throws Exception
       {
-         return new ObjectPageList(users, 10);
+         return new LazyPageList<User>(users, 10);
       }
 
       public void addUserEventListener(UserEventListener listener)

Added: core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/mock/LazyListImpl.java
===================================================================
--- core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/mock/LazyListImpl.java	                        (rev 0)
+++ core/trunk/exo.core.component.organization.api/src/main/java/org/exoplatform/services/organization/impl/mock/LazyListImpl.java	2010-01-18 23:01:45 UTC (rev 1470)
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.exoplatform.services.organization.impl.mock;
+
+import org.exoplatform.commons.utils.ListAccess;
+import org.exoplatform.services.organization.User;
+
+import java.util.ArrayList;
+
+/**
+ * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
+ * @version $Revision$
+ */
+public class LazyListImpl extends ArrayList<User> implements ListAccess<User>
+{
+
+   public User[] load(int index, int length) throws Exception, IllegalArgumentException {
+      User[] users = new User[length];
+      toArray(users);
+      return users;
+   }
+
+   public int getSize() throws Exception {
+      return size();
+   }
+}

Modified: core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/UserDAOImpl.java
===================================================================
--- core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/UserDAOImpl.java	2010-01-18 16:23:05 UTC (rev 1469)
+++ core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/hibernate/UserDAOImpl.java	2010-01-18 23:01:45 UTC (rev 1470)
@@ -19,14 +19,12 @@
 package org.exoplatform.services.organization.hibernate;
 
 import org.exoplatform.commons.utils.LazyPageList;
+import org.exoplatform.commons.utils.ListAccess;
 import org.exoplatform.services.cache.CacheService;
 import org.exoplatform.services.cache.ExoCache;
 import org.exoplatform.services.database.HibernateService;
 import org.exoplatform.services.database.ObjectQuery;
-import org.exoplatform.services.organization.Query;
-import org.exoplatform.services.organization.User;
-import org.exoplatform.services.organization.UserEventListener;
-import org.exoplatform.services.organization.UserHandler;
+import org.exoplatform.services.organization.*;
 import org.exoplatform.services.organization.impl.UserImpl;
 import org.hibernate.Session;
 import org.hibernate.Transaction;
@@ -144,12 +142,17 @@
       return user;
    }
 
-   public LazyPageList getUserPageList(int pageSize) throws Exception
+   public LazyPageList<User> getUserPageList(int pageSize) throws Exception
    {
+      return new LazyPageList<User>(findAllUsers(), 20);
+   }
+
+   public ListAccess<User> findAllUsers() throws Exception
+   {
       String findQuery = "from o in class " + UserImpl.class.getName();
       String countQuery = "select count(o) from " + UserImpl.class.getName() + " o";
 
-      return new LazyPageList(new SimpleHibernateUserListAccess(service_, findQuery, countQuery), 20);
+      return new SimpleHibernateUserListAccess(service_, findQuery, countQuery);
    }
 
    public boolean authenticate(String username, String password) throws Exception
@@ -167,8 +170,13 @@
       return authenticated;
    }
 
-   public LazyPageList findUsers(Query q) throws Exception
+   public LazyPageList<User> findUsers(Query q) throws Exception
    {
+      return new LazyPageList<User>(findUsersByQuery(q), 20);
+   }
+
+   public ListAccess<User> findUsersByQuery(Query q) throws Exception
+   {
       ObjectQuery oq = new ObjectQuery(UserImpl.class);
       oq.addLIKE("userName", q.getUserName());
       oq.addLIKE("firstName", q.getFirstName());
@@ -177,12 +185,16 @@
       oq.addGT("lastLoginTime", q.getFromLoginDate());
       oq.addLT("lastLoginTime", q.getToLoginDate());
 
-      return new LazyPageList(new SimpleHibernateUserListAccess(service_, oq.getHibernateQuery(), oq
-         .getHibernateCountQuery()), 20);
+      return new SimpleHibernateUserListAccess(service_, oq.getHibernateQuery(), oq.getHibernateCountQuery());
    }
 
-   public LazyPageList findUsersByGroup(String groupId) throws Exception
+   public LazyPageList<User> findUsersByGroup(String groupId) throws Exception
    {
+      return new LazyPageList<User>(findUsersByGroupId(groupId), 20);
+   }
+
+   public ListAccess<User> findUsersByGroupId(String groupId) throws Exception
+   {
       String queryFindUsersInGroup =
          "select u " + "from u in class org.exoplatform.services.organization.impl.UserImpl, "
             + "     m in class org.exoplatform.services.organization.impl.MembershipImpl "
@@ -192,7 +204,7 @@
             + "     m in class org.exoplatform.services.organization.impl.MembershipImpl "
             + "where m.userName = u.userName " + "  and m.groupId =  '" + groupId + "'";
 
-      return new LazyPageList(new SimpleHibernateUserListAccess(service_, queryFindUsersInGroup, countUsersInGroup), 20);
+      return new SimpleHibernateUserListAccess(service_, queryFindUsersInGroup, countUsersInGroup);
    }
 
    public Collection findUsersByGroupAndRole(String groupName, String role) throws Exception

Modified: core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/jdbc/UserDAOImpl.java
===================================================================
--- core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/jdbc/UserDAOImpl.java	2010-01-18 16:23:05 UTC (rev 1469)
+++ core/trunk/exo.core.component.organization.jdbc/src/main/java/org/exoplatform/services/organization/jdbc/UserDAOImpl.java	2010-01-18 23:01:45 UTC (rev 1470)
@@ -19,7 +19,7 @@
 package org.exoplatform.services.organization.jdbc;
 
 import org.exoplatform.commons.utils.LazyPageList;
-import org.exoplatform.commons.utils.PageList;
+import org.exoplatform.commons.utils.ListAccess;
 import org.exoplatform.container.PortalContainer;
 import org.exoplatform.services.database.DBObjectMapper;
 import org.exoplatform.services.database.DBObjectQuery;
@@ -28,14 +28,7 @@
 import org.exoplatform.services.listener.ListenerService;
 import org.exoplatform.services.log.ExoLogger;
 import org.exoplatform.services.log.Log;
-import org.exoplatform.services.organization.Group;
-import org.exoplatform.services.organization.GroupHandler;
-import org.exoplatform.services.organization.Membership;
-import org.exoplatform.services.organization.MembershipHandler;
-import org.exoplatform.services.organization.OrganizationService;
-import org.exoplatform.services.organization.User;
-import org.exoplatform.services.organization.UserEventListener;
-import org.exoplatform.services.organization.UserHandler;
+import org.exoplatform.services.organization.*;
 
 import java.util.Calendar;
 import java.util.List;
@@ -106,10 +99,15 @@
       return user;
    }
 
+   public LazyPageList<User> findUsers(org.exoplatform.services.organization.Query orgQuery) throws Exception
+   {
+      return new LazyPageList<User>(findUsersByQuery(orgQuery), 20);
+   }
+
    /**
     * Query( name = "" , standardSQL = "..." oracleSQL = "..." )
     */
-   public LazyPageList findUsers(org.exoplatform.services.organization.Query orgQuery) throws Exception
+   public ListAccess<User> findUsersByQuery(Query orgQuery) throws Exception
    {
       DBObjectQuery dbQuery = new DBObjectQuery<UserImpl>(UserImpl.class);
       dbQuery.addLIKE("USER_NAME", orgQuery.getUserName());
@@ -119,12 +117,16 @@
       dbQuery.addGT("LAST_LOGIN_TIME", orgQuery.getFromLoginDate());
       dbQuery.addLT("LAST_LOGIN_TIME", orgQuery.getToLoginDate());
 
-      return new LazyPageList(new SimpleJDBCUserListAccess(this, dbQuery.toQuery(), dbQuery.toCountQuery()), 20);
+      return new SimpleJDBCUserListAccess(this, dbQuery.toQuery(), dbQuery.toCountQuery());
    }
 
-   @SuppressWarnings("unchecked")
-   public PageList findUsersByGroup(String groupId) throws Exception
+   public LazyPageList<User> findUsersByGroup(String groupId) throws Exception
    {
+      return new LazyPageList<User>(findUsersByGroupId(groupId), 20);
+   }
+
+   public ListAccess<User> findUsersByGroupId(String groupId) throws Exception
+   {
       if (log.isDebugEnabled())
          log.debug("+++++++++++FIND USER BY GROUP_ID " + groupId);
       PortalContainer manager = PortalContainer.getInstance();
@@ -132,6 +134,7 @@
       MembershipHandler membershipHandler = service.getMembershipHandler();
       GroupHandler groupHandler = service.getGroupHandler();
       Group group = groupHandler.findGroupById(groupId);
+      @SuppressWarnings("unchecked")
       List<Membership> members = (List<Membership>)membershipHandler.findMembershipsByGroup(group);
 
       DBObjectQuery dbQuery = new DBObjectQuery<UserImpl>(UserImpl.class);
@@ -145,15 +148,18 @@
          */
       }
 
-      return new LazyPageList(new SimpleJDBCUserListAccess(this, dbQuery.toQueryUseOR(), dbQuery.toCountQueryUseOR()),
-         20);
+      return new SimpleJDBCUserListAccess(this, dbQuery.toQueryUseOR(), dbQuery.toCountQueryUseOR());
    }
 
-   public LazyPageList getUserPageList(int pageSize) throws Exception
+   public LazyPageList<User> getUserPageList(int pageSize) throws Exception
    {
+      return new LazyPageList<User>(findAllUsers(), pageSize);
+   }
+
+   public ListAccess<User> findAllUsers() throws Exception
+   {
       DBObjectQuery dbQuery = new DBObjectQuery<UserImpl>(UserImpl.class);
-
-      return new LazyPageList(new SimpleJDBCUserListAccess(this, dbQuery.toQuery(), dbQuery.toCountQuery()), pageSize);
+      return new SimpleJDBCUserListAccess(this, dbQuery.toQuery(), dbQuery.toCountQuery());
    }
 
    public User removeUser(String userName, boolean broadcast) throws Exception

Modified: core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/UserDAOImpl.java
===================================================================
--- core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/UserDAOImpl.java	2010-01-18 16:23:05 UTC (rev 1469)
+++ core/trunk/exo.core.component.organization.ldap/src/main/java/org/exoplatform/services/organization/ldap/UserDAOImpl.java	2010-01-18 23:01:45 UTC (rev 1470)
@@ -19,11 +19,9 @@
 package org.exoplatform.services.organization.ldap;
 
 import org.exoplatform.commons.utils.LazyPageList;
+import org.exoplatform.commons.utils.ListAccess;
 import org.exoplatform.services.ldap.LDAPService;
-import org.exoplatform.services.organization.Query;
-import org.exoplatform.services.organization.User;
-import org.exoplatform.services.organization.UserEventListener;
-import org.exoplatform.services.organization.UserHandler;
+import org.exoplatform.services.organization.*;
 import org.exoplatform.services.organization.impl.UserImpl;
 
 import java.util.ArrayList;
@@ -271,10 +269,15 @@
       }
    }
 
-   /**
+   public LazyPageList<User> findUsersByGroup(String groupId) throws Exception
+   {
+      return new LazyPageList<User>(findUsersByGroupId(groupId), 10);
+   }    
+
+    /**
     * {@inheritDoc}
     */
-   public LazyPageList<User> findUsersByGroup(String groupId) throws Exception
+   public ListAccess<User> findUsersByGroupId(String groupId) throws Exception
    {
       //    ArrayList<User> users = new ArrayList<User>();
       //    TreeMap<String, User> map = new TreeMap<String, User>();
@@ -323,30 +326,36 @@
 
       String searchBase = this.getGroupDNFromGroupId(groupId);
       String filter = ldapAttrMapping.membershipObjectClassFilter;
-      LazyPageList<User> l =
-         new LazyPageList<User>(new ByGroupLdapUserListAccess(ldapAttrMapping, ldapService, searchBase, filter), 10);
-      return l;
+      return new ByGroupLdapUserListAccess(ldapAttrMapping, ldapService, searchBase, filter);
    }
 
-   /**
+   public LazyPageList<User> getUserPageList(int pageSize) throws Exception
+   {
+      return new LazyPageList<User>(findAllUsers(), 10);
+   }
+
+    /**
     * {@inheritDoc}
     */
-   public LazyPageList<User> getUserPageList(int pageSize) throws Exception
+   public ListAccess<User> findAllUsers() throws Exception
    {
       String searchBase = ldapAttrMapping.userURL;
       String filter = ldapAttrMapping.userObjectClassFilter;
 
       //    return new LDAPUserPageList(ldapAttrMapping, ldapService, searchBase, filter, pageSize);
 
-      LazyPageList<User> l =
-         new LazyPageList<User>(new SimpleLdapUserListAccess(ldapAttrMapping, ldapService, searchBase, filter), 10);
-      return l;
+      return new SimpleLdapUserListAccess(ldapAttrMapping, ldapService, searchBase, filter);
    }
 
+   public LazyPageList<User> findUsers(Query q) throws Exception
+   {
+      return new LazyPageList<User>(findUsersByQuery(q), 10);
+   }
+
    /**
     * {@inheritDoc}
     */
-   public LazyPageList<User> findUsers(Query q) throws Exception
+   public ListAccess<User> findUsersByQuery(Query q) throws Exception
    {
       String filter = null;
       ArrayList<String> list = new ArrayList<String>();
@@ -393,9 +402,7 @@
 
       //    return new LDAPUserPageList(ldapAttrMapping, ldapService, searchBase, filter, 20);
 
-      LazyPageList<User> l =
-         new LazyPageList<User>(new SimpleLdapUserListAccess(ldapAttrMapping, ldapService, searchBase, filter), 10);
-      return l;
+      return new SimpleLdapUserListAccess(ldapAttrMapping, ldapService, searchBase, filter);
    }
 
    /**



More information about the exo-jcr-commits mailing list