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