[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