Hello

I encountered this problem that, after deserialization, a filed's value of
a child class will be covered by the field's vlaue of its parent class, if
the name of two fileds is the same.

for example:

class P{
String str="parent";
}
class C extends P{
String str="child;
}


After deserialization, C.str will be covered by P.str.

I find the cause is that the _fieldMap structure in JavaDeserializer.java
which is used to store all fields of the whole class hierarchy.  The
_fieldMap use field name as key. If there are two fields with same name in
the class hierarchy, only one will be kept in the map.

I tried to fix this by changing _fieldMap from Map<String,Field> to
Map<String,List<Field>> and it worked fine for simple test. but I'm not
sure if it will cause other problems.

Anybody else ever encountered this problem?
_______________________________________________
hessian-interest mailing list
hessian-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/hessian-interest

Reply via email to