You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by hu...@apache.org on 2007/11/26 03:45:11 UTC
svn commit: r598110 - in /struts/sandbox/trunk/jpa-mailreader/src:
main/java/entity/ main/java/entity/subscription/ main/java/entity/user/
test/java/entity/ test/java/entity/user/
Author: husted
Date: Sun Nov 25 18:45:09 2007
New Revision: 598110
URL: http://svn.apache.org/viewvc?rev=598110&view=rev
Log:
WW-1399 Add count method to enhance testing. (Also test rollback using a level 1 test. Need to setup a separate test scaffold to automate a rollback test.)
Modified:
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityHelper.java
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/subscription/SubscriptionHelperImpl.java
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/User.java
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/UserHelper.java
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/UserHelperImpl.java
struts/sandbox/trunk/jpa-mailreader/src/test/java/entity/EntityTestCase.java
struts/sandbox/trunk/jpa-mailreader/src/test/java/entity/user/UserManagerTest.java
Modified: struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityHelper.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityHelper.java?rev=598110&r1=598109&r2=598110&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityHelper.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityHelper.java Sun Nov 25 18:45:09 2007
@@ -18,6 +18,7 @@
*/
package entity;
+import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceException;
@@ -47,12 +48,27 @@
manager.remove(value);
}
- public Object findEntity(String namedQuery, String parameterName,
+ @SuppressWarnings("unchecked")
+ public List resultList(String namedQuery, String parameterName,
+ String value) {
+ EntityManager manager = EntityManagerHelper.getEntityManager();
+ List result = null;
+ Query query = manager.createNamedQuery(namedQuery);
+ if (parameterName!=null) query.setParameter(parameterName, value);
+ try {
+ result = query.getResultList();
+ } catch (NoResultException e) {
+ result = null;
+ }
+ return result;
+ }
+
+ public Object singleResult(String namedQuery, String parameterName,
String value) {
EntityManager manager = EntityManagerHelper.getEntityManager();
Object result = null;
Query query = manager.createNamedQuery(namedQuery);
- query.setParameter(parameterName, value);
+ if (parameterName!=null) query.setParameter(parameterName, value);
try {
result = query.getSingleResult();
} catch (NoResultException e) {
Modified: struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/subscription/SubscriptionHelperImpl.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/subscription/SubscriptionHelperImpl.java?rev=598110&r1=598109&r2=598110&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/subscription/SubscriptionHelperImpl.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/subscription/SubscriptionHelperImpl.java Sun Nov 25 18:45:09 2007
@@ -49,7 +49,7 @@
}
public Subscription findByName(String value) {
- Subscription result = (Subscription) findEntity(
+ Subscription result = (Subscription) singleResult(
Subscription.FIND_BY_NAME, Subscription.NAME, value);
return result;
}
Modified: struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/User.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/User.java?rev=598110&r1=598109&r2=598110&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/User.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/User.java Sun Nov 25 18:45:09 2007
@@ -46,7 +46,9 @@
@Entity(name = "APP_USER")
@NamedQueries( {
@NamedQuery(name = User.FIND_ALL, query = User.FIND_ALL_QUERY),
- @NamedQuery(name = User.FIND_BY_NAME, query = User.FIND_BY_NAME_QUERY) })
+ @NamedQuery(name = User.FIND_BY_NAME, query = User.FIND_BY_NAME_QUERY),
+ @NamedQuery(name = User.COUNT, query = User.COUNT_QUERY)
+})
public class User extends UuidEntity implements Serializable {
// ---- STATICS ----
@@ -58,12 +60,7 @@
*/
static final String FIND_ALL = "User.FIND_ALL";
- /**
- * <p>
- * Query for finding a <code>User</code> by username.
- * </p>
- */
- static final String FIND_ALL_QUERY = "SELECT u FROM APP_USER u";
+ private static final String FIND_ALL_QUERY = "SELECT u FROM APP_USER u";
/**
* <p>
@@ -72,12 +69,11 @@
*/
static final String FIND_BY_NAME = "User.FIND_BY_USERNAME";
- /**
- * <p>
- * Query for finding a <code>User</code> by username.
- * </p>
- */
- static final String FIND_BY_NAME_QUERY = "SELECT u FROM APP_USER u WHERE u.username = :username";
+ private static final String FIND_BY_NAME_QUERY = "SELECT u FROM APP_USER u WHERE u.username = :username";
+
+ static final String COUNT = "User.COUNT";
+
+ private static final String COUNT_QUERY = "SELECT COUNT(*) FROM APP_USER";
/**
* <p>
Modified: struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/UserHelper.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/UserHelper.java?rev=598110&r1=598109&r2=598110&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/UserHelper.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/UserHelper.java Sun Nov 25 18:45:09 2007
@@ -18,6 +18,8 @@
*/
package entity.user;
+import javax.persistence.PersistenceException;
+
/**
* <p>
* Custom operations involving the <code>User</code> object.
@@ -25,7 +27,16 @@
*
*/
public interface UserHelper {
-
+
+ /**
+ * <p>
+ * Provide the current count of <p>User</p> objects.
+ * </p>
+ * @return current count of <p>User</p> objects
+ * @throws PersistenceException
+ */
+ int count() throws PersistenceException;
+
/**
* <p>
* Insert the specified <code>User</code> into the persistent database.
Modified: struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/UserHelperImpl.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/UserHelperImpl.java?rev=598110&r1=598109&r2=598110&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/UserHelperImpl.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/UserHelperImpl.java Sun Nov 25 18:45:09 2007
@@ -28,6 +28,12 @@
*/
public class UserHelperImpl extends EntityHelper implements UserHelper {
+ public int count() throws PersistenceException {
+ Long count = (Long) singleResult(User.COUNT, null, null);
+ int result = count.intValue();
+ return result;
+ }
+
public void create(User value) throws PersistenceException {
createEntity(value);
}
@@ -42,7 +48,7 @@
}
public User findByName(String value) {
- User result = (User) findEntity(User.FIND_BY_NAME, User.NAME, value);
+ User result = (User) singleResult(User.FIND_BY_NAME, User.NAME, value);
return result;
}
Modified: struts/sandbox/trunk/jpa-mailreader/src/test/java/entity/EntityTestCase.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/test/java/entity/EntityTestCase.java?rev=598110&r1=598109&r2=598110&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/test/java/entity/EntityTestCase.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/test/java/entity/EntityTestCase.java Sun Nov 25 18:45:09 2007
@@ -7,6 +7,7 @@
public class EntityTestCase extends TestCase {
protected EntityManager manager;
+ protected boolean rollback = false;
public void setUp() throws Exception {
super.setUp();
@@ -16,6 +17,7 @@
public void tearDown() throws Exception {
super.tearDown();
+ if (rollback) EntityManagerHelper.rollback();
EntityManagerHelper.commit();
EntityManagerHelper.closeEntityManager();
}
Modified: struts/sandbox/trunk/jpa-mailreader/src/test/java/entity/user/UserManagerTest.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/test/java/entity/user/UserManagerTest.java?rev=598110&r1=598109&r2=598110&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/test/java/entity/user/UserManagerTest.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/test/java/entity/user/UserManagerTest.java Sun Nov 25 18:45:09 2007
@@ -4,6 +4,11 @@
import java.util.List;
import java.util.Random;
+import javax.persistence.EntityManager;
+import javax.persistence.NoResultException;
+import javax.persistence.Query;
+
+import entity.EntityManagerHelper;
import entity.EntityTestCase;
import entity.protocol.Protocol;
import entity.protocol.ProtocolHelperImpl;
@@ -15,6 +20,7 @@
UserHelper helper;
Random generator;
String base;
+ int beforeCount = 0;
private String nextBase() {
int r = generator.nextInt();
@@ -26,6 +32,7 @@
helper = new UserHelperImpl();
generator = new Random();
base = nextBase();
+ beforeCount = helper.count();
}
private boolean isNotEmpty(String value) {
@@ -36,6 +43,20 @@
return new User("user_" + base, "pass_" + base);
}
+ public void testCount() throws Exception {
+ EntityManager manager = EntityManagerHelper.getEntityManager();
+ Object result = null;
+ Query query = manager.createNamedQuery(User.COUNT);
+ try {
+ result = query.getSingleResult();
+ } catch (NoResultException e) {
+ result = null;
+ }
+ assertNotNull(result);
+ Long count = (Long) result;
+ assertTrue(0<count.intValue());
+ }
+
public void testCreate() throws Exception {
User user = newUser();
String before = user.getId();
@@ -43,6 +64,8 @@
helper.create(user);
String after = user.getId();
assertTrue("Initial ID changed on Create", before.equals(after));
+ int afterCount = helper.count();
+ assertTrue("Expected count to increase",afterCount>beforeCount);
}
private List<Subscription> getSubscriptions(User user) {
@@ -75,11 +98,17 @@
}
public void testCreateDelete() throws Exception {
+ // rollback = true;
User user = new User();
user.setUsername("user_" + base);
user.setPassword("pass_" + base);
helper.create(user);
+ // throw new PersistenceException();
helper.delete(user);
+ int afterCount = helper.count();
+ assertTrue(beforeCount == afterCount);
+ // rollback = false;
}
-
+
+
}