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/24 10:41:47 UTC
svn commit: r597831 - in /struts/sandbox/trunk/jpa-mailreader/src:
main/java/ main/java/META-INF/ main/java/action/ main/java/action/user/
main/java/action/user/subscription/ main/java/entity/
main/java/entity/protocol/ main/java/entity/subscription/ m...
Author: husted
Date: Sat Nov 24 01:41:46 2007
New Revision: 597831
URL: http://svn.apache.org/viewvc?rev=597831&view=rev
Log:
WW-1399 Start to add unit tests. Cleanup some compiler warnings. Add an alternative persistence.xml setup for Hibernate.
Added:
struts/sandbox/trunk/jpa-mailreader/src/test/java/action/user/
struts/sandbox/trunk/jpa-mailreader/src/test/java/action/user/autenticateTest.java
struts/sandbox/trunk/jpa-mailreader/src/test/java/entity/user/
struts/sandbox/trunk/jpa-mailreader/src/test/java/entity/user/UserManagerTest.java
Removed:
struts/sandbox/trunk/jpa-mailreader/src/main/java/xwork-conversion.properties
Modified:
struts/sandbox/trunk/jpa-mailreader/src/main/java/META-INF/persistence.xml
struts/sandbox/trunk/jpa-mailreader/src/main/java/action/Index.java
struts/sandbox/trunk/jpa-mailreader/src/main/java/action/user/Index.java
struts/sandbox/trunk/jpa-mailreader/src/main/java/action/user/subscription/Index.java
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityManagerSuperclass.java
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolManager.java
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolManagerInterface.java
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolTypeConverter.java
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/subscription/SubscriptionTypeConverter.java
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/User.java
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/UserTypeConverter.java
struts/sandbox/trunk/jpa-mailreader/src/test/java/action/HelloTest.java
struts/sandbox/trunk/jpa-mailreader/src/test/java/action/RetainTest.java
Modified: struts/sandbox/trunk/jpa-mailreader/src/main/java/META-INF/persistence.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/META-INF/persistence.xml?rev=597831&r1=597830&r2=597831&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/META-INF/persistence.xml (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/META-INF/persistence.xml Sat Nov 24 01:41:46 2007
@@ -1,27 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
-<persistence xmlns="http://java.sun.com/xml/ns/persistence"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
- http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
-
- <persistence-unit name="entity"
- transaction-type="RESOURCE_LOCAL">
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
+
+<!--
+ <persistence-unit name="entity" transaction-type="RESOURCE_LOCAL">
<provider>
oracle.toplink.essentials.PersistenceProvider
</provider>
- <class>entity.protocol.Protocol</class>
- <class>entity.subscription.Subscription</class>
- <class>entity.user.User</class>
+ <class>entity.EntitySuperclass</class>
+ <class>entity.protocol.Protocol</class>
+ <class>entity.subscription.Subscription</class>
+ <class>entity.user.User</class>
<properties>
- <property name="toplink.jdbc.driver"
- value="org.apache.derby.jdbc.ClientDriver" />
- <property name="toplink.jdbc.url"
- value="jdbc:derby://localhost:1527/mailreader" />
- <property name="toplink.jdbc.user" value="app" />
- <property name="toplink.jdbc.password" value="app" />
- <property name="toplink.ddl-generation"
- value="create-tables" />
+ <property name="toplink.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
+ <property name="toplink.jdbc.url" value="jdbc:derby://localhost:1527/mailreader"/>
+ <property name="toplink.jdbc.user" value="app"/>
+ <property name="toplink.jdbc.password" value="app"/>
+ <property name="toplink.ddl-generation" value="create-tables"/>
</properties>
</persistence-unit>
+-->
+ <persistence-unit name="entity" transaction-type="RESOURCE_LOCAL">
+ <provider>org.hibernate.ejb.HibernatePersistence</provider>
+ <class>entity.EntitySuperclass</class>
+ <class>entity.protocol.Protocol</class>
+ <class>entity.subscription.Subscription</class>
+ <class>entity.user.User</class>
+ <properties>
+ <property name = "hibernate.connection.driver_class" value = "org.apache.derby.jdbc.ClientDriver"/>
+ <property name = "hibernate.connection.url" value = "jdbc:derby://localhost:1527/mailreader"/>
+ <property name = "hibernate.connection.username" value = "app"/>
+ <property name = "hibernate.connection.password" value = "app"/>
+ <property name = "hibernate.hbm2ddl.auto" value = "update"/>
+ </properties>
+ </persistence-unit>
+
</persistence>
Modified: struts/sandbox/trunk/jpa-mailreader/src/main/java/action/Index.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/action/Index.java?rev=597831&r1=597830&r2=597831&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/action/Index.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/action/Index.java Sat Nov 24 01:41:46 2007
@@ -22,6 +22,9 @@
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionSupport;
+import com.opensymphony.xwork2.conversion.annotations.Conversion;
+import com.opensymphony.xwork2.conversion.annotations.ConversionType;
+import com.opensymphony.xwork2.conversion.annotations.TypeConversion;
/**
* <p>
@@ -32,6 +35,11 @@
* Generic logic should be pushed down to the Entity managers or another facade.
* </p>
*/
+@Conversion(conversions = {
+ @TypeConversion(type = ConversionType.APPLICATION, key = "entity.protocol.Protocol", converter = "entity.protocol.ProtocolTypeConverter"),
+ @TypeConversion(type = ConversionType.APPLICATION, key = "entity.subscription.Subscription", converter = "entity.subscription.SubscriptionTypeConverter"),
+ @TypeConversion(type = ConversionType.APPLICATION, key = "entity.user.User", converter = "entity.user.UserTypeConverter") })
+@SuppressWarnings("unchecked")
public class Index extends ActionSupport implements SessionAware {
// ---- STATICS ----
Modified: struts/sandbox/trunk/jpa-mailreader/src/main/java/action/user/Index.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/action/user/Index.java?rev=597831&r1=597830&r2=597831&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/action/user/Index.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/action/user/Index.java Sat Nov 24 01:41:46 2007
@@ -96,10 +96,12 @@
}
}
+ @SuppressWarnings("unchecked")
protected void login() {
getProfile().put(USER, getUser());
}
+ @SuppressWarnings("unchecked")
protected void logout() {
getProfile().put(USER, null);
}
Modified: struts/sandbox/trunk/jpa-mailreader/src/main/java/action/user/subscription/Index.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/action/user/subscription/Index.java?rev=597831&r1=597830&r2=597831&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/action/user/subscription/Index.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/action/user/subscription/Index.java Sat Nov 24 01:41:46 2007
@@ -57,13 +57,13 @@
protected SubscriptionManagerInterface manager;
private ProtocolManagerInterface protocolManager;
- private Map protocols;
+ private Map<String, String> protocols;
- public Map getProtocols() {
+ public Map<String, String> getProtocols() {
return protocols;
}
- public void setProtocols(Map value) {
+ public void setProtocols(Map<String, String> value) {
protocols = value;
}
Modified: struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityManagerSuperclass.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityManagerSuperclass.java?rev=597831&r1=597830&r2=597831&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityManagerSuperclass.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityManagerSuperclass.java Sat Nov 24 01:41:46 2007
@@ -100,6 +100,7 @@
}
}
+ @SuppressWarnings("unchecked")
public Object findEntity(Class entity, String id) {
EntityManager manager = EntityManagerHelper.getEntityManager();
Object result = null;
Modified: struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolManager.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolManager.java?rev=597831&r1=597830&r2=597831&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolManager.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolManager.java Sat Nov 24 01:41:46 2007
@@ -51,6 +51,7 @@
*
* @see entity.IProtocolManager#findAll()
*/
+ @SuppressWarnings("unchecked")
public List<Protocol> findAll() {
EntityManager em = EntityManagerHelper.getEntityManager();
try {
@@ -70,9 +71,10 @@
*
* @see entity.IProtocolManager#findAllAsMap()
*/
- public Map findAllAsMap() {
+ public Map<String, String> findAllAsMap() {
List<Protocol> items = findAll();
- Map map = new LinkedHashMap(items.size());
+ Map<String, String> map = new LinkedHashMap<String, String>(items
+ .size());
for (Protocol item : items) {
map.put(String.valueOf(item.getId()), item.getDescription());
}
Modified: struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolManagerInterface.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolManagerInterface.java?rev=597831&r1=597830&r2=597831&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolManagerInterface.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolManagerInterface.java Sat Nov 24 01:41:46 2007
@@ -50,6 +50,6 @@
* returned.
* </p>
*/
- public abstract Map findAllAsMap();
+ public abstract Map<String, String> findAllAsMap();
}
Modified: struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolTypeConverter.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolTypeConverter.java?rev=597831&r1=597830&r2=597831&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolTypeConverter.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolTypeConverter.java Sat Nov 24 01:41:46 2007
@@ -29,6 +29,7 @@
* </p>
*
*/
+@SuppressWarnings("unchecked")
public class ProtocolTypeConverter extends StrutsTypeConverter {
/**
Modified: struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/subscription/SubscriptionTypeConverter.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/subscription/SubscriptionTypeConverter.java?rev=597831&r1=597830&r2=597831&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/subscription/SubscriptionTypeConverter.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/subscription/SubscriptionTypeConverter.java Sat Nov 24 01:41:46 2007
@@ -28,6 +28,7 @@
* </p>
*
*/
+@SuppressWarnings("unchecked")
public class SubscriptionTypeConverter extends StrutsTypeConverter {
/**
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=597831&r1=597830&r2=597831&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 Sat Nov 24 01:41:46 2007
@@ -19,7 +19,6 @@
package entity.user;
import java.io.Serializable;
-import java.sql.Timestamp;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
@@ -28,7 +27,6 @@
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Transient;
-import javax.persistence.Version;
import entity.EntitySuperclass;
import entity.subscription.Subscription;
@@ -91,9 +89,6 @@
@Column(length = 16, nullable = false, unique = true)
private String username;
- @Version()
- private Timestamp last_update;
-
// ---- PROPERTIES ----
public String getFromAddress() {
@@ -110,14 +105,6 @@
public void setFullName(String value) {
full_name = value;
- }
-
- public Timestamp getLastUpdate() {
- return last_update;
- }
-
- public void setLastUpdate(Timestamp value) {
- last_update = value;
}
public String getPassword() {
Modified: struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/UserTypeConverter.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/UserTypeConverter.java?rev=597831&r1=597830&r2=597831&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/UserTypeConverter.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/user/UserTypeConverter.java Sat Nov 24 01:41:46 2007
@@ -28,6 +28,7 @@
* </p>
*
*/
+@SuppressWarnings("unchecked")
public class UserTypeConverter extends StrutsTypeConverter {
/**
Modified: struts/sandbox/trunk/jpa-mailreader/src/test/java/action/HelloTest.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/test/java/action/HelloTest.java?rev=597831&r1=597830&r2=597831&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/test/java/action/HelloTest.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/test/java/action/HelloTest.java Sat Nov 24 01:41:46 2007
@@ -27,8 +27,9 @@
/**
* An example test that asserts true.
- *
- * @throws Exception On invalid assertions
+ *
+ * @throws Exception
+ * On invalid assertions
*/
public void testTestCase() throws Exception {
assertTrue(true);
Modified: struts/sandbox/trunk/jpa-mailreader/src/test/java/action/RetainTest.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/test/java/action/RetainTest.java?rev=597831&r1=597830&r2=597831&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/test/java/action/RetainTest.java (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/test/java/action/RetainTest.java Sat Nov 24 01:41:46 2007
@@ -42,7 +42,8 @@
return UUID.randomUUID().toString();
}
- public void testBootstrap() throws Exception {
+ @SuppressWarnings("unchecked")
+ public void _testBootstrap() throws Exception {
EntityManager em = EntityManagerHelper.getEntityManager();
EntityTransaction et = null;
Added: struts/sandbox/trunk/jpa-mailreader/src/test/java/action/user/autenticateTest.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/test/java/action/user/autenticateTest.java?rev=597831&view=auto
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/test/java/action/user/autenticateTest.java (added)
+++ struts/sandbox/trunk/jpa-mailreader/src/test/java/action/user/autenticateTest.java Sat Nov 24 01:41:46 2007
@@ -0,0 +1,46 @@
+package action.user;
+
+import junit.framework.TestCase;
+import entity.user.User;
+import entity.user.UserManager;
+import entity.user.UserManagerInterface;
+
+public class autenticateTest extends TestCase {
+
+ UserManagerInterface manager;
+
+ public void setUp() throws Exception {
+ super.setUp();
+ manager = new UserManager();
+ }
+
+ private boolean authenticate(String username, String password) {
+ User foundValue = manager.findByName(username);
+ if ((foundValue != null) && !foundValue.getPassword().equals(password)) {
+ foundValue = null;
+ }
+
+ return (foundValue != null);
+ }
+
+ public void testPass() throws Exception {
+ boolean isFound = authenticate("user", "pass");
+ assertTrue("Bootstrap credentials did not authenticate", isFound);
+ }
+
+ public void testFail() throws Exception {
+ boolean isFound = authenticate("username", "password");
+ assertFalse("Incorrect credentials authenticated", isFound);
+ }
+
+ public void testFail_Password() throws Exception {
+ boolean isFound = authenticate("user", "password");
+ assertFalse("Incorrect password authenticated", isFound);
+ }
+
+ public void testFail_User() throws Exception {
+ boolean isFound = authenticate("username", "pass");
+ assertFalse("Incorrect username authenticated", isFound);
+ }
+
+}
Added: 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=597831&view=auto
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/test/java/entity/user/UserManagerTest.java (added)
+++ struts/sandbox/trunk/jpa-mailreader/src/test/java/entity/user/UserManagerTest.java Sat Nov 24 01:41:46 2007
@@ -0,0 +1,34 @@
+package entity.user;
+
+import junit.framework.TestCase;
+import java.util.Random;
+
+public class UserManagerTest extends TestCase {
+
+ UserManagerInterface manager;
+ String base;
+
+ public void setUp() throws Exception {
+ super.setUp();
+ manager = new UserManager();
+ Random generator = new Random();
+ int r = generator.nextInt();
+ base = String.valueOf(r);
+ }
+
+ private boolean isNotEmpty(String value) {
+ return (value != null) && (value.length() > 0);
+ }
+
+ public void testCreate() throws Exception {
+ User user = new User();
+ String before = user.getId();
+ assertFalse("User ID not empty on New", isNotEmpty(before));
+ user.setUsername("user_" + base);
+ user.setPassword("pass_" + base);
+ manager.create(user);
+ String after = user.getId();
+ assertTrue("User ID not assigned on Create", isNotEmpty(after));
+ }
+
+}