CDV ❯ Server generates wrong reference type for physical Managed Object for java.lang.Integer , Longs etc.
-
Bug
-
Status: Closed
-
2 Major
-
Resolution: Fixed
-
DSO:L1
-
-
teck
-
Reporter: ssubbiah
-
February 27, 2007
-
0
-
Watchers: 1
-
July 27, 2012
-
March 04, 2007
Description
class Pojo { Integer i; }
When this object gets shared for the first time, if “i” contains some valid Integer, then the server generates a class that can hold an “int” for i.
But later if ever the reference is set to null, then that change cannot be applied in the server since it generated the type as “int”
This is true for other primitive types too.
Comments
Saravanan Subbiah 2007-02-27
Fiona OShea 2007-02-28
Fix in 2.2.1 and merge to trunk
I think we should be able to fix it by changing TCFieldFactory method from
public static boolean isReferenceClass(Class type) { return !literalValues.isLiteral(type.getName()); }
to something like this
public static boolean isReferenceClass(Class type) { return !literalValues.isJAVALiteral(type.getName()); }
thought it might increase the server memory foot print for primitive values (only the java.lan.* ones though)