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]