Re: [Wicket-user] wicket-contrib-push: design discussion

2007-05-10 Thread Vincent Demay

Xavier Hanin a écrit :

Hey WCP folks,

I've just started using wicket-contrib-push, and I feel a bit at home 
with all these comments with my name as the author :-)


I would like to discuss the design with you. For the moment there 
interfaces implemented by both timer and comet implementations, but 
it's not that easy to switch. Indeed if you look at the examples they 
are very implementation dependent.


So my proposition is to introduce another interface, called 
IPushService, which would allow both to publish and receive events. 
You would have a timer and cometd based implementations for the 
moment, but you could rely on the interface only the interface for 
push related operations.


I attach a patch on current code base with an implementation of what 
I'm thinking about, it may help you better see what I mean.


WDYT?


It is a very good idea. It will allow users to have less configuration 
to do. I like that because it is

   - easier to use
   - easier to switch

+1

--
Vincent Demay
http://www.demay-fr.net/blog


Xavier
--
Xavier Hanin - Independent Java Consultant
Manage your dependencies with Ivy!
http://incubator.apache.org/ivy/


Index: 
D:/users/xavier/documents/wkspace/sourceforge/wicket-stuff/wicket-contrib-push/.project
===
--- 
D:/users/xavier/documents/wkspace/sourceforge/wicket-stuff/wicket-contrib-push/.project
 (revision 2113)
+++ 
D:/users/xavier/documents/wkspace/sourceforge/wicket-stuff/wicket-contrib-push/.project
 (working copy)
@@ -1,5 +1,5 @@
 
-  push
+  wicketstuff-push
   An integration project for server side pushing in Wicket
   
   
Index: 
D:/users/xavier/documents/wkspace/sourceforge/wicket-stuff/wicket-contrib-push/src/main/java/org/wicketstuff/push/timer/TimerPushService.java
===
--- 
D:/users/xavier/documents/wkspace/sourceforge/wicket-stuff/wicket-contrib-push/src/main/java/org/wicketstuff/push/timer/TimerPushService.java
   (revision 0)
+++ 
D:/users/xavier/documents/wkspace/sourceforge/wicket-stuff/wicket-contrib-push/src/main/java/org/wicketstuff/push/timer/TimerPushService.java
   (revision 0)
@@ -0,0 +1,35 @@
+package org.wicketstuff.push.timer;
+
+import java.util.Map;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.util.time.Duration;
+import org.wicketstuff.push.IPushBehavior;
+import org.wicketstuff.push.IPushPublisher;
+import org.wicketstuff.push.IPushService;
+import org.wicketstuff.push.IPushTarget;
+import org.wicketstuff.push.PushEvent;
+
+public class TimerPushService implements IPushService {
+   private Duration duration;
+   private IPushPublisher publisher = new TimerPushPublisher();
+
+   public TimerPushService(Duration duration) {
+   this.duration = duration;
+   }
+
+   public void addPushBehavior(Component component, String channel, final 
IPushBehavior delegate) {
+   component.add(new TimerPushBehavior(duration, channel) {
+   private static final long serialVersionUID = 1L;
+
+   public void onEvent(String channel, Map 
datas, IPushTarget target) {
+   delegate.onEvent(channel, datas, target);
+   }
+   });
+   }
+
+   public void publish(PushEvent event) {
+   publisher.publish(event);
+   }
+
+}

Property changes on: 
D:\users\xavier\documents\wkspace\sourceforge\wicket-stuff\wicket-contrib-push\src\main\java\org\wicketstuff\push\timer\TimerPushService.java
___
Name: svn:eol-style
   + native

Index: 
D:/users/xavier/documents/wkspace/sourceforge/wicket-stuff/wicket-contrib-push/src/main/java/org/wicketstuff/push/IPushService.java
===
--- 
D:/users/xavier/documents/wkspace/sourceforge/wicket-stuff/wicket-contrib-push/src/main/java/org/wicketstuff/push/IPushService.java
 (revision 0)
+++ 
D:/users/xavier/documents/wkspace/sourceforge/wicket-stuff/wicket-contrib-push/src/main/java/org/wicketstuff/push/IPushService.java
 (revision 0)
