--- Alexey Solofnenko <[EMAIL PROTECTED]> wrote: > I think we need to restore old functionality, > because it was done after > 1.7 was released. Or it can be made smarter by > checking if setValue() > was called and use that value instead of return > value. Again we need to > decide if we want 100% backward compatibility or > slightly less.
I guess at this point I'd just roll it back until we can come up with a solution that pleases everyone. -Matt > > - Alexey. > > Matt Benson wrote: > > --- Alexey Solofnenko <[EMAIL PROTECTED]> wrote: > > > > > >> Sorry about that. Personally I would prefer > >> "expression" attribute to > >> contain an expression itself - it is supposed to > be > >> simple. > >> > >> > > > > That still doesn't address the situation I > mentioned, > > whereby some arbitrary scripty stuff is done to > > calculate a final result, then return it. It > seems > > that experience has shown we shouldn't > discriminate > > between an attribute and nested text. Maybe a > > different attribute name would better express the > > concept I am after. > > > > -Matt > > > > > >> - Alexey. > >> > >> On 7/31/07, Matt Benson <[EMAIL PROTECTED]> > >> wrote: > >> > >>> --- Alexey Solofnenko <[EMAIL PROTECTED]> wrote: > >>> > >>> > >>>> It is just a thought - should ScriptFilter, > >>>> ScriptMapper, ... also return a > >>>> value instead of setting it? > >>>> > >>>> > >>> mmmm.... I don't know! :) In hindsight maybe > it > >>> would have been better to leave this can of > worms > >>> unmolested rather than deal with these concepts > of > >>> consistency... I suppose that in either of > those > >>> cases it might well be reasonable to handle a > >>> > >> return > >> > >>> value. But with good old Python, what--you > can't > >>> execute arbitrary junk, return a value, and > >>> > >> consider > >> > >>> that an evaluation? Jython seems to be a pain > >>> overall... seems like every time I have to deal > >>> > >> with > >> > >>> it there's a headache involved. If we do extend > >>> > >> this > >> > >>> concept, I suppose we could pull up "expression" > >>> > >> to > >> > >>> AbstractScriptComponent, and have evaluate() > >>> > >> delegate > >> > >>> to execute() and return null when expression == > >>> false... then any type that wanted to support a > >>> > >> return > >> > >>> value could just switch to calling evaluate and > >>> > >> prefer > >> > >>> a return value to whatever its "legacy" > mechanisms > >>> were. How does this sound? > >>> > >>> -Matt > >>> > >>> > >>>> - Alexey. > >>>> > >>>> On 7/31/07, Matt Benson <[EMAIL PROTECTED]> > >>>> wrote: > >>>> > >>>>> --- Alexey Solofnenko <[EMAIL PROTECTED]> > >>>>> > >> wrote: > >> > >>>>>> Old code was executing self.setValue() and > >>>>>> > >> the > >> > >>>>>> current behaviour breaks > >>>>>> backward compatibility. I have tried old > >>>>>> ScriptCondition.eval() and it fixed > >>>>>> the problem. I think we should add > >>>>>> > >> "expression" > >> > >>>>>> attribute to > >>>>>> AbstractScriptComponent and change it to use > >>>>>> > >> it > >> > >>>> with > >>>> > >>>>>> evaluateScript(), > >>>>>> otherwise nested text will be executed with > >>>>>> > >> old > >> > >>>>>> executeScript() call. > >>>>>> > >>>>> Thanks for running this down, Alexey. I see > >>>>> > >> where > >> > >>>>> you're coming from with the "expression" > >>>>> > >>>> attribute, > >>>> > >>>>> though I'm not sure I agree it should live all > >>>>> > >> the > >> > >>>> way > >>>> > >>>>> up in AbstractScriptComponent, because we > >>>>> > >> can't > >> > >>>> use it > >>>> > >>>>> to automatically drive anything. I am going > >>>>> > >> to > >> > >>>> add it > >>>> > >>>>> to ScriptCondition directly; if we change our > >>>>> > >>>> minds > >>>> > >>>>> later pulling it up shouldn't cause any > >>>>> > >> problems. > >> > >>>>> -Matt > >>>>> > >>>>> > >>>>>> - Alexey. > >>>>>> > >>>>>> On 7/31/07, Peter Reilly > >>>>>> <[EMAIL PROTECTED]> wrote: > >>>>>> > >>>>>>> For BSF there are two methods to run a > >>>>>>> > >> script: > >> > >>>>>>> eval and exec, > >>>>>>> > >>>>>>> In ant 1.6.* the only method supported was > >>>>>>> > >>>> exec. > >>>> > >>>>>> Hence all > >>>>>> > >>>>>>> the <script*> types called methods on self > >>>>>>> > >> to > >> > >>>> set > >>>> > >>>>>> the return > >>>>>> > >>>>>>> value. > >>>>>>> > >>>>>>> For ant 1.7.0, I modified the scripting > >>>>>>> > >> code > >> > >>>> to > >>>> > >>>>>> allow access to > >>>>>> > >>>>>>> eval and exec, but did not modify any > >>>>>>> > >> calling > >> > >>>>>> types to use > >>>>>> > >>>>>>> eval rather than exec. (In fact I did not > >>>>>>> > >> test > >> > >>>> the > >>>> > >>>>>> eval on anything) > >>>>>> > >>>>>>> I placed it here to allow expression > >>>>>>> > >> handling > >> > >>>> from > >>>> > >>>>>> property callbacks > >>>>>> > >>>>>>> - something like <if test='${groovy: abc > >>>>>>> > >> == > >> > >>>>>> "abc"}"> ..., but did > >>>>>> > >>>>>>> not follow up. > >>>>>>> > >>>>>>> I assume that jython does not like a new > >>>>>>> > >> line > >> > >>>> in > >>>> > >>>>>> its expression. > >>>>>> > >>>>>>> one can in python do > >>>>>>> a = 1 > >>>>>>> if a > 0: > >>>>>>> b = 2 > >>>>>>> however, one cannot do > >>>>>>> if # > >>>>>>> a > 0: > >>>>>>> > >>>>>>> > >>>>>>> ... > >>>>>>> So I think that this is a clear case of BC > >>>>>>> > >>>>>> problem. > >>>>>> > >>>>>>> It would be nearly impossible to use > >>>>>>> > >>>>>> <scriptcondition> with > >>>>>> > >>>>>>> jythton in it's current state. > >>>>>>> > >>>>>>> > >>>>>>> (I cannot test at the moment due to > >>>>>>> > >>>>>> (bsf/log4j/commons > >>>>>> > >>>>>>> logging/jython.jar issues) > >>>>>>> > >>>>>>> Peter > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> On 7/31/07, Dominique Devienne > >>>>>>> > >>>>>> <[EMAIL PROTECTED]> wrote: > >>>>>> > >>>>>>>> On 7/31/07, Matt Benson > >>>>>>>> > >>>> <[EMAIL PROTECTED]> > >>>> > >>>>>> wrote: > >>>>>> > >>>>>>>>> <scriptcondition> originally behaved > >>>>>>>>> > >> such > >> > >>>> that > >>>> > >>>>>> a > >>>>>> > >>>>>>>>> default value can be declared on the > >>>>>>>>> > >> task > >> > >>>> as > >>>> > >>>>>> an > >>>>>> > >>>>>>>>> attribute, and the embedded script can > >>>>>>>>> > >> set > >> > >>>> the > >>>> > >>>>>>>>> condition value. I preserved this > >>>>>>>>> > >>>> behavior, > >>>> > >>>>>> but added > >>>>>> > >>>>>>>>> a preference for a return value, if > >>>>>>>>> > >> any, > >> > >>>> from > >>>> > >>>>>> the > >>>>>> > >>>>>>>>> script: again, on the basis that this > >>>>>>>>> > >>>> seemed > >>>> > >>>>>> a (more) > >>>>>> > >>>>>>>>> natural behavior to me. DD, you said > >>>>>>>>> > >> "not > >> > >>>>>> returning a > >>>>>> > >>>>>>>>> value is fine by you"... and that's > >>>>>>>>> > >> what > >> > >>>>>>>>> <scriptcondition> always did, and > >>>>>>>>> > >> _should_ > >> > >>>>>> still > >>>>>> > >>>>>>>>> allow... am _I_ missing anything > >>>>>>>>> > >> (other > >> > >>>> than > >>>> > >>>>>> whatever > >>>>>> > >>>>>>>>> I've apparently done to break python > >>>>>>>>> > >>>>>> compatibility)? > >>>>>> > >>>>>>>> Ah, sorry, I meant that "not returning a > >>>>>>>> > >>>> value > >>>> > >>>>>> is meaningless to me". > >>>>>> > >>>>>>>> Sure, if a default value for the > >>>>>>>> > >> condition > >> > >>>> is > >>>> > >>>>>> set as an attribute, why > >>>>>> > >>>>>>>> not (although I don't see why that's > >>>>>>>> > >>>> necessary > >>>> > >>>>>> or useful), but a > >>>>>> > >>>>>>>> scriptcondition is supposed to be a > >>>>>>>> > >> script > >> > >>>>>> fragment which returns a > >>>>>> > >>>>>>>> boolean value, and I don't see the point > >>>>>>>> > >> of > >> > >>>> not > >>>> > >>>>>> returning a value. > >>>>>> > >>>>>>>> --DD > >>>>>>>> > >>>>>>>> PS: The error message could be nicer > >>>>>>>> > >> though > >> > >>>> ;-) > >>>> > >>>>>>>> > > > --------------------------------------------------------------------- > > > >>>>>>>> To unsubscribe, e-mail: > >>>>>>>> > >>>>>> [EMAIL PROTECTED] > >>>>>> > >>>>>>>> For additional commands, e-mail: > >>>>>>>> > >>>>>> [EMAIL PROTECTED] > >>>>>> > >>>>>>>> > >>>>>>> > > > --------------------------------------------------------------------- > > > >>>>>>> To unsubscribe, e-mail: > >>>>>>> > >>>>>> [EMAIL PROTECTED] > >>>>>> > >>>>>>> For additional commands, e-mail: > >>>>>>> > >>>>>> [EMAIL PROTECTED] > >>>>>> > >>>>>>> > >>>>>> -- > >>>>>> Alexey N. Solofnenko > >>>>>> Home: http://trelony.cjb.net/ > >>>>>> Pleasant Hill, CA (GMT-8 usually) > >>>>>> > >>>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>> > > > ____________________________________________________________________________________ > > > >>>>> Choose the right car based on your needs. > >>>>> > >> Check > >> > >>>> out Yahoo! Autos new Car > >>>> > >>>>> Finder tool. > >>>>> http://autos.yahoo.com/carfinder/ > >>>>> > >>>>> > >>>>> > > > --------------------------------------------------------------------- > > > >>>>> To unsubscribe, e-mail: > >>>>> > >>>> [EMAIL PROTECTED] > >>>> > >>>>> For additional commands, e-mail: > >>>>> > >>>> [EMAIL PROTECTED] > >>>> > >>>>> > >>>> -- > >>>> Alexey N. Solofnenko > >>>> Home: http://trelony.cjb.net/ > >>>> Pleasant Hill, CA (GMT-8 usually) > >>>> > >>>> > >>> > >>> > >>> > >>> > >>> > > > ____________________________________________________________________________________ > > > >>> Pinpoint customers who are looking for what you > >>> > >> sell. > >> > >>> http://searchmarketing.yahoo.com/ > >>> > >>> > >>> > > > --------------------------------------------------------------------- > > > >>> To unsubscribe, e-mail: > >>> > >> [EMAIL PROTECTED] > >> > >>> For additional commands, e-mail: > >>> > >> [EMAIL PROTECTED] > >> > >>> > >> -- > >> Alexey N. Solofnenko > >> Home: http://trelony.cjb.net/ > >> Pleasant Hill, CA (GMT-8 usually) > >> > >> > > > > > > > > > > > ____________________________________________________________________________________ > > Choose the right car based on your needs. Check > out Yahoo! Autos new Car Finder tool. > > http://autos.yahoo.com/carfinder/ > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: > [EMAIL PROTECTED] > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > > -- > ------------------------------------------------------------------------ > Alexey N. Solofnenko <http://trelony.cjb.net/> > Pleasant Hill, CA (GMT-8 usually) > ____________________________________________________________________________________ Sick sense of humor? Visit Yahoo! TV's Comedy with an Edge to see what's on, when. http://tv.yahoo.com/collections/222 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]