Author: husted
Date: Mon Nov 26 14:04:05 2007
New Revision: 598449

URL: http://svn.apache.org/viewvc?rev=598449&view=rev
Log:
WW-1399 A few tweaks to get the web application persistence working. The JPA 
support seems honky-dory now :)

Removed:
    struts/sandbox/trunk/jpa-mailreader/src/test/java/entity/user/
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/Update.java
    
struts/sandbox/trunk/jpa-mailreader/src/main/java/action/user/subscription/Index.java
    struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityAware.java
    struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityHelper.java
    
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityInterceptor.java
    
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolHelperImpl.java
    
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/subscription/SubscriptionHelper.java
    
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/subscription/SubscriptionHelperImpl.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/main/java/struts.xml
    struts/sandbox/trunk/jpa-mailreader/src/main/webapp/index.html

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=598449&r1=598448&r2=598449&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 
Mon Nov 26 14:04:05 2007
@@ -29,6 +29,7 @@
                        <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.dialect" 
value="org.hibernate.dialect.DerbyDialect"/>
                        <property name = "hibernate.hbm2ddl.auto" value = 
"update"/>
                </properties>
        </persistence-unit>

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=598449&r1=598448&r2=598449&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 Mon Nov 
26 14:04:05 2007
@@ -20,12 +20,16 @@
 
 import java.util.HashMap;
 import java.util.Map;
+
+import javax.persistence.EntityManager;
+
 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;
 import org.apache.struts2.config.ParentPackage;
+import entity.EntityAware;
 
 /**
  * <p>
@@ -45,7 +49,7 @@
         @TypeConversion(type = ConversionType.APPLICATION, key = 
"entity.user.User", converter = "entity.user.UserTypeConverter") })
 @SuppressWarnings("unchecked")
 @ParentPackage("entity-default")
-public class Index extends ActionSupport implements SessionAware {
+public class Index extends ActionSupport implements EntityAware, SessionAware {
 
     // ---- STATICS ----
 
@@ -105,28 +109,53 @@
         getSession().put(PROFILE_KEY, value);
     }
 
+    private String input = CREATE;
+
     /**
      * <p>
-     * Record the CRUD operation in progress.
+     * Access the CRUD operation token.
      * </p>
      */
-    private String input = CREATE;
-
     public String getInput() {
         return input;
     }
 
+    /**
+     * <p>
+     * Store the CRUD operation in token.
+     * </p>
+     */
     public void setInput(String value) {
         input = value;
     }
 
+    private EntityManager entityManager;
+
     /**
      * <p>
-     * Provide the session context, or its proxy.
+     * Store the session context, or its proxy.
      * </p>
      */
+    public void setEntityManager(EntityManager value) {
+        entityManager = value;
+    }
+
+    /**
+     * <p>
+     * Access the EntityManager for this thread.
+     * </p>
+     */
+    protected EntityManager getManager() {
+        return entityManager;
+    }
+
     private Map session;
 
+    /**
+     * <p>
+     * Store the session context, or its proxy.
+     * </p>
+     */
     public void setSession(Map value) {
         session = value;
         Object profile = getProfile();
@@ -135,6 +164,11 @@
         }
     }
 
+    /**
+     * <p>
+     * Access the session context, or its proxy.
+     * </p>
+     */
     protected Map getSession() {
         return session;
     }

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=598449&r1=598448&r2=598449&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 
Mon Nov 26 14:04:05 2007
@@ -18,10 +18,13 @@
  */
 package action.user;
 
+import org.apache.struts2.config.ParentPackage;
+
 import entity.user.User;
 import entity.user.UserHelperImpl;
 import entity.user.UserHelper;
 
[EMAIL PROTECTED]("entity-default")
 public class Index extends action.Index {
 
     // ---- STATICS ----
@@ -114,6 +117,22 @@
         } else {
             addActionError(getText(ERROR_CREDENTIALS_MISMATCH));
         }