@@ -0,0 +1,57 @@
+package org.wicketstuff.push;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.Page;
+import org.wicketstuff.push.cometd.CometdPushService;
+import org.wicketstuff.push.timer.TimerPushService;
+
+/**
+ * A service providing push facility in wicket based applications.
+ * 
+ * Implementation of this interface are the basis of a push implementation.
+ * You usually store one IPushService implementation in your application 
instance,
+ * and then delegate all your push related operations to this service, 
+ * allowing very easy switching between push implementations.

+ * 
+ * Here is how you usually use an IPushService implementation:
+ * 
+ *  IPushServ

Re: [Wicket-user] wicket-contrib-push: design discussion

2007-05-10 Thread Xavier Hanin

On 5/10/07, Vincent Demay <[EMAIL PROTECTED]> wrote:


 Xavier Hanin a écrit :

Hey WCP folks,

I've just started using wicket-contrib-push, and I feel a bit at home with
all these comments with my name as the author :-)

I would like to discuss the design with you. For the moment there
interfaces implemented by both timer and comet implementations, but it's not
that easy to switch. Indeed if you look at the examples they are very
implementation dependent.

So my proposition is to introduce another interface, called IPushService,
which would allow both to publish and receive events. You would have a timer
and cometd based implementations for the moment, but you could rely on the
interface only the interface for push related operations.

I attach a patch on current code base with an implementation of what I'm
thinking about, it may help you better see what I mean.

WDYT?


It is a very good idea. It will allow users to have less configuration to
do. I like that because it is
- easier to use
- easier to switch

+1



OK, so now that I'm a wc-push committer I guess I can check it in. I will
also review the examples, especially the two chats implementation, to show
easy it is to switch.

And since you agree with this change, I'm wondering if the two actual
behavior implementation should implement IPushBehavior. Indeed I think it
can confuse users, because passing one of those two implementations to the
IPushService#addPushBehavior(Component component, String channel,
IPushBehavior behavior) doesn't make sense.

So I suggest to remove this interface impl from the two behavior
implementation, rename IPushBehavior in IPushListener, and rename
#addPushBehavior(Component component, String channel, IPushBehavior
behavior) in #addPushListener(Component component, String channel,
IPushListener listener)

WDYT?

Xavier

--

Vincent Demay
http://www.demay-fr.net/blog


Xavier
--
Xavier Hanin - Independent Java Consultant
Manage your dependencies with Ivy!
http://incubator.apache.org/ivy/

--

Index: 
D:/users/xavier/documents/wkspace/sourceforge/wicket-stuff/wicket-contrib-push/.project
===
--- 
D:/users/xavier/documents/wkspace/sourceforge/wicket-stuff/wicket-contrib-push/.project
 (revision 2113)
+++ 
D:/users/xavier/documents/wkspace/sourceforge/wicket-stuff/wicket-contrib-push/.project
 (working copy)
@@ -1,5 +1,5 @@
 
-  push
+  wicketstuff-push
   An integration project for server side pushing in Wicket
   
   
Index: 
D:/users/xavier/documents/wkspace/sourceforge/wicket-stuff/wicket-contrib-push/src/main/java/org/wicketstuff/push/timer/TimerPushService.java
===
--- 
D:/users/xavier/documents/wkspace/sourceforge/wicket-stuff/wicket-contrib-push/src/main/java/org/wicketstuff/push/timer/TimerPushService.java
   (revision 0)
+++ 
D:/users/xavier/documents/wkspace/sourceforge/wicket-stuff/wicket-contrib-push/src/main/java/org/wicketstuff/push/timer/TimerPushService.java
   (revision 0)
@@ -0,0 +1,35 @@
+package org.wicketstuff.push.timer;
+
+import java.util.Map;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.util.time.Duration;
+import org.wicketstuff.push.IPushBehavior;
+import org.wicketstuff.push.IPushPublisher;
+import org.wicketstuff.push.IPushService;
+import org.wicketstuff.push.IPushTarget;
+import org.wicketstuff.push.PushEvent;
+
+public class TimerPushService implements IPushService {
+   private Duration duration;
+   private IPushPublisher publisher = new TimerPushPublisher();
+
+   public TimerPushService(Duration duration) {
+   this.duration = duration;
+   }
+
+   public void addPushBehavior(Component component, String channel, final 
IPushBehavior delegate) {
+   component.add(new TimerPushBehavior(duration, channel) {
+   private static final long serialVersionUID = 1L;
+
+   public void onEvent(String channel, Map 
datas, IPushTarget target) {
+   delegate.onEvent(channel, datas, target);
+   }
+   });
+   }
+
+   public void publish(PushEvent event) {
+   publisher.publish(event);
+   }
+
+}

Property changes on: 
D:\users\xavier\documents\wkspace\sourceforge\wicket-stuff\wicket-contrib-push\src\main\java\org\wicketstuff\push\timer\TimerPushService.java
___
Name: svn:eol-style
   + native

Index: 
D:/users/xavier/documents/wkspace/sourceforge/wicket-stuff/wicket-contrib-push/src/main/java/org/wicketstuff/push/IPushService.java
===
--- 
D:/users/xavier/documents/wkspace/sourceforge/wicket-stuff/wicket-contrib-push/src/main/java/org/wicketstuff/push/IPushService.java
 (revision 0)
+++ 
D:/users/xavier/documents/w

Re: [Wicket-user] wicket-contrib-push: design discussion

2007-05-10 Thread Eelco Hillenius
The only thing that mildly bothers me is that the 'Push' sounds like
on-way-traffic to me. Can we come up with additional ideas? Something
with Channel in it maybe? Or am I the only one feeling uneasy with the
name?

Eelco


On 5/10/07, Xavier Hanin <[EMAIL PROTECTED]> wrote:
> Hey WCP folks,
>
> I've just started using wicket-contrib-push, and I feel a bit at home with
> all these comments with my name as the author :-)
>
> I would like to discuss the design with you. For the moment there interfaces
> implemented by both timer and comet implementations, but it's not that easy
> to switch. Indeed if you look at the examples they are very implementation
> dependent.
>
> So my proposition is to introduce another interface, called IPushService,
> which would allow both to publish and receive events. You would have a timer
> and cometd based implementations for the moment, but you could rely on the
> interface only the interface for push related operations.
>
> I attach a patch on current code base with an implementation of what I'm
> thinking about, it may help you better see what I mean.
>
> WDYT?
>
> Xavier
> --
> Xavier Hanin - Independent Java Consultant
> Manage your dependencies with Ivy!
> http://incubator.apache.org/ivy/
> -
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> ___
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>
>
>

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] wicket-contrib-push: design discussion

2007-05-10 Thread Vincent Demay
Eelco Hillenius a écrit :
> The only thing that mildly bothers me is that the 'Push' sounds like
> on-way-traffic to me. Can we come up with additional ideas? Something
> with Channel in it maybe? Or am I the only one feeling uneasy with the
> name?
>   
Xavier Hanin a écrit :
>
> So I suggest to remove this interface impl from the two behavior 
> implementation, rename IPushBehavior in IPushListener, and rename 
> #addPushBehavior(Component component, String channel, IPushBehavior 
> behavior) in #addPushListener(Component component, String channel, 
> IPushListener listener)
>
> WDYT?

Right,  so what do you think of addChannelEventListener and 
IChannelEventListener ?

--
Vincent


-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] wicket-contrib-push: design discussion

2007-05-10 Thread Xavier Hanin

On 5/10/07, Vincent Demay <[EMAIL PROTECTED]> wrote:


Eelco Hillenius a écrit :
> The only thing that mildly bothers me is that the 'Push' sounds like
> on-way-traffic to me. Can we come up with additional ideas? Something
> with Channel in it maybe? Or am I the only one feeling uneasy with the
> name?
>
Xavier Hanin a écrit :
>
> So I suggest to remove this interface impl from the two behavior
> implementation, rename IPushBehavior in IPushListener, and rename
> #addPushBehavior(Component component, String channel, IPushBehavior
> behavior) in #addPushListener(Component component, String channel,
> IPushListener listener)
>
> WDYT?

Right,  so what do you think of addChannelEventListener and
IChannelEventListener ?



Indeed, it makes more sense like that. To be consistent, should we change
all Push* in Channel*?

Xavier

--

Vincent


-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user





--
Xavier Hanin - Independent Java Consultant
Manage your dependencies with Ivy!
http://incubator.apache.org/ivy/
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] wicket-contrib-push: design discussion

2007-05-10 Thread Vincent Demay
Xavier Hanin a écrit :
> On 5/10/07, *Vincent Demay* <[EMAIL PROTECTED] 
> > wrote:
>
> Eelco Hillenius a écrit :
> > The only thing that mildly bothers me is that the 'Push' sounds like
> > on-way-traffic to me. Can we come up with additional ideas?
> Something
> > with Channel in it maybe? Or am I the only one feeling uneasy
> with the
> > name?
> >
> Xavier Hanin a écrit :
> >
> > So I suggest to remove this interface impl from the two behavior
> > implementation, rename IPushBehavior in IPushListener, and rename
> > #addPushBehavior(Component component, String channel, IPushBehavior
> > behavior) in #addPushListener(Component component, String channel,
> > IPushListener listener)
> >
> > WDYT?
>
> Right,  so what do you think of addChannelEventListener and
> IChannelEventListener ? 
>
>
> Indeed, it makes more sense like that. To be consistent, should we 
> change all Push* in Channel*?
I think so yes, moreover one of the both implementations do not really 
use pushing ;)

--
Vincent
>
> Xavier
>
> --
> Vincent
>
>
> -
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> ___
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> 
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>
>
>
>
> -- 
> Xavier Hanin - Independent Java Consultant
> Manage your dependencies with Ivy!
> http://incubator.apache.org/ivy/
> 
>
> -
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> 
>
> ___
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>   


-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] wicket-contrib-push: design discussion

2007-05-10 Thread Xavier Hanin

On 5/10/07, Vincent Demay <[EMAIL PROTECTED]> wrote:


Xavier Hanin a écrit :
> On 5/10/07, *Vincent Demay* <[EMAIL PROTECTED]
> > wrote:
>
> Eelco Hillenius a écrit :
> > The only thing that mildly bothers me is that the 'Push' sounds
like
> > on-way-traffic to me. Can we come up with additional ideas?
> Something
> > with Channel in it maybe? Or am I the only one feeling uneasy
> with the
> > name?
> >
> Xavier Hanin a écrit :
> >
> > So I suggest to remove this interface impl from the two behavior
> > implementation, rename IPushBehavior in IPushListener, and rename
> > #addPushBehavior(Component component, String channel,
IPushBehavior
> > behavior) in #addPushListener(Component component, String channel,
> > IPushListener listener)
> >
> > WDYT?
>
> Right,  so what do you think of addChannelEventListener and
> IChannelEventListener ?
>
>
> Indeed, it makes more sense like that. To be consistent, should we
> change all Push* in Channel*?
I think so yes, moreover one of the both implementations do not really
use pushing ;)



OK, so I'll make the change with the other suggested ones if nobody's
objects.

Xavier

--

Vincent
>
> Xavier
>
> --
> Vincent
>
>
>
-
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> ___
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> 
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>
>
>
>
> --
> Xavier Hanin - Independent Java Consultant
> Manage your dependencies with Ivy!
> http://incubator.apache.org/ivy/
> 
>
>
-
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> 
>
> ___
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>


-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user





--
Xavier Hanin - Independent Java Consultant
Manage your dependencies with Ivy!
http://incubator.apache.org/ivy/
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] wicket-contrib-push: design discussion

2007-05-10 Thread Eelco Hillenius
> Right,  so what do you think of addChannelEventListener and
> IChannelEventListener ?

Better, but the nitpicker in me says that 'Listeners' wouldn't
typically participate in the channel, whereas that what the
implementations are supposed to do, right?

Eelco

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] wicket-contrib-push: design discussion

2007-05-10 Thread Eelco Hillenius
Btw, for a next design discussion, we'd better use the dev list.

Eelco

On 5/10/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
> > Right,  so what do you think of addChannelEventListener and
> > IChannelEventListener ?
>
> Better, but the nitpicker in me says that 'Listeners' wouldn't
> typically participate in the channel, whereas that what the
> implementations are supposed to do, right?
>
> Eelco
>

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] wicket-contrib-push: design discussion

2007-05-10 Thread Xavier Hanin

On 5/10/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote:


> Right,  so what do you think of addChannelEventListener and
> IChannelEventListener ?

Better, but the nitpicker in me says that 'Listeners' wouldn't
typically participate in the channel, whereas that what the
implementations are supposed to do, right?



What do you mean by participate? My proposition is to make listeners only
listeners, doing nothing but listening to events and reacting, by for
example sending javascript to the client.

Here is a sample use in a page:
   pushService.addChannelListener(this, "channel", new
IChannelListener() {
   public void onEvent(String channel, Map datas,
IChannelTarget target) {
   target.addComponent(container);
   }
   });

The two current implementation of IPushBehavior would stay behaviors, used
by the IChannelService implementation, but not visible to the API user.

Does it make sense?

Xavier


Eelco

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user





--
Xavier Hanin - Independent Java Consultant
Manage your dependencies with Ivy!
http://incubator.apache.org/ivy/
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] wicket-contrib-push: design discussion

2007-05-10 Thread Xavier Hanin

On 5/10/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote:


Btw, for a next design discussion, we'd better use the dev list.



Right, sorry about that.

Xavier

Eelco


On 5/10/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
> > Right,  so what do you think of addChannelEventListener and
> > IChannelEventListener ?
>
> Better, but the nitpicker in me says that 'Listeners' wouldn't
> typically participate in the channel, whereas that what the
> implementations are supposed to do, right?
>
> Eelco
>

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user





--
Xavier Hanin - Independent Java Consultant
Manage your dependencies with Ivy!
http://incubator.apache.org/ivy/
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] wicket-contrib-push: design discussion

2007-05-10 Thread Eelco Hillenius
> The two current implementation of IPushBehavior would stay behaviors, used
> by the IChannelService implementation, but not visible to the API user.
>
> Does it make sense?

Yup. Agreed.

Eelco

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user