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