Author: thomas.heute(a)jboss.com
Date: 2007-08-16 05:45:01 -0400 (Thu, 16 Aug 2007)
New Revision: 7944
Modified:
trunk/identity/src/main/org/jboss/portal/identity/db/HibernateMembershipModuleImpl.java
trunk/identity/src/main/org/jboss/portal/test/identity/IdentityTest.java
trunk/identity/src/resources/hibernate/domain-identity.hbm.xml
Log:
More ordering in the identity, bug fix.
Still User.getRoles and Role.getUsers will return an unordered list
Modified:
trunk/identity/src/main/org/jboss/portal/identity/db/HibernateMembershipModuleImpl.java
===================================================================
---
trunk/identity/src/main/org/jboss/portal/identity/db/HibernateMembershipModuleImpl.java 2007-08-16
09:39:35 UTC (rev 7943)
+++
trunk/identity/src/main/org/jboss/portal/identity/db/HibernateMembershipModuleImpl.java 2007-08-16
09:45:01 UTC (rev 7944)
@@ -37,6 +37,8 @@
import org.hibernate.HibernateException;
import javax.naming.InitialContext;
+
+import java.util.LinkedHashSet;
import java.util.Set;
import java.util.HashSet;
import java.util.Iterator;
@@ -75,11 +77,6 @@
super.stopService();
}
-// public SessionFactory getSessionFactory()
-// {
-// return sessionFactory;
-// }
-
public String getSessionFactoryJNDIName()
{
return sessionFactoryJNDIName;
@@ -245,21 +242,21 @@
userNameFilter = "%" + userNameFilter.replaceAll("%",
"") + "%";
//
- query = session.createQuery("from HibernateUserImpl as user left join
user.roles role where role.name=:name" + " AND user.userName LIKE
:filter");
+ query = session.createQuery("from HibernateUserImpl as user left join
user.roles role where role.name=:name" + " AND user.userName LIKE :filter order
by user.userName");
query.setString("filter", userNameFilter);
}
else
{
- query = session.createQuery("from HibernateUserImpl as user left join
user.roles role where role.name=:name");
+ query = session.createQuery("from HibernateUserImpl as user left join
user.roles role where role.name=:name order by user.userName");
}
query.setString("name", roleName);
query.setFirstResult(offset);
query.setMaxResults(limit);
Iterator iterator = query.iterate();
- Set result = Tools.toSet(iterator);
+ Set result = Tools.toSet(iterator, true);
- Set newResult = new HashSet();
+ Set newResult = new LinkedHashSet();
Iterator cleaner = result.iterator();
while (cleaner.hasNext())
{
@@ -299,7 +296,7 @@
return userModule;
}
- /** Can be subclasses to provide testing in a non JTA environement. */
+ /** Can be subclasses to provide testing in a non JTA environment. */
protected Session getCurrentSession()
{
if (sessionFactory == null)
Modified: trunk/identity/src/main/org/jboss/portal/test/identity/IdentityTest.java
===================================================================
--- trunk/identity/src/main/org/jboss/portal/test/identity/IdentityTest.java 2007-08-16
09:39:35 UTC (rev 7943)
+++ trunk/identity/src/main/org/jboss/portal/test/identity/IdentityTest.java 2007-08-16
09:45:01 UTC (rev 7944)
@@ -339,16 +339,11 @@
{
ctx.begin();
Set set1 = membershipModule.findRoleMembers("role1", 0, 10,
"user");
- Set nameSet1 = new HashSet();
- for (Iterator i = set1.iterator(); i.hasNext();)
- {
- User user = (User)i.next();
- nameSet1.add(user.getUserName());
- }
- Set expectedNameSet1 = new HashSet();
- expectedNameSet1.add("user1");
- expectedNameSet1.add("user2");
- assertEquals(expectedNameSet1, nameSet1);
+ Iterator i = set1.iterator();
+ User user = (User)i.next();
+ assertEquals("user1", user.getUserName());
+ user = (User)i.next();
+ assertEquals("user2", user.getUserName());
//
Set set2 = membershipModule.findRoleMembers("role1", 0, 10,
"blah");
@@ -356,29 +351,20 @@
//
Set set3 = membershipModule.findRoleMembers("role1", 0, 10,
"");
- Set nameSet3 = new HashSet();
- for (Iterator i = set3.iterator(); i.hasNext();)
- {
- User user = (User)i.next();
- nameSet3.add(user.getUserName());
- }
- Set expectedNameSet3 = new HashSet();
- expectedNameSet3.add("user1");
- expectedNameSet3.add("user2");
- expectedNameSet3.add("admin");
- assertEquals(expectedNameSet3, nameSet3);
+ i = set3.iterator();
+ user = (User)i.next();
+ assertEquals("admin", user.getUserName());
+ user = (User)i.next();
+ assertEquals("user1", user.getUserName());
+ user = (User)i.next();
+ assertEquals("user2", user.getUserName());
//
Set set4 = membershipModule.findRoleMembers("role1", 0, 10,
"user1");
- Set nameSet4 = new HashSet();
- for (Iterator i = set4.iterator(); i.hasNext();)
- {
- User user = (User)i.next();
- nameSet4.add(user.getUserName());
- }
- Set expectedNameSet4 = new HashSet();
- expectedNameSet4.add("user1");
- assertEquals(expectedNameSet4, nameSet4);
+ i = set4.iterator();
+ user = (User)i.next();
+ assertEquals("user1", user.getUserName());
+
ctx.commit();
}
Modified: trunk/identity/src/resources/hibernate/domain-identity.hbm.xml
===================================================================
--- trunk/identity/src/resources/hibernate/domain-identity.hbm.xml 2007-08-16 09:39:35 UTC
(rev 7943)
+++ trunk/identity/src/resources/hibernate/domain-identity.hbm.xml 2007-08-16 09:45:01 UTC
(rev 7944)
@@ -124,7 +124,7 @@
lazy="false"
inverse="false"
cascade="none"
- sort="name">
+ sort="unsorted">
<!--<cache usage="@portal.hibernate.cache.usage(a)"/>-->
<key column="jbp_uid"/>
<many-to-many