+    }
+
+    protected boolean validatePasswordChange() {
+        String newPassword = getUser().getPassword1();
+        boolean changing = ((null != newPassword) && (newPassword.length() > 
0));
+        if (changing) {
+            String confirmPassword = getUser().getPassword2();
+            boolean matches = ((null != confirmPassword) && (confirmPassword
+                    .equals(newPassword)));
+            if (matches) {
+                getUser().setPassword(newPassword);
+            } else {
+                addActionError(getText(ERROR_PASSWORD_MATCH));
+            }
+        }
+        return !hasErrors();
     }
 
     /**

Modified: 
struts/sandbox/trunk/jpa-mailreader/src/main/java/action/user/Update.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/action/user/Update.java?rev=598449&r1=598448&r2=598449&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/action/user/Update.java 
(original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/action/user/Update.java 
Mon Nov 26 14:04:05 2007
@@ -46,19 +46,8 @@
         if (!UPDATE.equals(getInput()))
             return INPUT;
 
-        String newPassword = getUser().getPassword1();
-        boolean changing = ((null != newPassword) && (newPassword.length() > 
0));
-        if (changing) {
-            String confirmPassword = getUser().getPassword2();
-            boolean matches = ((null != confirmPassword) && (confirmPassword
-                    .equals(newPassword)));
-            if (matches) {
-                getUser().setPassword(newPassword);
-            } else {
-                addActionError(getText(ERROR_PASSWORD_MATCH));
-                return INPUT;
-            }
-        }
+        if (!validatePasswordChange())
+            return INPUT;
 
         update();
         return (hasErrors()) ? INPUT : SUCCESS;

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=598449&r1=598448&r2=598449&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
 Mon Nov 26 14:04:05 2007
@@ -20,6 +20,7 @@
 
 import java.util.Map;
 
+import org.apache.struts2.config.ParentPackage;
 import org.apache.struts2.config.Result;
 import org.apache.struts2.config.Results;
 import org.apache.struts2.dispatcher.ServletActionRedirectResult;
@@ -48,6 +49,7 @@
                 Index.NAMESPACE, Index.NS_USER, Index.USER,
                 Index.SUBSCRIPTION_USER_USERNAME }) })
 @Validation()
[EMAIL PROTECTED]("entity-default")
 public class Index extends action.user.Index implements Preparable {
 
     protected static final String ERROR_HOST_UNIQUE = "error.host.unique";

Modified: 
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityAware.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityAware.java?rev=598449&r1=598448&r2=598449&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityAware.java 
(original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityAware.java 
Mon Nov 26 14:04:05 2007
@@ -36,5 +36,5 @@
      * @param value
      *            EntityManager for this thead
      */
