[jboss-cvs] jboss-seam/src/main/org/jboss/seam/interceptors ...
Gavin King
gavin.king at jboss.com
Thu Sep 28 18:30:15 EDT 2006
User: gavin
Date: 06/09/28 18:30:15
Modified: src/main/org/jboss/seam/interceptors
ManagedEntityIdentityInterceptor.java
Log:
fix bug with outjection of managed entities
Revision Changes Path
1.5 +7 -1 jboss-seam/src/main/org/jboss/seam/interceptors/ManagedEntityIdentityInterceptor.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ManagedEntityIdentityInterceptor.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/interceptors/ManagedEntityIdentityInterceptor.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- ManagedEntityIdentityInterceptor.java 27 Sep 2006 23:14:42 -0000 1.4
+++ ManagedEntityIdentityInterceptor.java 28 Sep 2006 22:30:15 -0000 1.5
@@ -14,6 +14,8 @@
import org.hibernate.Session;
import org.jboss.seam.Component;
import org.jboss.seam.Seam;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Interceptor;
import org.jboss.seam.core.TouchedContexts;
import org.jboss.seam.util.Persistence;
import org.jboss.seam.util.Reflections;
@@ -27,6 +29,7 @@
* @author Gavin King
*
*/
+ at Interceptor(around=BijectionInterceptor.class)
public class ManagedEntityIdentityInterceptor extends AbstractInterceptor
{
@@ -88,7 +91,10 @@
Field[] fields = beanClass.getDeclaredFields();
for (Field field: fields)
{
- if ( !Modifier.isTransient( field.getModifiers() ) && !Modifier.isStatic( field.getModifiers() ) )
+ boolean ignoreField = Modifier.isTransient( field.getModifiers() ) ||
+ Modifier.isStatic( field.getModifiers() )
+ || field.isAnnotationPresent(In.class);
+ if ( !ignoreField )
{
if ( !field.isAccessible() ) field.setAccessible(true);
Object value = Reflections.get(field, bean);
More information about the jboss-cvs-commits
mailing list