FIXED! findByAnd + freemarker

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

FIXED! findByAnd + freemarker

Adam Heath-2
As of 1341094, freemarker+delegator.findByAnd should now be fixed.
Sorry for having it broke for the past week.

There could be *other* things now broken.  Here are the 2 things that
have changed to actually fix this.

* When calling overloaded methods with freemarker, if there is a null
passed, it would not find the correct method.  Basically,
${object.methodName(p1, p2, null, p4)} would try to find a method that
took "Object.class" for p3.  This would fail in many places.  If there
was a method variant that took "Object...", then 2.3.19 would take
that varargs method as a fallback.  Again, that was wrong too.  This
was an upstream bug, which I patched and added a custom-compiled
freemarker version.

* SimpleMethod and Minilang were *both* adding a
"null"=GenericEntity.NullField to the context.  This has been removed,
with no deprecation or fallback.  It was just plain *wrong*.
Expression evaluation in other places were *not* setting "null", so
there is still an inconsistent in freemarker evaluation, but I haven't
fixed that particular issue.
Reply | Threaded
Open this post in threaded view
|

Re: FIXED! findByAnd + freemarker

Ankit Jain-2
Thanks Adam. :)

Regards,
Ankit Jain



On Mon, May 21, 2012 at 9:58 PM, Adam Heath <[hidden email]> wrote:

> As of 1341094, freemarker+delegator.findByAnd should now be fixed.
> Sorry for having it broke for the past week.
>
> There could be *other* things now broken.  Here are the 2 things that
> have changed to actually fix this.
>
> * When calling overloaded methods with freemarker, if there is a null
> passed, it would not find the correct method.  Basically,
> ${object.methodName(p1, p2, null, p4)} would try to find a method that
> took "Object.class" for p3.  This would fail in many places.  If there
> was a method variant that took "Object...", then 2.3.19 would take
> that varargs method as a fallback.  Again, that was wrong too.  This
> was an upstream bug, which I patched and added a custom-compiled
> freemarker version.
>
> * SimpleMethod and Minilang were *both* adding a
> "null"=GenericEntity.NullField to the context.  This has been removed,
> with no deprecation or fallback.  It was just plain *wrong*.
> Expression evaluation in other places were *not* setting "null", so
> there is still an inconsistent in freemarker evaluation, but I haven't
> fixed that particular issue.