Author: norman
Date: Wed Feb  3 20:33:26 2010
New Revision: 906229

URL: http://svn.apache.org/viewvc?rev=906229&view=rev
Log:
Rename JPAUser table to JamesUser (User is sometimes reserved).
Use NamedQueries

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

Modified: 
james/server/trunk/jpa-store/src/main/java/org/apache/james/server/jpa/JPAUser.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/jpa-store/src/main/java/org/apache/james/server/jpa/JPAUser.java?rev=906229&r1=906228&r2=906229&view=diff
==============================================================================
--- 
james/server/trunk/jpa-store/src/main/java/org/apache/james/server/jpa/JPAUser.java
 (original)
+++ 
james/server/trunk/jpa-store/src/main/java/org/apache/james/server/jpa/JPAUser.java
 Wed Feb  3 20:33:26 2010
@@ -22,45 +22,60 @@
 import javax.persistence.Basic;
 import javax.persistence.Entity;
 import javax.persistence.Id;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
 import javax.persistence.Version;
 
 import org.apache.james.api.user.User;
 
-...@entity(name="User")
+...@entity(name = "JamesUser")
+...@namedqueries( { 
+    @NamedQuery(name = "findUserByName", query = "SELECT user FROM JamesUser 
user WHERE user.name=:name"),
+    @NamedQuery(name = "containsUser", query = "SELECT COUNT(user) FROM 
JamesUser user WHERE user.name=:name") ,
+    @NamedQuery(name = "countUsers", query = "SELECT COUNT(user) FROM 
JamesUser user"),
+    @NamedQuery(name = "listUserNames", query = "SELECT user.name FROM 
JamesUser user") 
+})
+
 public class JPAUser implements User {
 
-    /** 
-     * Static salt for hashing password.
-     * Modifying this value will render all passwords unrecognizable.
+    /**
+     * Static salt for hashing password. Modifying this value will render all
+     * passwords unrecognizable.
      */
     public static final String SALT = "JPAUsersRepository";
-    
+
     /**
      * Hashes salted password.
-     * @param username not null
-     * @param password not null
+     * 
+     * @param username
+     *            not null
+     * @param password
+     *            not null
      * @return not null
      */
     public static String hashPassword(String username, String password) {
         // Combine dynamic and static salt
-        final String hashedSaltedPassword = password;// = 
Text.md5(Text.md5(username + password) + SALT);
+        final String hashedSaltedPassword = password;// =
+        // Text.md5(Text.md5(username
+        // + password) + SALT);
         return hashedSaltedPassword;
     }
-    
+
     /** Prevents concurrent modification */
     @SuppressWarnings("unused")
     @Version
     private int version;
-    
+
     /** Key by user name */
     @Id
     private String name;
     /** Hashed password */
     @Basic
     private String password;
-    
-    protected JPAUser() {}
-    
+
+    protected JPAUser() {
+    }
+
     public JPAUser(final String userName, String password) {
         super();
         this.name = userName;
@@ -70,9 +85,10 @@
     public String getUserName() {
         return name;
     }
-    
+
     /**
      * Gets salted, hashed password.
+     * 
      * @return the hashedSaltedPassword
      */
     public final String getHashedSaltedPassword() {
@@ -126,10 +142,10 @@
             return false;
         return true;
     }
-    
+
     @Override
-     public String toString() {
-         return "[User " + name + "]";
-     }
-    
+    public String toString() {
+        return "[User " + name + "]";
+    }
+
 }

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=906229&r1=906228&r2=906229&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 20:33:26 2010
@@ -156,9 +156,7 @@
     private JPAUser getJPAUserByName(String name) {
         try
         {
-            return (JPAUser) entityManager.createQuery("SELECT user FROM User 
user WHERE user.name=?1")
-                            .setParameter(1, name)
-                            .getSingleResult();
+            return (JPAUser) 
entityManager.createNamedQuery("findUserByName").setParameter("name", 
name).getSingleResult();
         } catch (PersistenceException e) {
             logger.debug("Failed to find user", e);
             return null;
@@ -247,7 +245,7 @@
      */
     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;
+            return ((Long) 
entityManager.createNamedQuery("containsUser").setParameter("name", 
name).getSingleResult()).longValue() > 0;
         } catch (PersistenceException e) {
             logger.debug("Failed to find user", e);
             return false;
@@ -301,7 +299,7 @@
     public int countUsers() {
         try
         {
-            return ((Long) entityManager.createQuery("SELECT COUNT(user) FROM 
User user")
+            return ((Long) entityManager.createNamedQuery("countUsers")
                             .getSingleResult()).intValue();
         } catch (PersistenceException e) {
             logger.debug("Failed to find user", e);
@@ -318,7 +316,7 @@
     @SuppressWarnings("unchecked")
     public Iterator<String> list() {
         try {
-            return entityManager.createQuery("SELECT user.name FROM User 
user").getResultList().iterator();
+            return 
entityManager.createNamedQuery("listUserNames").getResultList().iterator();
 
         } catch (PersistenceException e) {
             logger.debug("Failed to find user", e);

Modified: 
james/server/trunk/jpa-store/src/test/java/org/apache/james/server/jpa/JpaUsersRepositoryTest.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/jpa-store/src/test/java/org/apache/james/server/jpa/JpaUsersRepositoryTest.java?rev=906229&r1=906228&r2=906229&view=diff
==============================================================================
--- 
james/server/trunk/jpa-store/src/test/java/org/apache/james/server/jpa/JpaUsersRepositoryTest.java
 (original)
+++ 
james/server/trunk/jpa-store/src/test/java/org/apache/james/server/jpa/JpaUsersRepositoryTest.java
 Wed Feb  3 20:33:26 2010
@@ -44,7 +44,7 @@
         properties.put("openjpa.Log", "JDBC=WARN, SQL=WARN, Runtime=WARN");
         properties.put("openjpa.ConnectionFactoryProperties", 
"PrettyPrint=true, PrettyPrintLineLength=72");
         properties.put("openjpa.jdbc.SynchronizeMappings", 
"buildSchema(ForeignKeys=true)");
-        properties.put("openjpa.MetaDataFactory", 
"jpa(Types=org.apache.james.server.jpa.JPAUser)");
+        properties.put("openjpa.MetaDataFactory", "jpa(Types=" + 
JPAUser.class.getName() +")");
         super.setUp();
         deleteAll();
     }
@@ -69,7 +69,7 @@
             OpenJPAEntityManager manager = factory.createEntityManager();
             final OpenJPAEntityTransaction transaction = 
manager.getTransaction();
             transaction.begin();
-            manager.createQuery("DELETE FROM User user").executeUpdate();
+            manager.createQuery("DELETE FROM JamesUser user").executeUpdate();
             transaction.commit();
         } catch (PersistenceException e) {
             e.printStackTrace();



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

Reply via email to