Author: norman
Date: Wed Feb  3 14:44:36 2010
New Revision: 906072

URL: http://svn.apache.org/viewvc?rev=906072&view=rev
Log:
some enhancement in jpa code

Modified:
    
james/server/trunk/jpa-store/src/main/java/org/apache/james/server/jpa/JPAUsersRepository.java

Modified: 
james/server/trunk/jpa-store/src/main/java/org/apache/james/server/jpa/JPAUsersRepository.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/jpa-store/src/main/java/org/apache/james/server/jpa/JPAUsersRepository.java?rev=906072&r1=906071&r2=906072&view=diff
==============================================================================
--- 
james/server/trunk/jpa-store/src/main/java/org/apache/james/server/jpa/JPAUsersRepository.java
 (original)
+++ 
james/server/trunk/jpa-store/src/main/java/org/apache/james/server/jpa/JPAUsersRepository.java
 Wed Feb  3 14:44:36 2010
@@ -19,6 +19,7 @@
 
 package org.apache.james.server.jpa;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
@@ -219,8 +220,9 @@
 
     /**
      * Removes a user from the repository
-     *
-     * @param name the user to remove from the repository
+     * 
+     * @param name
+     *            the user to remove from the repository
      */
     public void removeUser(String name) {
         final EntityTransaction transaction = entityManager.getTransaction();
@@ -244,11 +246,8 @@
      * @return whether the user is in the repository
      */
     public boolean contains(String name) {
-        try
-        {
-            return ((Long) entityManager.createQuery("SELECT COUNT(user) FROM 
User user WHERE user.name=?1")
-                            .setParameter(1, name)
-                            .getSingleResult()).longValue() > 0;
+        try {
+            return ((Long) entityManager.createQuery("SELECT COUNT(user) FROM 
User user WHERE user.name=?1").setParameter(1, 
name).getSingleResult()).longValue() > 0;
         } catch (PersistenceException e) {
             logger.debug("Failed to find user", e);
             return false;
@@ -312,32 +311,19 @@
 
     /**
      * List users in repository.
-     *
-     * @return Iterator over a collection of Strings, each being one user in 
the repository.
+     * 
+     * @return Iterator over a collection of Strings, each being one user in 
the
+     *         repository.
      */
-    public Iterator list() {
-        try
-        {
-            final List results = entityManager.createQuery("SELECT user FROM 
User user").getResultList();
-            return new Iterator() {
-                private final Iterator it = results.iterator();
-                public boolean hasNext() {
-                    return it.hasNext();
-                }
-
-                public Object next() {
-                    return ((JPAUser)it.next()).getUserName();
-                }
-
-                public void remove() {
-                    throw new UnsupportedOperationException();
-                }
-            };
+    @SuppressWarnings("unchecked")
+    public Iterator<String> list() {
+        try {
+            return entityManager.createQuery("SELECT user.name FROM User 
user").getResultList().iterator();
+
         } catch (PersistenceException e) {
             logger.debug("Failed to find user", e);
-            return Collections.EMPTY_LIST.iterator();
+            return new ArrayList<String>().iterator();
         }
     }
 
-
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to