This would be worse - you would still need to scan all jars / folders on the
class path - then for any filename ending in .class - you would have to do
Class.forName() which will load the class - thereby loading EVERY class on
the classpath - not a good idea.

Cameron

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:wicket-develop-
> [EMAIL PROTECTED] On Behalf Of Gili
> Sent: Friday, 12 August 2005 6:06 AM
> To: [email protected]
> Subject: Re: [Wicket-develop] feedback refactor and paging navigation
> 
> 
>       Taking one step further... would it be possible to drop the resource
> file altogether and use pure reflection? Specifically, we search the
> classpath for classes which implement interface IComponentInitializer
> and if so we assume they contribute resources and invoke their
> init(Application) method.
> 
>       Cameron is right that someone should profile this but I think this
> is
> ideal in that it is truely object oriented and zero-configuration -- and
> it is a one-time cost at startup.
> 
> Gili
> 
> Cameron Braid wrote:
> > This would mean searching every sub-directory of every classpath entry
> (i.e.
> > jars and folders)
> >
> > This will have a performance impact on the startup time of wicket - how
> > large - I dunno - someone cart to implement and profile ?
> >
> > If the performance hit is insignificant - I think this is the better way
> to
> > do it.  Although - why not name the file ComponentClassName.wicket :)
> >
> > Cheers,
> >
> > Cameron.
> >
> >
> >>-----Original Message-----
> >>From: [EMAIL PROTECTED] [mailto:wicket-develop-
> >>[EMAIL PROTECTED] On Behalf Of Gili
> >>Sent: Friday, 12 August 2005 5:10 AM
> >>To: [email protected]
> >>Subject: Re: [Wicket-develop] feedback refactor and paging navigation
> >>
> >>
> >>    I'm +1 on Igor's proposal (.resource files) because amongst other
> >>things, it'll allow you to merge multiple JAR files into one easily
> >>(should you wish to do such a thing) and ship a JAR with a whole bunch
> >>of related components as opposed to having to have a different JAR for
> >>each component. Right now you'd have to merge the META-INF/ resource
> >>file by hand. Also, obfuscators such as Proguard will automatically do
> >>this sort of JAR file merging and "shrinking" but will not be able to
> >>handle merging these META-INF files. Anyway... just food for thought.
> >>
> >>Gili
> >>
> >>Jonathan Locke wrote:
> >>
> >>>sorry.  didn't mean to jump on you, igor.  i just wanted to make sure
> we
> >>>didn't throw
> >>>out something that's worth keeping...  because there have been some
> >>>problems with
> >>>resources, a lot of people have been clamoring to change the whole
> >>>plan.  since i've
> >>>been the one behind the current plan and wrote most or all of the code
> >>>for it, i have
> >>>been trying to explain why i wrote it that way.  it's not perfect for
> >>>sure (nothing ever is!),
> >>>but i think the basic idea is not only not broken, but it's actually
> >>>pretty solid... especially
> >>>with the fixes we did last night.
> >>>
> >>>i agree about the init thing, but i think that
> >>>Classloader.getResources() would have to
> >>>be enhanced to do this... not 100% sure though...  if there's a
> >>>reasonable way to do this,
> >>>we should look into it.
> >>>
> >>>Igor Vaynberg wrote:
> >>>
> >>>
> >>>>Yes I see Jon. Thank you for a very long and detailed explanation as
> >>>>to why
> >>>>my idea sucked. I still think there is some room for improvement in
> the
> >>>>current situation. Cant we do a saerch through avail packages looking
> >>>>for a
> >>>>.resources file (im not sure how this would be done).
> >>>>
> >>>>It would be nice to simply have DatePicker.resources side by side with
> >>>>DatePicker.java. It would eliminate refactoring headaches at least as
> >>>>far as
> >>>>the package names go and it wouldn't be sitting in some separate
> >>
> >>folder.
> >>
> >>>>-Igor
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>>-----Original Message-----
> >>>>>From: [EMAIL PROTECTED]
> >>>>>[mailto:[EMAIL PROTECTED] On Behalf Of
> >>>>>Jonathan Locke
> >>>>>Sent: Thursday, August 11, 2005 1:17 AM
> >>>>>To: [email protected]
> >>>>>Subject: Re: [Wicket-develop] feedback refactor and paging navigation
> >>>>>
> >>>>>
> >>>>>actually it's not just that the service registration info has to be
> >>>>>put somewhere, it's that a client component that's using a service to
> >>>>>create a dynamic resource like, for example, some kind of panel that
> >>>>>wants a dynamic button image created...
> >>>>>/that component/ would have to be able to create its images /when the
> >>>>>app starts/ (because of clustering and server restarts).  and /only
> >>>>>the panel component itself/ can or should know about this /and/ it
> >>>>>has to be done on startup.  wicket's resource
> >>>>>handling classes are already fully featured, object-oriented
> >>>>>"services" (but less
> >>>>>vague and more OO powerful) by virtue of the fact that they implement
> >>>>>the IResourceListener interface and respond to requests for resources
> >>>>>(ANY resource). so i just don't see any value at all in this service
> >>>>>concept beyond what we've already got.  in fact, i think it would
> >>>>>significantly /subtract/ from wicket's existing support for dynamic
> >>>>>resources (think "service" if you prefer)... and again, even if we
> >>>>>did change the world, it wouldn't solve the bootstrapping problem we
> >>>>>have for components.
> >>>>>
> >>>>>Johan Compagner wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>>>>how does a component with a dynamically generated image make that
> >>>>>>>>image available in your scheme?
> >>>>>>>>the component has to register the image with the service, doesn't
> >>>>>>>>it?
> >>>>>>>
> >>>>>>>The component doesn't need to register an image with a service, it
> >>>>>>>can register the service that creates the images.
> >>>>>>>The images themselves can be created on the first request
> >>>>>>>
> >>>>>>>http://www..../app?service=mydynamicbuttons&button=A
> >>>>>>>
> >>>>>>>Whenever this url is hit wicket forwards the control to the
> >>>>>>>registered mydynamicbuttons service (registered by whatever
> >>>>>>>component) which creates the image A, caches it, and streams it to
> >>>>>>>response. Or precreate whatever you need when the service
> >>>>>
> >>>>>object is
> >>>>>
> >>>>>
> >>>>>>>created and registered with the application.
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>And THIS last part is just the problem
> >>>>>>
> >>>>>>how does it register itself? When?
> >>>>>>Where is it specified that a component does that?
> >>>>>>I think in the end we have exactly the same thing...
> >>>>>>you have a file like:
> >>>>>>mydynamicbuttons=my.class.that.exposes.this.Service
> >>>>>>
> >>>>>>johan
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>-------------------------------------------------------
> >>>>>>SF.Net email is Sponsored by the Better Software Conference & EXPO
> >>>>>>September 19-22, 2005 * San Francisco, CA * Development Lifecycle
> >>>>>>Practices Agile & Plan-Driven Development * Managing
> >>>>>
> >>>>>Projects & Teams
> >>>>>
> >>>>>
> >>>>>>* Testing & QA Security * Process Improvement & Measurement *
> >>>>>>http://www.sqe.com/bsce5sf
> >>>>>>_______________________________________________
> >>>>>>Wicket-develop mailing list
> >>>>>>[email protected]
> >>>>>>https://lists.sourceforge.net/lists/listinfo/wicket-develop
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>-------------------------------------------------------
> >>>>>SF.Net email is Sponsored by the Better Software Conference & EXPO
> >>>>>September 19-22, 2005 * San Francisco, CA * Development Lifecycle
> >>>>>Practices Agile & Plan-Driven Development * Managing Projects & Teams
> >>>>>* Testing & QA Security * Process Improvement & Measurement *
> >>>>>http://www.sqe.com/bsce5sf
> >>>>>_______________________________________________
> >>>>>Wicket-develop mailing list
> >>>>>[email protected]
> >>>>>https://lists.sourceforge.net/lists/listinfo/wicket-develop
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>-------------------------------------------------------
> >>>>SF.Net email is Sponsored by the Better Software Conference & EXPO
> >>>>September 19-22, 2005 * San Francisco, CA * Development Lifecycle
> >>>>Practices
> >>>>Agile & Plan-Driven Development * Managing Projects & Teams * Testing
> >>>>& QA
> >>>>Security * Process Improvement & Measurement *
> >>
> >>http://www.sqe.com/bsce5sf
> >>
> >>>>_______________________________________________
> >>>>Wicket-develop mailing list
> >>>>[email protected]
> >>>>https://lists.sourceforge.net/lists/listinfo/wicket-develop
> >>>>
> >>>>
> >>>>
> >>>
> >>>
> >>>-------------------------------------------------------
> >>>SF.Net email is Sponsored by the Better Software Conference & EXPO
> >>>September 19-22, 2005 * San Francisco, CA * Development Lifecycle
> >>
> >>Practices
> >>
> >>>Agile & Plan-Driven Development * Managing Projects & Teams * Testing &
> >>
> >>QA
> >>
> >>>Security * Process Improvement & Measurement *
> >>
> >>http://www.sqe.com/bsce5sf
> >>
> >>>_______________________________________________
> >>>Wicket-develop mailing list
> >>>[email protected]
> >>>https://lists.sourceforge.net/lists/listinfo/wicket-develop
> >>>
> >>
> >>--
> >>http://www.desktopbeautifier.com/
> >>
> >>
> >>-------------------------------------------------------
> >>SF.Net email is Sponsored by the Better Software Conference & EXPO
> >>September 19-22, 2005 * San Francisco, CA * Development Lifecycle
> >>Practices
> >>Agile & Plan-Driven Development * Managing Projects & Teams * Testing &
> QA
> >>Security * Process Improvement & Measurement *
> http://www.sqe.com/bsce5sf
> >>_______________________________________________
> >>Wicket-develop mailing list
> >>[email protected]
> >>https://lists.sourceforge.net/lists/listinfo/wicket-develop
> >
> >
> >
> >
> > -------------------------------------------------------
> > SF.Net email is Sponsored by the Better Software Conference & EXPO
> > September 19-22, 2005 * San Francisco, CA * Development Lifecycle
> Practices
> > Agile & Plan-Driven Development * Managing Projects & Teams * Testing &
> QA
> > Security * Process Improvement & Measurement *
> http://www.sqe.com/bsce5sf
> > _______________________________________________
> > Wicket-develop mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/wicket-develop
> >
> 
> --
> http://www.desktopbeautifier.com/
> 
> 
> -------------------------------------------------------
> SF.Net email is Sponsored by the Better Software Conference & EXPO
> September 19-22, 2005 * San Francisco, CA * Development Lifecycle
> Practices
> Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
> Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
> _______________________________________________
> Wicket-develop mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wicket-develop



-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop

Reply via email to