Paulo Gaspar wrote:
> 
> Answer inline:
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
> > Behalf Of Geir Magnusson Jr.
> >
> > Paulo Gaspar wrote:
> > >
> > > In Foreach.getIterator(), I don't "get" several things:
> > >   - Why not accepting an object of type Iterator?
> >
> > Where?  I don't understand.
> 
> Just accepting an Iterator as the object to iterate trough in the
> #foreach.

Yes. Ok. Agreed.
 
> > ........
> > >   - Why caching the Introspection information based in the
> > >     #foreach directive object as in
> > >         IntrospectionCacheData icd = context.icacheGet( this );
> > >     ???
> > >     It makes more sense to cache what is the right iterator
> > >     based on the listObject class, since the class of the
> > >     listObject might change between uses of the same template,
> > >     but the found iterator will always be the same for each
> > >     listObject class.
> >
> > You are missing something, I think.   That problem, the class changing,
> > is recognized, so we cache what we find until the class of the object
> > changes.
> >
> > There is even a test in the testbed to check this behavior,
> > ContextSafetyTestCase.java.  I will doublecheck if you think it isn't
> > working.
> 
> Yes, it works correctly but it would be more efficient to make the
> caching just using the listObject class as key.

sorry?

> > > I am putting my hands on this, but just want to check if I am
> > > missing something.
> >
> > What does "I am putting my hands on this..." mean?
> 
> Means that I will "give it a whack" as you also suggested.
> =:o)
> 
> > Aside from the caching issue, which I think you missed, if there are
> > real problems here, give it a whack.  Are there any use problems?
> >
> > geir
> 
> Not using yet. Just taking a look at the source.
> 
> I want to use this to make an export tool that will have to iterate
> over big JDBC ResultSet's and I was taking a look at how to do it.

Oh no!

;->
 
> That is a case where I would be better served with an Iterator as
> argument for the #foreach, since an Iterator over a ResultSet is so
> easy to implement.
> =:o)

I thought I had you above, but I seem to have lost you again : an
Iterator is used in the foreach.  I am cleaning up getIterator() a
little as per your's and Jeff's suggestions...

> 
> Have fun,
> Paulo

Always do!

geir

-- 
Geir Magnusson Jr.                               [EMAIL PROTECTED]
Velocity : it's not just a good idea. It should be the law.
http://jakarta.apache.org/velocity

Reply via email to