You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cayenne.apache.org by Andrus Adamchik <an...@objectstyle.org> on 2009/12/12 18:53:20 UTC

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

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, andrey@apache.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()
>     };
>
>     /**
>
>
>


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

Posted by Andrey Razumovsky <ra...@gmail.com>.
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 <an...@objectstyle.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, andrey@apache.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