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));
+    }
+
+}