[gatein-commits] gatein SVN: r7797 - in epp/portal/branches/EPP_5_2_Branch: component/identity/src/main/java/org/exoplatform/services/organization/idm and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Oct 20 08:42:28 EDT 2011


Author: bdaw
Date: 2011-10-20 08:42:28 -0400 (Thu, 20 Oct 2011)
New Revision: 7797

Modified:
   epp/portal/branches/EPP_5_2_Branch/component/identity/src/main/java/org/exoplatform/services/organization/idm/IDMMembershipListAccess.java
   epp/portal/branches/EPP_5_2_Branch/component/identity/src/main/java/org/exoplatform/services/organization/idm/IDMUserListAccess.java
   epp/portal/branches/EPP_5_2_Branch/component/identity/src/main/java/org/exoplatform/services/organization/idm/UserDAOImpl.java
   epp/portal/branches/EPP_5_2_Branch/pom.xml
Log:
JBEPP-1292 Unable to create new group when using LDAP
JBEPP-1060 Incorrect number of users returned by PersistenceManager.getUserCount() when using both DB and LDAP
JBEPP-908 Inefficient search by atrributes (email) when create or update user


Modified: epp/portal/branches/EPP_5_2_Branch/component/identity/src/main/java/org/exoplatform/services/organization/idm/IDMMembershipListAccess.java
===================================================================
--- epp/portal/branches/EPP_5_2_Branch/component/identity/src/main/java/org/exoplatform/services/organization/idm/IDMMembershipListAccess.java	2011-10-20 12:33:14 UTC (rev 7796)
+++ epp/portal/branches/EPP_5_2_Branch/component/identity/src/main/java/org/exoplatform/services/organization/idm/IDMMembershipListAccess.java	2011-10-20 12:42:28 UTC (rev 7797)
@@ -53,6 +53,8 @@
 
    private int size = -1;
 
+   private Membership lastExisting;
+
    public IDMMembershipListAccess(Group group)
    {
       this.group = group;
@@ -95,9 +97,13 @@
          roles = new LinkedList<Role>(getIDMService().getIdentitySession().getRoleManager().findRoles(user, null, crit));
       }
 
-      Membership[] memberships = new Membership[roles.size()];
 
-      for (int i = 0; i < roles.size(); i++)
+      Membership[] memberships = new Membership[length];
+
+      //
+      int i = 0;
+
+      for (; i < roles.size(); i++)
       {
          
          Role role = roles.get(i);
@@ -108,11 +114,31 @@
          MembershipImpl memb = new MembershipImpl();
          memb.setGroupId(exoGroup.getId());
          memb.setUserName(role.getUser().getId());
-         memb.setMembershipType(role.getRoleType().getName());
+
+         // LDAP store may return raw membership type as role type
+         if(role.getRoleType().getName().equals("JBOSS_IDENTITY_MEMBERSHIP"))
+         {
+            memb.setMembershipType(getOrganizationService().getConfiguration().getAssociationMembershipType());
+         }
+         else
+         {
+            memb.setMembershipType(role.getRoleType().getName());
+         }
+
+         lastExisting = memb;
          
          memberships[i] = memb;
       }
 
+      // Size can be greater then number of existing memberships
+      if (length > roles.size())
+      {
+         for (; i < length; i++)
+         {
+            memberships[i] = lastExisting;
+         }
+      }
+
       if (log.isTraceEnabled())
       {
         Tools.logMethodOut(

Modified: epp/portal/branches/EPP_5_2_Branch/component/identity/src/main/java/org/exoplatform/services/organization/idm/IDMUserListAccess.java
===================================================================
--- epp/portal/branches/EPP_5_2_Branch/component/identity/src/main/java/org/exoplatform/services/organization/idm/IDMUserListAccess.java	2011-10-20 12:33:14 UTC (rev 7796)
+++ epp/portal/branches/EPP_5_2_Branch/component/identity/src/main/java/org/exoplatform/services/organization/idm/IDMUserListAccess.java	2011-10-20 12:42:28 UTC (rev 7797)
@@ -53,6 +53,8 @@
 
    private int size = -1;
 
+   private User lastExisting;
+
    public IDMUserListAccess(UserQueryBuilder userQueryBuilder, int pageSize, boolean countAll)
    {
       this.userQueryBuilder = userQueryBuilder;
@@ -90,9 +92,11 @@
          users = fullResults.subList(index, index + length);
       }
 
-      User[] exoUsers = new User[users.size()];
+      User[] exoUsers = new User[length];
 
-      for (int i = 0; i < users.size(); i++)
+      int i = 0;
+
+      for (; i < users.size(); i++)
       {
          org.picketlink.idm.api.User user = users.get(i);
 
@@ -100,8 +104,18 @@
          ((UserDAOImpl)getOrganizationService().getUserHandler())
             .populateUser(gtnUser, getIDMService().getIdentitySession());
          exoUsers[i] = gtnUser;
+         lastExisting = gtnUser;
       }
 
+      if (length > users.size())
+      {
+
+         for(; i < length; i++)
+         {
+            exoUsers[i] = lastExisting;
+         }
+      }
+
       if (log.isTraceEnabled())
       {
         Tools.logMethodOut(

Modified: epp/portal/branches/EPP_5_2_Branch/component/identity/src/main/java/org/exoplatform/services/organization/idm/UserDAOImpl.java
===================================================================
--- epp/portal/branches/EPP_5_2_Branch/component/identity/src/main/java/org/exoplatform/services/organization/idm/UserDAOImpl.java	2011-10-20 12:33:14 UTC (rev 7796)
+++ epp/portal/branches/EPP_5_2_Branch/component/identity/src/main/java/org/exoplatform/services/organization/idm/UserDAOImpl.java	2011-10-20 12:42:28 UTC (rev 7797)
@@ -491,6 +491,21 @@
                }
             };
          }
+         else if (!q.getEmail().contains("*"))
+         {
+            return new ListAccess<User>()
+            {
+               public User[] load(int index, int length) throws Exception, IllegalArgumentException
+               {
+                  return new User[0];
+               }
+
+               public int getSize() throws Exception
+               {
+                  return 0;
+               }
+            };
+         }
       }
 
 

Modified: epp/portal/branches/EPP_5_2_Branch/pom.xml
===================================================================
--- epp/portal/branches/EPP_5_2_Branch/pom.xml	2011-10-20 12:33:14 UTC (rev 7796)
+++ epp/portal/branches/EPP_5_2_Branch/pom.xml	2011-10-20 12:42:28 UTC (rev 7797)
@@ -52,7 +52,7 @@
       <org.gatein.dep.version>1.1.0-GA</org.gatein.dep.version>
       <org.gatein.wci.version>2.1.0-GA</org.gatein.wci.version>
       <org.gatein.pc.version>2.3.0-Beta06</org.gatein.pc.version>
-      <org.picketlink.idm>1.3.0.Alpha08</org.picketlink.idm>
+      <org.picketlink.idm>1.3.0.Alpha09</org.picketlink.idm>
       <org.gatein.wsrp.version>2.1.0-Beta07-EPP520</org.gatein.wsrp.version>
       <org.gatein.mop.version>1.1.0-Beta07</org.gatein.mop.version>
       <org.gatein.mgmt.version>1.0.0-Beta04</org.gatein.mgmt.version>



More information about the gatein-commits mailing list