-    void setManager(EntityManager value);
+    void setEntityManager(EntityManager value);
 }

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=598449&r1=598448&r2=598449&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 
Mon Nov 26 14:04:05 2007
@@ -44,15 +44,17 @@
  */
 public class EntityHelper {
 
-    public void createEntity(Object value) throws PersistenceException {
+    public Object createEntity(Object value) throws PersistenceException {
         EntityManager manager = EntityManagerHelper.getEntityManager();
         manager.persist(value);
+        return value;
     }
 
-    public void deleteEntity(Object value) throws PersistenceException {
+    public Object deleteEntity(Object value) throws PersistenceException {
         EntityManager manager = EntityManagerHelper.getEntityManager();
         manager.merge(value);
         manager.remove(value);
+        return value;
     }
 
     @SuppressWarnings("unchecked")
@@ -90,15 +92,16 @@
         EntityManager manager = EntityManagerHelper.getEntityManager();
         Object result = null;
         try {
-            manager.find(entity, id);
+            result = manager.find(entity, id);
         } catch (NoResultException e) {
             result = null;
         }
         return result;
     }
 
-    public void updateEntity(Object value) throws PersistenceException {
+    public Object updateEntity(Object value) throws PersistenceException {
         EntityManager manager = EntityManagerHelper.getEntityManager();
         manager.merge(value);
+        return value;
     }
 }

Modified: 
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityInterceptor.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityInterceptor.java?rev=598449&r1=598448&r2=598449&view=diff
==============================================================================
--- 
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityInterceptor.java 
(original)
+++ 
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/EntityInterceptor.java 
Mon Nov 26 14:04:05 2007
@@ -48,7 +48,7 @@
         EntityManager manager = EntityManagerHelper.getEntityManager();
         EntityManagerHelper.beginTransaction();
         myAction = (EntityAware) invocation.getAction();
-        myAction.setManager(manager);
+        myAction.setEntityManager(manager);
         try {
             result = invocation.invoke();
             EntityManagerHelper.commit();
@@ -60,6 +60,7 @@
             } catch (Throwable t) {
                 EntityManagerHelper.logError("Exception during rollback", t);
             }
+            throw e;
         } finally {
             EntityManagerHelper.closeEntityManager();
         }

Modified: 
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolHelperImpl.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolHelperImpl.java?rev=598449&r1=598448&r2=598449&view=diff
==============================================================================
--- 
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolHelperImpl.java
 (original)
+++ 
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/protocol/ProtocolHelperImpl.java
 Mon Nov 26 14:04:05 2007
@@ -35,7 +35,7 @@
  * Default JPA implementation of <code>ProtocolHelper</code>.
  * </p>
  */
[EMAIL PROTECTED](serviceName = "protocol", endpointInterface = 
"entity.protocol.ProtocolHelper")
[EMAIL PROTECTED](serviceName = "protocol.soap", endpointInterface = 
"entity.protocol.ProtocolHelper")
 public class ProtocolHelperImpl extends EntityHelper implements ProtocolHelper 
{
 
     public int count() throws PersistenceException {

Modified: 
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/subscription/SubscriptionHelper.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/subscription/SubscriptionHelper.java?rev=598449&r1=598448&r2=598449&view=diff
==============================================================================
--- 
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/subscription/SubscriptionHelper.java
 (original)
+++ 
struts/sandbox/trunk/jpa-mailreader/src/main/java/entity/subscription/SubscriptionHelper.java
 Mon Nov 26 14:04:05 2007
@@ -57,7 +57,7 @@
      * @param value
      *            Subscription to insert
      */
-    void create(Subscription value);
+    Subscription create(Subscription value);
 
     /**
      * <p>
@@ -68,7 +68,7 @@
      * @param value
      *            Subscription instance to delete
      */
-    void delete(Subscription value) throws Exception;
+    Subscription delete(Subscription value) throws Exception;
 
     /**
      * <p>
@@ -101,6 +101,6 @@
      * @param user
      *            Copy of Subscription instance to match and update
      */
-    void update(Subscription value) throws Exception;
+    Subscription update(Subscription value) throws Exception;
 
 }

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=598449&r1=598448&r2=598449&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
 Mon Nov 26 14:04:05 2007
@@ -30,7 +30,7 @@
  * Default JPA implementation of <code>UserHelper</code>.
  * </p>
  */
[EMAIL PROTECTED](serviceName = "subscription", endpointInterface = 
"entity.subscription.SubscriptionHelper")
[EMAIL PROTECTED](serviceName = "subscription.soap", endpointInterface = 
"entity.subscription.SubscriptionHelper")
 public class SubscriptionHelperImpl extends EntityHelper implements
         SubscriptionHelper {
 
@@ -40,15 +40,15 @@
         return result;
     }
 
-    public void create(Subscription value) {
-        createEntity(value);
+    public Subscription create(Subscription value) {
+        return (Subscription) createEntity(value);
     }
 
-    public void delete(Subscription value) throws Exception {
+    public Subscription delete(Subscription value) throws Exception {
         EntityManager manager = EntityManagerHelper.getEntityManager();
         manager.merge(value);
         value.getUser().removeSubscription(value);
-        manager.remove(value);
+        return (Subscription) deleteEntity(value);
     }
 
     public Subscription find(String value) {
@@ -63,7 +63,7 @@
         return result;
     }
 
-    public void update(Subscription value) throws Exception {
-        updateEntity(value);
+    public Subscription update(Subscription value) throws Exception {
+        return (Subscription) updateEntity(value);
     }
 }

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=598449&r1=598448&r2=598449&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 
Mon Nov 26 14:04:05 2007
@@ -56,7 +56,7 @@
      * @param value
      *            User to insert
      */
-    void create(User value);
+    User create(User value);
 
     /**
      * <p>
@@ -66,7 +66,7 @@
      * @param value
      *            User instance to delete
      */
-    void delete(User value) throws Exception;
+    User delete(User value) throws Exception;
 
     /**
      * <p>
@@ -98,6 +98,6 @@
      * @param user
      *            Copy of User instance to match and update
      */
-    void update(User value) throws Exception;
+    User update(User value) throws Exception;
 
 }

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=598449&r1=598448&r2=598449&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
 Mon Nov 26 14:04:05 2007
@@ -27,7 +27,7 @@
  * Default JPA implementation of <code>UserHelper</code>.
  * </p>
  */
[EMAIL PROTECTED](serviceName = "user", endpointInterface = 
"entity.user.UserHelper")
[EMAIL PROTECTED](serviceName = "user.soap", endpointInterface = 
"entity.user.UserHelper")
 public class UserHelperImpl extends EntityHelper implements UserHelper {
 
     public int count() throws PersistenceException {
@@ -36,12 +36,12 @@
         return result;
     }
 
-    public void create(User value) throws PersistenceException {
-        createEntity(value);
+    public User create(User value) throws PersistenceException {
+        return (User) createEntity(value);
     }
 
-    public void delete(User value) throws PersistenceException {
-        deleteEntity(value);
+    public User delete(User value) throws PersistenceException {
+        return (User) deleteEntity(value);
     }
 
     public User find(String value) {
@@ -54,7 +54,7 @@
         return result;
     }
 
-    public void update(User value) throws PersistenceException {
-        updateEntity(value);
+    public User update(User value) throws PersistenceException {
+        return (User) updateEntity(value);
     }
 }

Modified: struts/sandbox/trunk/jpa-mailreader/src/main/java/struts.xml
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/java/struts.xml?rev=598449&r1=598448&r2=598449&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/java/struts.xml (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/java/struts.xml Mon Nov 26 
14:04:05 2007
@@ -24,8 +24,13 @@
        </global-results>
 
        <global-exception-mappings>
-               <exception-mapping exception="java.lang.Exception" 
result="exception"/>
+               <exception-mapping exception="java.lang.Throwable" 
result="exception"/>
        </global-exception-mappings>
+       
+       <action name="index.html">
+               <result type="redirect-action">index</result>
+       </action>
+       
        </package>        
 
        <!-- include file="" / -->

Modified: struts/sandbox/trunk/jpa-mailreader/src/main/webapp/index.html
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/jpa-mailreader/src/main/webapp/index.html?rev=598449&r1=598448&r2=598449&view=diff
==============================================================================
--- struts/sandbox/trunk/jpa-mailreader/src/main/webapp/index.html (original)
+++ struts/sandbox/trunk/jpa-mailreader/src/main/webapp/index.html Mon Nov 26 
14:04:05 2007
@@ -1,10 +1,9 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <html>
-<head>
-    <META HTTP-EQUIV="Refresh" CONTENT="0;URL=index.do">
-</head>
-
-<body>
-<p>Loading ...</p>
-</body>
+       <head>
+       <META HTTP-EQUIV="Refresh" CONTENT="0;URL=index.do">
+       </head>
+       <body>
+               <p>Loading ...</p>
+       </body>
 </html>


Reply via email to