Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/proxy
In directory sc8-pr-cvs1:/tmp/cvs-serv28503/src/net/sf/hibernate/proxy
Modified Files:
SerializableProxy.java
Log Message:
fixed proxy deserialization
Index: SerializableProxy.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/proxy/SerializableProxy.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** SerializableProxy.java 12 Jan 2003 07:07:49 -0000 1.4
--- SerializableProxy.java 12 Jan 2003 09:02:58 -0000 1.5
***************
*** 7,12 ****
import org.apache.commons.logging.LogFactory;
- import net.sf.hibernate.util.ReflectHelper;
-
/**
* Serializable placeholder for <tt>CGLIB</tt> proxies
--- 7,10 ----
***************
*** 14,17 ****
--- 12,22 ----
public final class SerializableProxy implements Serializable {
+
+ private Class persistentClass;
+ private Class[] interfaces;
+ private Serializable id;
+ private Class getIdentifierMethodClass;
+ private String getIdentifierMethodName;
+
public SerializableProxy() {}
***************
*** 20,31 ****
this.interfaces = interfaces;
this.id = id;
! this.getIdentifierMethod = (getIdentifierMethod==null) ? null : getIdentifierMethod.getName();
}
!
! private Class persistentClass;
! private Class[] interfaces;
! private Serializable id;
! private String getIdentifierMethod;
!
Object readResolve() {
try {
--- 25,32 ----
this.interfaces = interfaces;
this.id = id;
! getIdentifierMethodClass = getIdentifierMethod.getDeclaringClass();
! getIdentifierMethodName = getIdentifierMethod.getName();
}
!
Object readResolve() {
try {
***************
*** 33,37 ****
persistentClass,
interfaces,
! (getIdentifierMethod==null) ? null : ReflectHelper.getGetter(persistentClass, getIdentifierMethod).getMethod(),
id,
null
--- 34,38 ----
persistentClass,
interfaces,
! getIdentifierMethodClass.getDeclaredMethod(getIdentifierMethodName, null),
id,
null
|