You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2010/10/26 22:17:13 UTC

svn commit: r1027723 - /openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/Instance.java

Author: dblevins
Date: Tue Oct 26 20:17:13 2010
New Revision: 1027723

URL: http://svn.apache.org/viewvc?rev=1027723&view=rev
Log:
Merge interceptor serialization fix

Modified:
    openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/Instance.java

Modified: openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/Instance.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/Instance.java?rev=1027723&r1=1027722&r2=1027723&view=diff
==============================================================================
--- openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/Instance.java (original)
+++ openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/Instance.java Tue Oct 26 20:17:13 2010
@@ -143,19 +143,15 @@ public class Instance implements Seriali
         public Serialization(Instance i) {
             deploymentId = i.deploymentInfo.getDeploymentID();
             primaryKey = i.primaryKey;
-            if (i.bean instanceof Serializable) {
-                bean = i.bean;
-            } else {
-                bean = new PojoSerialization(i.bean);
-            }
+            bean = toSerializable(i.bean);
 
-            interceptors = new HashMap(i.interceptors.size());
+            interceptors = new HashMap<String, Object>(i.interceptors.size());
             for (Map.Entry<String, Object> e : i.interceptors.entrySet()) {
                 if (e.getValue() == i.bean) {
                     // need to use the same wrapped reference or well get two copies.
                     interceptors.put(e.getKey(), bean);
-                } else if (!(e.getValue() instanceof Serializable)) {
-                    interceptors.put(e.getKey(), new PojoSerialization(e.getValue()));
+                } else {
+                    interceptors.put(e.getKey(), toSerializable(e.getValue()));
                 }
             }
 
@@ -168,6 +164,14 @@ public class Instance implements Seriali
             }
         }
 
+        private static Object toSerializable(Object obj) {
+            if (obj instanceof Serializable) {
+                return obj;
+            } else {
+                return new PojoSerialization(obj);
+            }
+        }
+
         protected Object readResolve() throws ObjectStreamException {
             // Anything wrapped with PojoSerialization will have been automatically
             // unwrapped via it's own readResolve so passing in the raw bean