Author: thomas.heute(a)jboss.com
Date: 2007-08-15 07:06:17 -0400 (Wed, 15 Aug 2007)
New Revision: 7932
Modified:
trunk/common/src/main/org/jboss/portal/common/util/Tools.java
trunk/identity/src/main/org/jboss/portal/identity/db/HibernateRoleModuleImpl.java
trunk/identity/src/main/org/jboss/portal/identity/db/HibernateUserModuleImpl.java
trunk/identity/src/main/org/jboss/portal/test/identity/IdentityTest.java
trunk/identity/src/resources/hibernate/domain-identity.hbm.xml
Log:
Returns ordered Set of users and roles when searching on database
Modified: trunk/common/src/main/org/jboss/portal/common/util/Tools.java
===================================================================
--- trunk/common/src/main/org/jboss/portal/common/util/Tools.java 2007-08-15 11:02:36 UTC
(rev 7931)
+++ trunk/common/src/main/org/jboss/portal/common/util/Tools.java 2007-08-15 11:06:17 UTC
(rev 7932)
@@ -41,6 +41,7 @@
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.NoSuchElementException;
import java.util.ResourceBundle;
@@ -239,9 +240,35 @@
return set;
}
+ /**
+ * Transforms an iterator into an unordered Set
+ *
+ * @param iterator The iterator to transform
+ * @return A HashSet
+ */
public static Set toSet(Iterator iterator)
{
- HashSet set = new HashSet();
+ return toSet(iterator, false);
+ }
+
+ /**
+ * Transforms an iterator into a Set
+ *
+ * @param iterator The iterator to transform
+ * @param ordered true if the set must respect the ordering of the iterator
+ * @return a LinkedHashSet if ordered is true, a HashSet otherwise
+ */
+ public static Set toSet(Iterator iterator, boolean ordered)
+ {
+ Set set = null;
+ if (ordered)
+ {
+ set = new LinkedHashSet();
+ }
+ else
+ {
+ set = new HashSet();
+ }
while (iterator.hasNext())
{
set.add(iterator.next());
Modified:
trunk/identity/src/main/org/jboss/portal/identity/db/HibernateRoleModuleImpl.java
===================================================================
---
trunk/identity/src/main/org/jboss/portal/identity/db/HibernateRoleModuleImpl.java 2007-08-15
11:02:36 UTC (rev 7931)
+++
trunk/identity/src/main/org/jboss/portal/identity/db/HibernateRoleModuleImpl.java 2007-08-15
11:06:17 UTC (rev 7932)
@@ -273,9 +273,9 @@
try
{
Session session = getCurrentSession();
- Query query = session.createQuery("from HibernateRoleImpl");
+ Query query = session.createQuery("from HibernateRoleImpl as r order by
r.name");
Iterator iterator = query.iterate();
- return Tools.toSet(iterator);
+ return Tools.toSet(iterator, true);
}
catch (HibernateException e)
{
@@ -300,19 +300,19 @@
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();
Iterator cleaner = result.iterator();
Modified:
trunk/identity/src/main/org/jboss/portal/identity/db/HibernateUserModuleImpl.java
===================================================================
---
trunk/identity/src/main/org/jboss/portal/identity/db/HibernateUserModuleImpl.java 2007-08-15
11:02:36 UTC (rev 7931)
+++
trunk/identity/src/main/org/jboss/portal/identity/db/HibernateUserModuleImpl.java 2007-08-15
11:06:17 UTC (rev 7932)
@@ -231,11 +231,11 @@
try
{
Session session = getCurrentSession();
- Query query = session.createQuery("from HibernateUserImpl");
+ Query query = session.createQuery("from HibernateUserImpl as u order by
u.userName");
query.setFirstResult(offset);
query.setMaxResults(limit);
Iterator iterator = query.iterate();
- return Tools.toSet(iterator);
+ return Tools.toSet(iterator, true);
}
catch (HibernateException e)
{
@@ -254,12 +254,12 @@
//
Session session = getCurrentSession();
- Query query = session.createQuery("from HibernateUserImpl as u where
u.userName like :filter");
+ Query query = session.createQuery("from HibernateUserImpl as u where
u.userName like :filter order by u.userName");
query.setString("filter", filter);
query.setFirstResult(offset);
query.setMaxResults(limit);
Iterator iterator = query.iterate();
- return Tools.toSet(iterator);
+ return Tools.toSet(iterator, true);
}
catch (HibernateException e)
{
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-15
11:02:36 UTC (rev 7931)
+++ trunk/identity/src/main/org/jboss/portal/test/identity/IdentityTest.java 2007-08-15
11:06:17 UTC (rev 7932)
@@ -75,46 +75,31 @@
{
ctx.begin();
Set set1 = userModule.findUsersFilteredByUserName("user", 0, 10);
- 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 it = set1.iterator();
+ User user = (User)it.next();
+ assertEquals("user1", user.getUserName());
+ user = (User)it.next();
+ assertEquals("user2", user.getUserName());
+
//
Set set2 = userModule.findUsersFilteredByUserName("blah", 0, 10);
assertEquals(0, set2.size());
//
Set set3 = userModule.findUsersFilteredByUserName("", 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);
+ it = set3.iterator();
+ user = (User)it.next();
+ assertEquals("admin", user.getUserName());
+ user = (User)it.next();
+ assertEquals("user1", user.getUserName());
+ user = (User)it.next();
+ assertEquals("user2", user.getUserName());
//
Set set4 = userModule.findUsersFilteredByUserName("user1", 0, 10);
- 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);
+ it = set4.iterator();
+ user = (User)it.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-15 11:02:36 UTC
(rev 7931)
+++ trunk/identity/src/resources/hibernate/domain-identity.hbm.xml 2007-08-15 11:06:17 UTC
(rev 7932)
@@ -124,7 +124,7 @@
lazy="false"
inverse="false"
cascade="none"
- sort="unsorted">
+ sort="name">
<!--<cache usage="@portal.hibernate.cache.usage(a)"/>-->
<key column="jbp_uid"/>
<many-to-many