The unit test doesn't succeed for me (and neither does the real world
example, which is slightly different, but I assume the unit test would cover
for it). Well, if you say the unit test should pass now, I'll double-check I
have the right version and get back to you.

Kalle


On 7/2/07, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:

That looks like the right one to me.   The code you provided in the test
case was re-produced / fixed.  You did mention something about
"object[linkProperty]" not working before you provided a code example but
I'm assuming the code example was what was intended to be fixed....

Does the same test case not work for you?

On 7/2/07, Kalle Korhonen <[EMAIL PROTECTED]> wrote:
>
> Hey Jesse - saw you had marked
> http://jira.opensymphony.com/browse/OGNL-97as resolved so I assumed
> the fix might be in the latest snapshot
> ognl-2.7.1-20070630.205921-4 posted later but there were no changes as
far
> as I could notice. Certainly don't want to sound impatient as you are
> doing
> superb job in fixing these, but how do I know in which snapshot the fix
> might be?
>
> Kalle
>
>
> On 6/26/07, Kalle Korhonen <[EMAIL PROTECTED]> wrote:
> >
> > Thanks. I wasn't 100% how legitimate, but filed as
> > http://jira.opensymphony.com/browse/OGNL-97
> >
> > Kalle
> >
> > On 6/26/07, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:
> > >
> > > No time to look at this right now,  but if you file a jira report
> here:
> > >
> > > http://jira.opensymphony.com/browse/OGNL
> > >
> > > it can be looked in to for the next 2.7.1 release.
> > >
> > > The forums are here:
> > >
> > > http://forums.opensymphony.com/category.jspa?categoryID=10
> > >
> > > (though I'm thinking of moving them to google groups as well)
> > >
> > > On 6/26/07, Kalle Korhonen <[EMAIL PROTECTED]> wrote:
> > > >
> > > > Hi Jesse et al,
> > > >
> > > > while trying to migrate to Tap 4.1.2 we started getting lots of
> > > > OgnlExceptions with message "source is null" from
> > > OgnlRuntime.getProperty.
> > > > The workaround was to add #this to a lot of places where we used
> more
> > > > complex OGNL expressions. I realize this is probably much more to
do
> > > with
> > > > enhanced Ognl than Tapestry, so I would have taken the discussion
to
> > > ognl
> > > > list, but subscribing to ognl-interest failed with
> lists.ognl.orgdomain
> > > > not
> > > > found. Anyway, an example of failing expression is:
> > > > ognl:object[linkProperty]
> > > >
> > > > that now only works with:
> > > > ognl:object[#this.linkProperty]
> > > >
> > > > Without knowing anything about how compiled OGNL works, just
> following
> > > the
> > > > ExpressionEvaluatorImpl.java source I tried to make a test case
that
> > > > fails:
> > > >     public String getKey() {
> > > >         return "key";
> > > >     }
> > > >
> > > >     public void testEnhancedOgnl() throws Exception {
> > > >         map = new HashMap();
> > > >         map.put("key", "value");
> > > >         ClassResolver ognlResolver = new OgnlClassResolver();
> > > >         OgnlContext context =
> > > (OgnlContext)Ognl.createDefaultContext(this,
> > > > ognlResolver);
> > > >         Node expression = Ognl.compileExpression(context, map,
> "key");
> > > >         assertEquals(map.get("key"), Ognl.getValue(
> > > expression.getAccessor
> > > > (),
> > > > context, map)) ;
> > > >
> > > >         context = (OgnlContext)Ognl.createDefaultContext(this,
> > > > ognlResolver);
> > > >         expression = Ognl.compileExpression(context, this,
> > > "#this[key]");
> > > >         assertEquals("key", Ognl.getValue(expression.getAccessor
(),
> > > > context,
> > > > this)) ;
> > > >
> > > >         context = (OgnlContext)Ognl.createDefaultContext(this,
> > > > ognlResolver);
> > > >         expression = Ognl.compileExpression (context, this,
> > > "#this.key");
> > > >         assertEquals("key", Ognl.getValue(expression.getAccessor
(),
> > > > context,
> > > > this)) ;
> > > >
> > > >         // Fails
> > > >         context = (OgnlContext)Ognl.createDefaultContext(this,
> > > > ognlResolver);
> > > >         expression = Ognl.compileExpression(context, this, "key");
> > > >         assertEquals("key", Ognl.getValue(expression.getAccessor
(),
> > > > context,
> > > > this)) ;
> > > >     }
> > > >
> > > >
> > > > I might be way off here (like I said, I don't know anything about
it
> > > :),
> > > > but
> > > > the last assert fails (on CannotCompileException) even though to
me
> > > the
> > > > expression is equal to the two above it (the first one's just me
> > > figuring
> > > > out how it works).
> > > >
> > > > Since 2.7 is already released and I can see Jesse has even tagged
> > > Tap4.1.2a
> > > > few hours ago, I was mostly looking for a quick explanation, maybe
a
> > > > better
> > > > workaround if possible. If this (pun intended) is the price to pay
> for
> > >
> > > > faster OGNL, here's my check and huge thanks to Jesse for all the
> hard
> > > > work!
> > > >
> > > > Kalle
> > > >
> > >
> > >
> > >
> > > --
> > > Jesse Kuhnert
> > > Tapestry/Dojo team member/developer
> > >
> > > Open source based consulting work centered around
> > > dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
> > >
> >
> >
>



--
Jesse Kuhnert
Tapestry/Dojo team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com

Reply via email to