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