that one is protected... but of course there is a workaround for that
I do get then 138 packages then and we need to scan all those packages
for a specific file like "component.initializer.txt"
So this way you can have a wicket.resource per package and then in that
file you can set youre classname in that file.
Don't know what this cost
And if its really much simpler..
What do others think?
Gili wrote:
Why can't we use ClassLoader.getPackages() followed by
ClassLoader.getResource() but instead of having:
MyComponent.java
MyComponent.html
MyComponent.resources
we instead use:
MyPackage.resources
which we can easily find using ClassLoader. It won't be as object
oriented as we want, but it's one step closer. What do you think?
Gili
Cameron Braid wrote:
It looks to me like there is no other way.
I'm not so bothered by a single text file that contains a list of
classnames.
Why is it called wicket-component-initializers.txt ?
I think the .txt extension is a bad idea. Since if I use eclipse to
refactor classes - I usually get it to scan for fully quanified class
names
in .properties files (and .xml files)
Would it be a bade idea to use the.properties extension ?
Cameron
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:wicket-develop-
[EMAIL PROTECTED] On Behalf Of Johan Compagner
Sent: Friday, 12 August 2005 6:32 AM
To: [email protected]
Subject: Re: [Wicket-develop] feedback refactor and paging navigation
I don't think there is a standard way.
We could test if the ClassLoader was a URLClassLoader (and then call
getUrls() on it)
But this doesn't have to be the case i think..
Also File.list() can't work on a classloader. Because you don't have a
dir (you could have but you could have anything)
johanm
Cameron Braid wrote:
One other issue that comes to mind - where would the classpath list of
jars/folders come from - since we can't rely on
System.getProperty("java.class.path") from within servlet containers.
Is
there a standard way to obtain the servlet context's classpath ?
Cameron
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:wicket-
develop-
[EMAIL PROTECTED] On Behalf Of Gili
Sent: Friday, 12 August 2005 6:21 AM
To: [email protected]
Subject: Re: [Wicket-develop] feedback refactor and paging navigation
Good point. So going back to the original proposal, it sounds
like
it'll be very fast if we use File.listFiles(FilenameFilter).
Gili
Cameron Braid wrote:
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
--
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
-------------------------------------------------------
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