We have just started to make use of ProductionRun in our project and we were
having a problem in the create because the ProductionRunServices (around
line 274) makes a call to "createWorkEffort" using a "quantityToProduce"
that is a BigDecimal.  The field on the WorkEffort entity is actually a
Double, so in our solution it was causing a "bad type error" and failing.

I jumped to trunk to try to figure out why it was working in stock Ofbiz. 
After some digging, it turns out that the conversion enhancements now
(appear to) silently do this conversion, resulting in a context that
contains that field as a Double.

This happens because the ServiceDispatcher's runSync method calls
"checkAuth" which (if the user can call the service) calls
ModelService.makeValid which ultimately calls ObjectType.simpleTypeConvert
that handles the BigDecimal -> Double conversion.

Is this the intended behavior?  To be honest, it seems to me that the
complaint that the parameter was not the proper data type was more
desirable.  I understand that when we are handling a postback, values need
to be converted from String to their desired types; but if I am making a
call in our back-end to another service I would think I should be forced to
adhere to that service definition's signature.
-- 
View this message in context: 
http://n4.nabble.com/Magically-converted-types-from-simpleTypeConvert-tp1838891p1838891.html
Sent from the OFBiz - Dev mailing list archive at Nabble.com.

Reply via email to