[jboss-cvs] jboss-seam/src/main/org/jboss/seam/framework ...
Gavin King
gavin.king at jboss.com
Thu Oct 5 20:22:38 EDT 2006
User: gavin
Date: 06/10/05 20:22:38
Modified: src/main/org/jboss/seam/framework ManagedEntity.java
ManagedHibernateEntity.java ManagedObject.java
Added: src/main/org/jboss/seam/framework
EntityNotFoundException.java
Log:
improvements
Revision Changes Path
1.6 +8 -5 jboss-seam/src/main/org/jboss/seam/framework/ManagedEntity.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ManagedEntity.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/framework/ManagedEntity.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- ManagedEntity.java 5 Oct 2006 20:41:02 -0000 1.5
+++ ManagedEntity.java 6 Oct 2006 00:22:38 -0000 1.6
@@ -1,12 +1,9 @@
package org.jboss.seam.framework;
-import static org.jboss.seam.InterceptionType.NEVER;
-
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.persistence.EntityManager;
-import org.jboss.seam.annotations.Intercept;
import org.jboss.seam.util.Reflections;
/**
@@ -18,7 +15,6 @@
* @author Gavin King
*
*/
- at Intercept(NEVER)
public class ManagedEntity<E> extends ManagedObject<E>
{
private EntityManager entityManager;
@@ -71,7 +67,14 @@
protected E loadInstance(Object id) throws Exception
{
- return getEntityManager().find( getObjectClass(), id );
+ E result = getEntityManager().find( getObjectClass(), id );
+ if (result==null) result = handleNotFound();
+ return result;
+ }
+
+ protected E handleNotFound()
+ {
+ throw new EntityNotFoundException();
}
//////////// TODO: copy/paste from ManagedHibernateEntity ///////////////////
1.5 +8 -1 jboss-seam/src/main/org/jboss/seam/framework/ManagedHibernateEntity.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ManagedHibernateEntity.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/framework/ManagedHibernateEntity.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- ManagedHibernateEntity.java 5 Oct 2006 20:41:02 -0000 1.4
+++ ManagedHibernateEntity.java 6 Oct 2006 00:22:38 -0000 1.5
@@ -79,7 +79,14 @@
protected E loadInstance(Serializable id)
{
- return (E) getSession().get( getObjectClass(), id );
+ E result = (E) getSession().get( getObjectClass(), id );
+ if (result==null) result = handleNotFound();
+ return result;
+ }
+
+ protected E handleNotFound()
+ {
+ throw new EntityNotFoundException();
}
////////////TODO: copy/paste from ManagedEntity ///////////////////
1.5 +1 -5 jboss-seam/src/main/org/jboss/seam/framework/ManagedObject.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ManagedObject.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/framework/ManagedObject.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- ManagedObject.java 5 Oct 2006 20:41:02 -0000 1.4
+++ ManagedObject.java 6 Oct 2006 00:22:38 -0000 1.5
@@ -1,12 +1,9 @@
package org.jboss.seam.framework;
-import static org.jboss.seam.InterceptionType.NEVER;
-
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Map;
-import org.jboss.seam.annotations.Intercept;
import org.jboss.seam.annotations.Transactional;
import org.jboss.seam.annotations.Unwrap;
import org.jboss.seam.core.Expressions;
@@ -19,7 +16,6 @@
* @author Gavin King
*
*/
- at Intercept(NEVER)
public class ManagedObject<E>
{
private Class<E> objectClass;
@@ -39,7 +35,7 @@
}
@Unwrap @Transactional
- public final E getInstance() throws Exception
+ public E getInstance() throws Exception
{
if (instance==null)
{
1.1 date: 2006/10/06 00:22:38; author: gavin; state: Exp;jboss-seam/src/main/org/jboss/seam/framework/EntityNotFoundException.java
Index: EntityNotFoundException.java
===================================================================
package org.jboss.seam.framework;
import org.jboss.seam.annotations.HttpError;
@HttpError(errorCode=404)
public class EntityNotFoundException extends RuntimeException
{
}
More information about the jboss-cvs-commits
mailing list