Great stuff!

wouldn't that be a good topic for the XW/S 2.2 branches discussed lately?

Musachy Barroso schrieb:
> Not yet, the MVEL stuff is pretty much a draft at this moment. We
> could roll this in 2 steps, first stop using OGNL for parameter
> binding, and then, plugin MVEL. After #1 is achieve, #2 should be
> easy. The good thing is that the new parameter binding implementation
> can be turned on/off with a constant, so we can get people to test it
> for a while with no risk. I will commit it sometime this week.
> 
> musachy
> 
> On Tue, Apr 21, 2009 at 5:56 PM, Mathias Bogaert <m.boga...@memenco.com> 
> wrote:
>> Musachy,
>>
>> Great stuff! Is the new implementation using ScriptEngine (JSR 223) in
>> some way? Both OGNL and MVEL have a ScriptEngineFactory
>> implementation, and many other scripting languages do, maximal
>> decoupling.
>>
>> Regards,
>>
>> Mathias
>>
>> On Sun, Apr 19, 2009 at 11:28 PM, Musachy Barroso <musa...@gmail.com> wrote:
>>> Every attempt to replace OGNL by another EL library hits a big wall
>>> because of the tight integration between xwork and OGNL. The biggest
>>> problem comes from the "magical" instantiation of  null objects in
>>> expressions, and type conversion (applied together). This magic
>>> instantiation is only used during parameter binding.
>>>
>>> That being said, I am toying with a new implementation of the
>>> parameter binding process, which does not use OGNL and is very simple.
>>> It doesn't support any fancy expressions, besides nested and indexed
>>> properties. The null handling (instantiation) and type conversion work
>>> the same (existing classes are used). The advantages of using this
>>> implementation are:
>>>
>>> # decoupling. We don't depend on OGNL for parameter binding, so to
>>> plugin in a new EL we just need to provide a new ValueStack (with its
>>> helper classes) (then I can finally use my MVEL implementation..woot!)
>>> # security. We don't need to worry about parameter names being
>>> evaluated as evil expression ("System.exit(1)"="die die!")
>>> # performance. Parameter binding will be faster (no big deal really)
>>>
>>> I would say the main reason to do something like this, is that it give
>>> us the possibility of getting rid of OGNL eventually, which is not
>>> possible now, and as far as I know, OGNL is not maintained anymore.
>>>
>>> thoughts?
>>>
>>> musachy
>>> --
>>> "Hey you! Would you help me to carry the stone?" Pink Floyd
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org
>>> For additional commands, e-mail: dev-h...@struts.apache.org
>>>
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org
>> For additional commands, e-mail: dev-h...@struts.apache.org
>>
>>
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org
For additional commands, e-mail: dev-h...@struts.apache.org

Reply via email to