Adam Heath wrote:
David E Jones wrote:
On Feb 24, 2010, at 1:41 PM, Adam Heath wrote:
Adam Heath wrote:
David E Jones wrote:
An update on this problem: It looks like it is another time zone issue, or in
other words another spot that doesn't manage time zones consistently (I won't
say correctly, because I'm not sure if that applies here... partly because I'm
not sure if I like the way that OFBiz handles time zones right now).
In any case, for demonstration purposes here is code that works:
<set field="fromDate" from-field="parameters.fromDate" type="Timestamp"/>
<entity-one entity-name="ProductFeatureAndAppl" value-field="productFeatureAndAppl"
auto-field-map="false">
<field-map field-name="productId" from-field="parameters.productId"/>
<field-map field-name="productFeatureId"
from-field="parameters.productFeatureId"/>
<field-map field-name="fromDate" from-field="fromDate"/>
</entity-one>
Here is code that does not work, but should:
<entity-one entity-name="ProductFeatureAndAppl" value-field="productFeatureAndAppl"
auto-field-map="false">
<field-map field-name="productId" from-field="parameters.productId"/>
<field-map field-name="productFeatureId"
from-field="parameters.productFeatureId"/>
<field-map field-name="fromDate" from-field="parameters.fromDate"/>
</entity-one>
At a guess, <field-map> is converting the value to a String, then
taking that and converting it back to the correct object, based on the
entity model definition. It shouldn't do this conversion at all.
Upon looking at entity/finder/*, I see lots of instances of FSE; this
means there is the same problem as I discovered previously, you can't
fetch anything but strings using FSE.
I have a feature implemented to fix that, but it's not quite correct,
as it doesn't handle nulls very well(might be the reponsibility of the
calling location to auto-convert null to "").
Yeah, exactly this. EntityFinderUtil.expandFieldMapToContact calls
FSE.expandString, when evaluating the fieldMap. That is the bug, pure
and simple.
As interesting as your ideas are about how things should work, that isn't the
problem here.
Um, converting the passed value to a string, then converting it back,
is not a problem?
Both of you have identified a problem. I don't think they are mutually
exclusive.