You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2010/02/03 21:33:27 UTC

svn commit: r906229 - in /james/server/trunk/jpa-store/src: main/java/org/apache/james/server/jpa/JPAUser.java main/java/org/apache/james/server/jpa/JPAUsersRepository.java test/java/org/apache/james/server/jpa/JpaUsersRepositoryTest.java

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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org