Re: svn commit: r889913 - in /cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian: ./ service/

From: Andrey Razumovsky (razumovsky.andre..mail.com)
Date: Sat Dec 12 2009 - 13:33:35 EST

  • Next message: Apache Hudson Server: "Build failed in Hudson: Cayenne-trunk » sqlite,JDK 1.6 (latest) #98"

    Yeah, Hessian (e.g. 3.1.6 ) correctly does it with its own EnumSerializer.
    Our tests confirm that - e.g. when sending query, QueryCacheStrategy enum
    value is sent as well. Actually this is how I discovered that we have custom
    EnumSerializers - there's bug in Hessian 4 that breaks user serialized
    transport. After I removed custom EnumSerializers, which do not have any
    Cayenne specific anyways, those tests began to work (i cannot say that of
    other serializers we need, like DataRowSerializer, though). Hope Caucho guys
    will be friendly - two lines need to be added to Hessian code to fix the
    problem

    2009/12/12 Andrus Adamchik <andru..bjectstyle.org>

    > By now I don't remember what the deal was with enum serialization when this
    > code was written, but we were on java 1.5 as well.. Andrey, do you know for
    > sure that the Hessian version we have now in the POM is serializing the
    > enums correctly on its own?
    >
    > Andrus
    >
    >
    > On Dec 12, 2009, at 5:17 AM, andre..pache.org wrote:
    >
    > Author: andrey
    >> Date: Sat Dec 12 10:17:42 2009
    >> New Revision: 889913
    >>
    >> URL: http://svn.apache.org/viewvc?rev=889913&view=rev
    >> Log:
    >> CAY-1331 hessian upgrade stops rop. Removing custom enum serialization..
    >> we're on jdk5+
    >>
    >> Removed:
    >>
    >> cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/EnumDeserializer.java
    >>
    >> cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/EnumSerializer.java
    >>
    >> cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/EnumSerializerFactory.java
    >>
    >> cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/EnumSerializerProxy.java
    >> Modified:
    >>
    >> cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/HessianConnection.java
    >>
    >> cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/service/HessianService.java
    >>
    >> Modified:
    >> cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/HessianConnection.java
    >> URL:
    >> http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/HessianConnection.java?rev=889913&r1=889912&r2=889913&view=diff
    >>
    >> ==============================================================================
    >> ---
    >> cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/HessianConnection.java
    >> (original)
    >> +++
    >> cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/HessianConnection.java
    >> Sat Dec 12 10:17:42 2009
    >>.. -46,7 +46,7 @@
    >> private static Log logger = LogFactory.getLog(HessianConnection.class);
    >>
    >> public static final String[] CLIENT_SERIALIZER_FACTORIES = new String[]
    >> {
    >> - ClientSerializerFactory.class.getName(),
    >> EnumSerializerProxy.class.getName()
    >> + ClientSerializerFactory.class.getName()
    >> };
    >>
    >> protected String url;
    >>
    >> Modified:
    >> cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/service/HessianService.java
    >> URL:
    >> http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/service/HessianService.java?rev=889913&r1=889912&r2=889913&view=diff
    >>
    >> ==============================================================================
    >> ---
    >> cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/service/HessianService.java
    >> (original)
    >> +++
    >> cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/hessian/service/HessianService.java
    >> Sat Dec 12 10:17:42 2009
    >>.. -28,7 +28,6 @@
    >> import javax.servlet.http.HttpServletRequest;
    >> import javax.servlet.http.HttpSession;
    >>
    >> -import org.apache.cayenne.remote.hessian.EnumSerializerProxy;
    >> import org.apache.cayenne.remote.hessian.HessianConfig;
    >> import org.apache.cayenne.remote.service.HttpRemoteService;
    >>
    >>.. -47,7 +46,7 @@
    >> public class HessianService extends HttpRemoteService implements Service {
    >>
    >> public static final String[] SERVER_SERIALIZER_FACTORIES = new String[]
    >> {
    >> - EnumSerializerProxy.class.getName(),
    >> ServerSerializerFactory.class.getName()
    >> + ServerSerializerFactory.class.getName()
    >> };
    >>
    >> /**
    >>
    >>
    >>
    >>
    >

    -- 
    Andrey
    



    This archive was generated by hypermail 2.0.0 : Sat Dec 12 2009 - 13:34:25 EST