5.5.x operator expression does not work well when the model has non-flat properties

If the type from pojo model is not flat, there are problems for user to use the properties. 
ie. A model User has a property friend and friend has a property monthly income, user needs to edit rules like : 
when
       exist User with 
               friend
                        monthly income > 3000
then
      do some action

It is OK when the user create this rule, but when user closes it and reopens it, the ">" operator and the number 3000 will be ignored by guvnor

The same problem occurs for the "expression editor"

The problem is due to the code for figuring out what type the properties is. 
When it failed to get the information, it will be set to default, which does not have the ability of comparison. Thus no comparison operators are available and the data will also be missing.