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>