Also, the added benefit is that you get compile-time checking of the existance of all Pages. If you reference a Page which does not exist you will get a compiler error, which is great :)

I think of Application.add(Page) as being the same mechanism as Page.add(component). You're nested sub-components inside a container component.

Gili

Gili wrote:

You'd only have to register the *root* Pages. All other pages (including bundled third party ones) are discovered for free.

Gili

Igor Vaynberg wrote:

I think it would really suck to have to register all your pages. Also what about pages that come bundled with a third party lib - same problem remains.

-igor

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Gili
Sent: Thursday, August 11, 2005 9:26 AM
To: [email protected]
Subject: Re: [Wicket-develop] feedback refactor and paging navigation


I suggested, multiple times now, how we can completely eliminate the need for these external configuration files. No one has yet to explain to me why this idea would not work or why it is worse than the current design.

    Why not use this mechanism?

public interface IComponentInitializer
{
    public void init(Application application);
    public List<Class> getNestedComponents(); }

where getNestedComponents() returns the class names of all components that will be added into the component. This will allow you to discover
(recursively) all the components in a given Application.

    An end-user then only has to say:

    Application.add(rootPage1);
    Application.add(rootPage2);

and Wicket will then automatically find out about all the remaining components by invoking getNestedComponents().

Finally, as I already explained, we move component configuration (calling add() etc...) from the constructor (where it currently resides) into a separate method (i.e. init()) and the default constructor for Page should do nothing. This way Wicket can easily construct pages, invoke getNestedComponents() to find out all nested components in a very efficient manner.

Gili

Johan Compagner wrote:

I don't think you can search for that..
If you know a way then i am will check that out.

because how would you do that? How do you can through ALL


packages (==

directories)

johan


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

Reply via email to