Re: How to automatically log access to data objects in wicket gui

2017-12-15 Thread Martin Makundi
> I think you will need custom specialization of those models anyway.
> You will need to decide somehow when to apply your logic and when not.
>

True, but a nice boilerplate template would be nice, we could call it "The
GDPR compliance <https://www.eugdpr.org/> model" ;)

It could have methods like isAuthorized before invoking get or set and log
if not authorized and throw exception.

When model access is authroized, it would have methods like logAccess()
which will log (as necessary) how and what is accessed. Logging
implementation will take care of optimizing frequent logs etc.

Possibly it could be applied to both propertymodel and lamba model as a
"model behavior" or something.

I made a jira proposal and we will submit something soon:
https://issues.apache.org/jira/browse/WICKET-6508

**
Martin


>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Fri, Dec 15, 2017 at 2:20 PM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
> > Thanks
> >
> > We don't want to log ALL invocations, only those in particular wicket
> > imodels. Aspect will give you all like a profiler, that's not what we
> want
> > and it would not have natural visibility to wicket session.
> >
> > Or do you have a specific example in mind?
> >
> > **
> > Martin
> >
> > 2017-12-15 9:54 GMT+02:00 Martin Grigorov :
> >
> > > Hi,
> > >
> > > You can use Aspect Oriented Programming for this too.
> > > See wicket-metrics module for example.
> > >
> > > Martin Grigorov
> > > Wicket Training and Consulting
> > > https://twitter.com/mtgrigorov
> > >
> > > On Fri, Dec 15, 2017 at 7:57 AM, Martin Makundi <
> > > martin.maku...@koodaripalvelut.com> wrote:
> > >
> > > > Hi!
> > > >
> > > > We are investigating ways to automatically log access to data objects
> > in
> > > > wicket gui.
> > > >
> > > > Oldschool solutions would be, for example to override/customize
> > > > PropertyModel and log target object and method invoked, and possibly
> > > result
> > > > value, together with necessary information from session (timestamp,
> > user
> > > > id, authorization level, etc.).
> > > >
> > > > However, with wicket 8 and java 8 lambda possibilities, I am
> wondering
> > if
> > > > anybody would have some ingenious suggestion how to do this very
> nicely
> > > by
> > > > implementing own AuditTrailSerializableFunction or similar?
> > > >
> > > > Might need to wrap the data objects in some sort of proxy but that
> > would
> > > be
> > > > ok:
> > > >
> > > >- https://gist.github.com/jhorstmann/de367a42a08d8deb8df9
> > > >-
> > > >https://stackoverflow.com/questions/13356326/how-can-i-
> > > > log-every-method-called-in-a-class-automatically-with-log4j
> > > >-
> > > >https://stackoverflow.com/questions/3291637/
> > > alternatives-to-java-lang-
> > > > reflect-proxy-for-creating-proxies-of-abstract-classes
> > > >
> > > >
> > > > Any suggestions?
> > > >
> > > > Would be cool if blueprints for this were built into wicket.
> > > >
> > > > Thanks.
> > > >
> > > > **
> > > > Martin
> > > >
> > >
> >
>


Re: How to automatically log access to data objects in wicket gui

2017-12-15 Thread Martin Makundi
Thanks

We don't want to log ALL invocations, only those in particular wicket
imodels. Aspect will give you all like a profiler, that's not what we want
and it would not have natural visibility to wicket session.

Or do you have a specific example in mind?

**
Martin

2017-12-15 9:54 GMT+02:00 Martin Grigorov :

> Hi,
>
> You can use Aspect Oriented Programming for this too.
> See wicket-metrics module for example.
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Fri, Dec 15, 2017 at 7:57 AM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
> > Hi!
> >
> > We are investigating ways to automatically log access to data objects in
> > wicket gui.
> >
> > Oldschool solutions would be, for example to override/customize
> > PropertyModel and log target object and method invoked, and possibly
> result
> > value, together with necessary information from session (timestamp, user
> > id, authorization level, etc.).
> >
> > However, with wicket 8 and java 8 lambda possibilities, I am wondering if
> > anybody would have some ingenious suggestion how to do this very nicely
> by
> > implementing own AuditTrailSerializableFunction or similar?
> >
> > Might need to wrap the data objects in some sort of proxy but that would
> be
> > ok:
> >
> >- https://gist.github.com/jhorstmann/de367a42a08d8deb8df9
> >-
> >https://stackoverflow.com/questions/13356326/how-can-i-
> > log-every-method-called-in-a-class-automatically-with-log4j
> >-
> >https://stackoverflow.com/questions/3291637/
> alternatives-to-java-lang-
> > reflect-proxy-for-creating-proxies-of-abstract-classes
> >
> >
> > Any suggestions?
> >
> > Would be cool if blueprints for this were built into wicket.
> >
> > Thanks.
> >
> > **
> > Martin
> >
>


How to automatically log access to data objects in wicket gui

2017-12-14 Thread Martin Makundi
Hi!

We are investigating ways to automatically log access to data objects in
wicket gui.

Oldschool solutions would be, for example to override/customize
PropertyModel and log target object and method invoked, and possibly result
value, together with necessary information from session (timestamp, user
id, authorization level, etc.).

However, with wicket 8 and java 8 lambda possibilities, I am wondering if
anybody would have some ingenious suggestion how to do this very nicely by
implementing own AuditTrailSerializableFunction or similar?

Might need to wrap the data objects in some sort of proxy but that would be
ok:

   - https://gist.github.com/jhorstmann/de367a42a08d8deb8df9
   -
   
https://stackoverflow.com/questions/13356326/how-can-i-log-every-method-called-in-a-class-automatically-with-log4j
   -
   
https://stackoverflow.com/questions/3291637/alternatives-to-java-lang-reflect-proxy-for-creating-proxies-of-abstract-classes


Any suggestions?

Would be cool if blueprints for this were built into wicket.

Thanks.

**
Martin


Re: Performance issue (possible bug since 7.2.0…up to and including 8.0.0-M8)

2017-12-12 Thread Martin Makundi
Performance is no joking mantter =)

2017-12-13 3:56 GMT+02:00 Lon Varscsak :

> Haha, sure…I was sure someone was going to argue with me. :P
>
> -Lon
>
> On Tue, Dec 12, 2017 at 6:23 PM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
> > Good find! Sounds like a bug, file to jira?
> >
> > 2017-12-12 23:38 GMT+02:00 Lon Varscsak :
> >
> > > Okay, so here's the situation, I have a component where an Ajax request
> > > displays a large table (1000ish rows).  It display fast, no problem,
> not
> > a
> > > great use of resources (not paginating), but ignore that for now.  I
> then
> > > have another Ajax request where I tell the wicket component to not be
> > > visible and refresh an area.  No problem so far (although slightly
> slow,
> > > since it's not generating much html, should be faster).  Now EVERY Ajax
> > > request that updates the same area (with the component not in the html)
> > > takes a long time to respond (half second), even though it should be
> > > returning in ms, because the html is pretty minimal.
> > >
> > > I hooked it up to a profiler and found that it's spending a large
> amount
> > of
> > > CPU time in
> > > MarkupContainer$MarkupChildIterator.refreshInternalIteratorIfNeeded().
> > I'm
> > > not sure why it would be traversing the component hierarchy of the
> table
> > > that's not even visible…but I don't know enough of the architecture of
> > > wicket to really say…which is why I've come here. :)
> > >
> > > I've gone back to 7.1.0 and can confirm that in that version this
> > "problem"
> > > does not exist.  The Ajax request is as fast as if I've never loaded
> the
> > > large table.
> > >
> > > So I've attached a link to a Quickstart showing the problem (currently
> > > configured for 8.0.0-M8, but can be complied down to 7.0.0).  When
> > loading
> > > the page, first click the refresh link…this will essentially refresh
> all
> > > the contents in an Ajax request and give you a sense of how fast it
> > > _should_ be.  The table has not been visible yet, so there have been no
> > > ListView items created yet.  Then click "show table", this will
> generate
> > 2k
> > > dummy rows and redisplay the area.  It's obviously slower because it's
> > > generating 350k of html (but surprisingly fast :P).  Then click hide
> > > table.  It takes about the same amount of time to hide the table as it
> > does
> > > to show it, which is odd, because the html being regenerated is the
> same
> > as
> > > if there were no table displayed.  Then go ahead and click "refresh"
> and
> > > you'll see that refreshing a basically empty component is slow because
> > it's
> > > referencing all the components in the wicket hierarchy (
> > > MarkupChildIterator.refreshInternalIteratorIfNeeded)even though
> they're
> > > not
> > > visible.
> > >
> > > Thoughts?  I recognize that the first response will be "don't display
> > 1000
> > > rows", but lets ignore that for now.
> > >
> > > Thanks!
> > >
> > > -Lon
> > >
> > > Here's the link to the Quickstart:
> > > https://www.dropbox.com/s/l0uxsibmh24nsoh/slownesstest.tar.gz?dl=0
> > >
> >
>


Re: Performance issue (possible bug since 7.2.0…up to and including 8.0.0-M8)

2017-12-12 Thread Martin Makundi
Good find! Sounds like a bug, file to jira?

2017-12-12 23:38 GMT+02:00 Lon Varscsak :

> Okay, so here's the situation, I have a component where an Ajax request
> displays a large table (1000ish rows).  It display fast, no problem, not a
> great use of resources (not paginating), but ignore that for now.  I then
> have another Ajax request where I tell the wicket component to not be
> visible and refresh an area.  No problem so far (although slightly slow,
> since it's not generating much html, should be faster).  Now EVERY Ajax
> request that updates the same area (with the component not in the html)
> takes a long time to respond (half second), even though it should be
> returning in ms, because the html is pretty minimal.
>
> I hooked it up to a profiler and found that it's spending a large amount of
> CPU time in
> MarkupContainer$MarkupChildIterator.refreshInternalIteratorIfNeeded(). I'm
> not sure why it would be traversing the component hierarchy of the table
> that's not even visible…but I don't know enough of the architecture of
> wicket to really say…which is why I've come here. :)
>
> I've gone back to 7.1.0 and can confirm that in that version this "problem"
> does not exist.  The Ajax request is as fast as if I've never loaded the
> large table.
>
> So I've attached a link to a Quickstart showing the problem (currently
> configured for 8.0.0-M8, but can be complied down to 7.0.0).  When loading
> the page, first click the refresh link…this will essentially refresh all
> the contents in an Ajax request and give you a sense of how fast it
> _should_ be.  The table has not been visible yet, so there have been no
> ListView items created yet.  Then click "show table", this will generate 2k
> dummy rows and redisplay the area.  It's obviously slower because it's
> generating 350k of html (but surprisingly fast :P).  Then click hide
> table.  It takes about the same amount of time to hide the table as it does
> to show it, which is odd, because the html being regenerated is the same as
> if there were no table displayed.  Then go ahead and click "refresh" and
> you'll see that refreshing a basically empty component is slow because it's
> referencing all the components in the wicket hierarchy (
> MarkupChildIterator.refreshInternalIteratorIfNeeded)even though they're
> not
> visible.
>
> Thoughts?  I recognize that the first response will be "don't display 1000
> rows", but lets ignore that for now.
>
> Thanks!
>
> -Lon
>
> Here's the link to the Quickstart:
> https://www.dropbox.com/s/l0uxsibmh24nsoh/slownesstest.tar.gz?dl=0
>


Re: Ajax refresh and feedback panel

2017-12-02 Thread Martin Makundi
>
>
> The question is not very clear (to me).
>
> I've closed your ticket for the same reason.
> Please try to clarify the problem or the feature here (or at dev@) before
> creating tickets!
>

My apologies for a brief ticket. Let's try to elaborate: In Component you
have special processing for IFeedback components using FEEDBACK_LIST
because when other components are rendered, they might throw feedback
messages and make feedback visible.

If feedback is rendered before other components (or in undetermined order),
the feedback might be rendered before another component has thrown a
message.

This is why the IFeedback components are rendered last in normal rendering.

However, in ajax update, such orderinf for IFeedback is not enforced.

I am proposing to add such reordering for ajax update also.

Thanks.

Plese let me know if this requires more clarification. Probably the
existing test case for normal rendering (if such exists) could be modified
for testing the same with ajax update.

**
Martin


> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Sat, Dec 2, 2017 at 3:15 PM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
> > Hi!
> >
> > For normal rendering we have:
> >
> > /**
> > * We need to postpone calling beforeRender() on components that implement
> > {@link IFeedback}, to
> > * be sure that all other component's beforeRender() has been already
> > called, so that IFeedbacks
> > * can collect all feedback messages. This is the key under list of
> > postponed {@link IFeedback}
> > * is stored to request cycle metadata. The List is then iterated over in
> > * {@link #prepareForRender()} after calling {@link #beforeRender()}, to
> > initialize postponed
> > * components.
> > */
> > private static final MetaDataKey> FEEDBACK_LIST = new
> > MetaDataKey>()
> > {
> > private static final long serialVersionUID = 1L;
> > };
> >
> > Should there be similar functionality built in for Ajax update /
> > PartialPageUpdate? It seems to be a typical problem that the feedback of
> an
> > ajax update occurs too late.
> >
> > https://issues.apache.org/jira/browse/WICKET-6503
> >
> > **
> > Martin
> >
>


Ajax refresh and feedback panel

2017-12-02 Thread Martin Makundi
Hi!

For normal rendering we have:

/**
* We need to postpone calling beforeRender() on components that implement
{@link IFeedback}, to
* be sure that all other component's beforeRender() has been already
called, so that IFeedbacks
* can collect all feedback messages. This is the key under list of
postponed {@link IFeedback}
* is stored to request cycle metadata. The List is then iterated over in
* {@link #prepareForRender()} after calling {@link #beforeRender()}, to
initialize postponed
* components.
*/
private static final MetaDataKey> FEEDBACK_LIST = new
MetaDataKey>()
{
private static final long serialVersionUID = 1L;
};

Should there be similar functionality built in for Ajax update /
PartialPageUpdate? It seems to be a typical problem that the feedback of an
ajax update occurs too late.

https://issues.apache.org/jira/browse/WICKET-6503

**
Martin


Re: IndicatingAjaxButton locks other buttons

2017-10-26 Thread Martin Makundi
If you dig with firebug, what can you find that causes the buttons to be
non-responsive?

2017-10-26 20:12 GMT+03:00 Entropy :

> We have an IndicatingAjaxButton that launches an AjaxDownload of a PDF that
> we generate on the fly from Crystal Reports.  It's spawns the PDF in a
> separate window.  It does the job, but after, every button on the screen of
> the main form is nonresponsive.  Is there some step I am supposed to take
> to
> unlock them?  The spinner gif went away so it seems like the button knows
> it's done enough to hide the spinner.
>
> As soon as i change the IndicatingAjaxButton to a simple AjaxButton,
> everything works perfectly.
>
> --
> Sent from: http://apache-wicket.1842946.n4.nabble.com/Users-forum-
> f1842947.html
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


Re: Joda-time dependency

2017-09-22 Thread Martin Makundi
+1 me too

2017-09-22 15:28 GMT+03:00 Andrea Del Bene :

> +1 for me. But I doubt there will be something left in wicket-datetime
> when you will remove Joda :-)
>
>
>
> On 22/09/2017 13:49, Maxim Solodovnik wrote:
>
>> OK, I'm ready to start :)
>>
>> As far as I understand here is the plan:
>>
>> 1) move existing unchanged wicket-datetime to wicketstuff (8.0.0 only
>> change package)
>> 2) remove joda-time from wicket-datetime (pom, README.md)
>> 3) use LocalDate/LocalDateTime where appropriate
>>
>> Shall I proceed :))) ?
>>
>> On Wed, Sep 20, 2017 at 7:53 PM, Martin Grigorov 
>> wrote:
>>
>>> https://github.com/menodata/time4j - in case Java 8 Date APIs are not
>>> good
>>> enough
>>>
>>> Martin Grigorov
>>> Wicket Training and Consulting
>>> https://twitter.com/mtgrigorov
>>>
>>> On Tue, Sep 19, 2017 at 10:05 AM, Martin Makundi <
>>> martin.maku...@koodaripalvelut.com> wrote:
>>>
>>> 2017-09-19 9:35 GMT+03:00 Martin Grigorov :
>>>>
>>>> On Tue, Sep 19, 2017 at 8:12 AM, Martin Makundi <
>>>>> martin.maku...@koodaripalvelut.com> wrote:
>>>>>
>>>>> 2017-09-19 7:16 GMT+03:00 Martin Grigorov :
>>>>>>
>>>>>> On Sep 19, 2017 6:22 AM, "Martin Makundi" <
>>>>>>> martin.maku...@koodaripalvelut.com> wrote:
>>>>>>>
>>>>>>> IMO it's better to big mang whole wicket to drop joda date. All
>>>>>>>
>>>>>> wicket
>>>>
>>>>> 8
>>>>>
>>>>>> without joda.
>>>>>>>
>>>>>>>
>>>>>>> Said the person who still uses Wicket 1.4 for his apps...
>>>>>>>
>>>>>>> Yes, incremental change is a pain so we big bang 1.4 ->8.
>>>>>>
>>>>>>
>>>>>> Everyone wants to see the Big Bang and this might be the reason to
>>>>>>>
>>>>>> see
>>>>
>>>>> Wicket 8.0.0 in 2020.
>>>>>>>
>>>>>>
>>>>>> Dropping joda should not significantly slow down development.
>>>>>>
>>>>>> True, if your name is Stephen Colebourne and you know both APIs by
>>>>> heart!
>>>>> I personally had to ask Google and StackOverflow.com several questions
>>>>>
>>>> for
>>>>
>>>>> what I've done so far in the branch mentioned above.
>>>>>
>>>>> My vote on whether to merge this rafectoring to master branch will
>>>>> depend
>>>>> on the diff in wicket-examples.
>>>>>
>>>>> Let's try it first. If it does not pass we can drop joda locally. So
>>>> long
>>>> as it is not a transient dependency it's doable.
>>>>
>>>>
>>>>>
>>>>>> **
>>>>>>> Martin
>>>>>>>
>>>>>>> 2017-09-18 22:43 GMT+03:00 Martin Grigorov :
>>>>>>>
>>>>>>> On Mon, Sep 18, 2017 at 6:50 AM, Martin Makundi <
>>>>>>>> martin.maku...@koodaripalvelut.com> wrote:
>>>>>>>>
>>>>>>>> Is it possible to also drop joda from wicketstuff for
>>>>>>>>>
>>>>>>>> consistency?
>>>>
>>>>> IMO, the WicketStuff module must be exactly the same as the one in
>>>>>>>>
>>>>>>> Wicket
>>>>>>
>>>>>>> 7.x.
>>>>>>>> Any changes in the API should be done in Wicket 8.x.
>>>>>>>> This way when users migrate their apps to 8.x they can decide to
>>>>>>>>
>>>>>>> take
>>>>
>>>>> the
>>>>>>
>>>>>>> short route and use the WicketStuff module.
>>>>>>>> Later they can invest in reworking their code to the new API and
>>>>>>>>
>>>>>>> use
>>>>
>>>>> again
>>>>>>>
>>>>>>>> org.apache.wicket:wicket-datetime
>>>>>>>> The WicketStuff module README should say that it will be available
>>>>>>>

Re: Joda-time dependency

2017-09-19 Thread Martin Makundi
2017-09-19 9:35 GMT+03:00 Martin Grigorov :

> On Tue, Sep 19, 2017 at 8:12 AM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
> > 2017-09-19 7:16 GMT+03:00 Martin Grigorov :
> >
> > > On Sep 19, 2017 6:22 AM, "Martin Makundi" <
> > > martin.maku...@koodaripalvelut.com> wrote:
> > >
> > > IMO it's better to big mang whole wicket to drop joda date. All wicket
> 8
> > > without joda.
> > >
> > >
> > > Said the person who still uses Wicket 1.4 for his apps...
> > >
> >
> > Yes, incremental change is a pain so we big bang 1.4 ->8.
> >
> >
> > > Everyone wants to see the Big Bang and this might be the reason to see
> > > Wicket 8.0.0 in 2020.
> >
> >
> > Dropping joda should not significantly slow down development.
> >
>
> True, if your name is Stephen Colebourne and you know both APIs by heart!
> I personally had to ask Google and StackOverflow.com several questions for
> what I've done so far in the branch mentioned above.
>
> My vote on whether to merge this rafectoring to master branch will depend
> on the diff in wicket-examples.
>

Let's try it first. If it does not pass we can drop joda locally. So long
as it is not a transient dependency it's doable.

>
>
> > >
> >
> >
> > >
> > > **
> > > Martin
> > >
> > > 2017-09-18 22:43 GMT+03:00 Martin Grigorov :
> > >
> > > > On Mon, Sep 18, 2017 at 6:50 AM, Martin Makundi <
> > > > martin.maku...@koodaripalvelut.com> wrote:
> > > >
> > > > > Is it possible to also drop joda from wicketstuff for consistency?
> > > > >
> > > >
> > > > IMO, the WicketStuff module must be exactly the same as the one in
> > Wicket
> > > > 7.x.
> > > > Any changes in the API should be done in Wicket 8.x.
> > > > This way when users migrate their apps to 8.x they can decide to take
> > the
> > > > short route and use the WicketStuff module.
> > > > Later they can invest in reworking their code to the new API and use
> > > again
> > > > org.apache.wicket:wicket-datetime
> > > > The WicketStuff module README should say that it will be available
> only
> > > for
> > > > Wicket 8.x lifecycle, to prevent double maintenance.
> > > >
> > > >
> > > > > 2017-09-17 22:09 GMT+03:00 Andrea Del Bene :
> > > > >
> > > > > > +1 to move legacy code to WicketStuff. For 'legacy code' I mean
> all
> > > the
> > > > > > code based on yui library and class StyleDateConverter which is
> > > > tailored
> > > > > on
> > > > > > Joda time.
> > > > > >
> > > > > >
> > > > > >
> > > > > > On 16/09/2017 14:13, Martin Grigorov wrote:
> > > > > >
> > > > > >> Hi Maxim,
> > > > > >>
> > > > > >> Since I do not use wicket-datetime in my apps I also wanted to
> > break
> > > > it
> > > > > >> hard by replacing Joda-Time with Java 8 classes.
> > > > > >> But people who use it expressed concerns that it will be hard to
> > > > migrate
> > > > > >> this way. Everyone will have to do the same for his/her
> > application.
> > > > > >> I remember Igor even suggested to have univeral API that will
> work
> > > > with
> > > > > >> java.util.Date, Joda-Time and Java 8!
> > > > > >>
> > > > > >> IMO the easiest thing that could be done is to copy the current
> > code
> > > > to
> > > > > >> WicketStuff, as https://github.com/wicketstuff/wicket1.5-tree,
> > and
> > > > > rework
> > > > > >> wicket-datetime to use Java 8 APIs.
> > > > > >>
> > > > > >> Martin Grigorov
> > > > > >> Wicket Training and Consulting
> > > > > >> https://twitter.com/mtgrigorov
> > > > > >>
> > > > > >> On Thu, Sep 14, 2017 at 7:11 AM, Maxim Solodovnik <
> > > > solomax...@gmail.com
> > > > > >
> > > > > >> wrote:
> > > > > >>
> > > > > >> Hello Martin,
> > > > > >>>
> &

Re: Joda-time dependency

2017-09-18 Thread Martin Makundi
2017-09-19 7:16 GMT+03:00 Martin Grigorov :

> On Sep 19, 2017 6:22 AM, "Martin Makundi" <
> martin.maku...@koodaripalvelut.com> wrote:
>
> IMO it's better to big mang whole wicket to drop joda date. All wicket 8
> without joda.
>
>
> Said the person who still uses Wicket 1.4 for his apps...
>

Yes, incremental change is a pain so we big bang 1.4 ->8.


> Everyone wants to see the Big Bang and this might be the reason to see
> Wicket 8.0.0 in 2020.


Dropping joda should not significantly slow down development.

>


>
> **
> Martin
>
> 2017-09-18 22:43 GMT+03:00 Martin Grigorov :
>
> > On Mon, Sep 18, 2017 at 6:50 AM, Martin Makundi <
> > martin.maku...@koodaripalvelut.com> wrote:
> >
> > > Is it possible to also drop joda from wicketstuff for consistency?
> > >
> >
> > IMO, the WicketStuff module must be exactly the same as the one in Wicket
> > 7.x.
> > Any changes in the API should be done in Wicket 8.x.
> > This way when users migrate their apps to 8.x they can decide to take the
> > short route and use the WicketStuff module.
> > Later they can invest in reworking their code to the new API and use
> again
> > org.apache.wicket:wicket-datetime
> > The WicketStuff module README should say that it will be available only
> for
> > Wicket 8.x lifecycle, to prevent double maintenance.
> >
> >
> > > 2017-09-17 22:09 GMT+03:00 Andrea Del Bene :
> > >
> > > > +1 to move legacy code to WicketStuff. For 'legacy code' I mean all
> the
> > > > code based on yui library and class StyleDateConverter which is
> > tailored
> > > on
> > > > Joda time.
> > > >
> > > >
> > > >
> > > > On 16/09/2017 14:13, Martin Grigorov wrote:
> > > >
> > > >> Hi Maxim,
> > > >>
> > > >> Since I do not use wicket-datetime in my apps I also wanted to break
> > it
> > > >> hard by replacing Joda-Time with Java 8 classes.
> > > >> But people who use it expressed concerns that it will be hard to
> > migrate
> > > >> this way. Everyone will have to do the same for his/her application.
> > > >> I remember Igor even suggested to have univeral API that will work
> > with
> > > >> java.util.Date, Joda-Time and Java 8!
> > > >>
> > > >> IMO the easiest thing that could be done is to copy the current code
> > to
> > > >> WicketStuff, as https://github.com/wicketstuff/wicket1.5-tree, and
> > > rework
> > > >> wicket-datetime to use Java 8 APIs.
> > > >>
> > > >> Martin Grigorov
> > > >> Wicket Training and Consulting
> > > >> https://twitter.com/mtgrigorov
> > > >>
> > > >> On Thu, Sep 14, 2017 at 7:11 AM, Maxim Solodovnik <
> > solomax...@gmail.com
> > > >
> > > >> wrote:
> > > >>
> > > >> Hello Martin,
> > > >>>
> > > >>> I tried to continue this work, but it seems I need some information
> > > >>> before I can proceed
> > > >>> Could you please tell me What was the goal of these changes?
> > > >>>
> > > >>> I would remove joda-time, and use LocalDate, LocalTime instead of
> > Date
> > > >>> As I can see you are using ZonedDateTime ...
> > > >>>
> > > >>>
> > > >>> On Mon, Sep 11, 2017 at 9:01 PM, Martin Grigorov <
> > mgrigo...@apache.org
> > > >
> > > >>> wrote:
> > > >>>
> > > >>>> Yes, if finished on time!
> > > >>>> Wicket 7 requires Java 7
> > > >>>>
> > > >>>> Martin Grigorov
> > > >>>> Wicket Training and Consulting
> > > >>>> https://twitter.com/mtgrigorov
> > > >>>>
> > > >>>> On Mon, Sep 11, 2017 at 3:34 PM, Rakesh A <
> > iamrakes...@rediffmail.com
> > > >
> > > >>>> wrote:
> > > >>>>
> > > >>>> Hi,
> > > >>>>>
> > > >>>>> Is it going to be for Wicket 8 only ?
> > > >>>>>
> > > >>>>> Regards,
> > > >>>>> Rakesh.A
> > > >>>>>
> > > >>>>> --
> > > >>>>> Sent from: http://apache-wicket.1842946.n
> 4.nabble.com/Users-forum-
> > > >>>>> f1842947.html
> > > >>>>>
> > > >>>>> 
> > > -
> > > >>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > >>>>> For additional commands, e-mail: users-h...@wicket.apache.org
> > > >>>>>
> > > >>>>>
> > > >>>>>
> > > >>>
> > > >>> --
> > > >>> WBR
> > > >>> Maxim aka solomax
> > > >>>
> > > >>> 
> > -
> > > >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > >>> For additional commands, e-mail: users-h...@wicket.apache.org
> > > >>>
> > > >>>
> > > >>>
> > > >
> > > > 
> -
> > > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > > For additional commands, e-mail: users-h...@wicket.apache.org
> > > >
> > > >
> > >
> >
>


Re: Joda-time dependency

2017-09-18 Thread Martin Makundi
IMO it's better to big mang whole wicket to drop joda date. All wicket 8
without joda.

**
Martin

2017-09-18 22:43 GMT+03:00 Martin Grigorov :

> On Mon, Sep 18, 2017 at 6:50 AM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
> > Is it possible to also drop joda from wicketstuff for consistency?
> >
>
> IMO, the WicketStuff module must be exactly the same as the one in Wicket
> 7.x.
> Any changes in the API should be done in Wicket 8.x.
> This way when users migrate their apps to 8.x they can decide to take the
> short route and use the WicketStuff module.
> Later they can invest in reworking their code to the new API and use again
> org.apache.wicket:wicket-datetime
> The WicketStuff module README should say that it will be available only for
> Wicket 8.x lifecycle, to prevent double maintenance.
>
>
> > 2017-09-17 22:09 GMT+03:00 Andrea Del Bene :
> >
> > > +1 to move legacy code to WicketStuff. For 'legacy code' I mean all the
> > > code based on yui library and class StyleDateConverter which is
> tailored
> > on
> > > Joda time.
> > >
> > >
> > >
> > > On 16/09/2017 14:13, Martin Grigorov wrote:
> > >
> > >> Hi Maxim,
> > >>
> > >> Since I do not use wicket-datetime in my apps I also wanted to break
> it
> > >> hard by replacing Joda-Time with Java 8 classes.
> > >> But people who use it expressed concerns that it will be hard to
> migrate
> > >> this way. Everyone will have to do the same for his/her application.
> > >> I remember Igor even suggested to have univeral API that will work
> with
> > >> java.util.Date, Joda-Time and Java 8!
> > >>
> > >> IMO the easiest thing that could be done is to copy the current code
> to
> > >> WicketStuff, as https://github.com/wicketstuff/wicket1.5-tree, and
> > rework
> > >> wicket-datetime to use Java 8 APIs.
> > >>
> > >> Martin Grigorov
> > >> Wicket Training and Consulting
> > >> https://twitter.com/mtgrigorov
> > >>
> > >> On Thu, Sep 14, 2017 at 7:11 AM, Maxim Solodovnik <
> solomax...@gmail.com
> > >
> > >> wrote:
> > >>
> > >> Hello Martin,
> > >>>
> > >>> I tried to continue this work, but it seems I need some information
> > >>> before I can proceed
> > >>> Could you please tell me What was the goal of these changes?
> > >>>
> > >>> I would remove joda-time, and use LocalDate, LocalTime instead of
> Date
> > >>> As I can see you are using ZonedDateTime ...
> > >>>
> > >>>
> > >>> On Mon, Sep 11, 2017 at 9:01 PM, Martin Grigorov <
> mgrigo...@apache.org
> > >
> > >>> wrote:
> > >>>
> > >>>> Yes, if finished on time!
> > >>>> Wicket 7 requires Java 7
> > >>>>
> > >>>> Martin Grigorov
> > >>>> Wicket Training and Consulting
> > >>>> https://twitter.com/mtgrigorov
> > >>>>
> > >>>> On Mon, Sep 11, 2017 at 3:34 PM, Rakesh A <
> iamrakes...@rediffmail.com
> > >
> > >>>> wrote:
> > >>>>
> > >>>> Hi,
> > >>>>>
> > >>>>> Is it going to be for Wicket 8 only ?
> > >>>>>
> > >>>>> Regards,
> > >>>>> Rakesh.A
> > >>>>>
> > >>>>> --
> > >>>>> Sent from: http://apache-wicket.1842946.n4.nabble.com/Users-forum-
> > >>>>> f1842947.html
> > >>>>>
> > >>>>> 
> > -
> > >>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > >>>>> For additional commands, e-mail: users-h...@wicket.apache.org
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>
> > >>> --
> > >>> WBR
> > >>> Maxim aka solomax
> > >>>
> > >>> 
> -
> > >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > >>> For additional commands, e-mail: users-h...@wicket.apache.org
> > >>>
> > >>>
> > >>>
> > >
> > > -
> > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > For additional commands, e-mail: users-h...@wicket.apache.org
> > >
> > >
> >
>


Re: Joda-time dependency

2017-09-17 Thread Martin Makundi
Did you drop it from the pom already so that joda is not visible in the
scope?

2017-09-18 6:57 GMT+03:00 Maxim Solodovnik :

> date-time module will not have joda-time dependency after moving
> Other modules might have this dependency ...
>
> On Mon, Sep 18, 2017 at 10:50 AM, Martin Makundi
>  wrote:
> > Is it possible to also drop joda from wicketstuff for consistency?
> >
> > 2017-09-17 22:09 GMT+03:00 Andrea Del Bene :
> >
> >> +1 to move legacy code to WicketStuff. For 'legacy code' I mean all the
> >> code based on yui library and class StyleDateConverter which is
> tailored on
> >> Joda time.
> >>
> >>
> >>
> >> On 16/09/2017 14:13, Martin Grigorov wrote:
> >>
> >>> Hi Maxim,
> >>>
> >>> Since I do not use wicket-datetime in my apps I also wanted to break it
> >>> hard by replacing Joda-Time with Java 8 classes.
> >>> But people who use it expressed concerns that it will be hard to
> migrate
> >>> this way. Everyone will have to do the same for his/her application.
> >>> I remember Igor even suggested to have univeral API that will work with
> >>> java.util.Date, Joda-Time and Java 8!
> >>>
> >>> IMO the easiest thing that could be done is to copy the current code to
> >>> WicketStuff, as https://github.com/wicketstuff/wicket1.5-tree, and
> rework
> >>> wicket-datetime to use Java 8 APIs.
> >>>
> >>> Martin Grigorov
> >>> Wicket Training and Consulting
> >>> https://twitter.com/mtgrigorov
> >>>
> >>> On Thu, Sep 14, 2017 at 7:11 AM, Maxim Solodovnik <
> solomax...@gmail.com>
> >>> wrote:
> >>>
> >>> Hello Martin,
> >>>>
> >>>> I tried to continue this work, but it seems I need some information
> >>>> before I can proceed
> >>>> Could you please tell me What was the goal of these changes?
> >>>>
> >>>> I would remove joda-time, and use LocalDate, LocalTime instead of Date
> >>>> As I can see you are using ZonedDateTime ...
> >>>>
> >>>>
> >>>> On Mon, Sep 11, 2017 at 9:01 PM, Martin Grigorov <
> mgrigo...@apache.org>
> >>>> wrote:
> >>>>
> >>>>> Yes, if finished on time!
> >>>>> Wicket 7 requires Java 7
> >>>>>
> >>>>> Martin Grigorov
> >>>>> Wicket Training and Consulting
> >>>>> https://twitter.com/mtgrigorov
> >>>>>
> >>>>> On Mon, Sep 11, 2017 at 3:34 PM, Rakesh A <
> iamrakes...@rediffmail.com>
> >>>>> wrote:
> >>>>>
> >>>>> Hi,
> >>>>>>
> >>>>>> Is it going to be for Wicket 8 only ?
> >>>>>>
> >>>>>> Regards,
> >>>>>> Rakesh.A
> >>>>>>
> >>>>>> --
> >>>>>> Sent from: http://apache-wicket.1842946.n4.nabble.com/Users-forum-
> >>>>>> f1842947.html
> >>>>>>
> >>>>>> 
> -
> >>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> >>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>
> >>>> --
> >>>> WBR
> >>>> Maxim aka solomax
> >>>>
> >>>> -
> >>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> >>>> For additional commands, e-mail: users-h...@wicket.apache.org
> >>>>
> >>>>
> >>>>
> >>
> >> -
> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> >> For additional commands, e-mail: users-h...@wicket.apache.org
> >>
> >>
>
>
>
> --
> WBR
> Maxim aka solomax
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


Re: Joda-time dependency

2017-09-17 Thread Martin Makundi
Is it possible to also drop joda from wicketstuff for consistency?

2017-09-17 22:09 GMT+03:00 Andrea Del Bene :

> +1 to move legacy code to WicketStuff. For 'legacy code' I mean all the
> code based on yui library and class StyleDateConverter which is tailored on
> Joda time.
>
>
>
> On 16/09/2017 14:13, Martin Grigorov wrote:
>
>> Hi Maxim,
>>
>> Since I do not use wicket-datetime in my apps I also wanted to break it
>> hard by replacing Joda-Time with Java 8 classes.
>> But people who use it expressed concerns that it will be hard to migrate
>> this way. Everyone will have to do the same for his/her application.
>> I remember Igor even suggested to have univeral API that will work with
>> java.util.Date, Joda-Time and Java 8!
>>
>> IMO the easiest thing that could be done is to copy the current code to
>> WicketStuff, as https://github.com/wicketstuff/wicket1.5-tree, and rework
>> wicket-datetime to use Java 8 APIs.
>>
>> Martin Grigorov
>> Wicket Training and Consulting
>> https://twitter.com/mtgrigorov
>>
>> On Thu, Sep 14, 2017 at 7:11 AM, Maxim Solodovnik 
>> wrote:
>>
>> Hello Martin,
>>>
>>> I tried to continue this work, but it seems I need some information
>>> before I can proceed
>>> Could you please tell me What was the goal of these changes?
>>>
>>> I would remove joda-time, and use LocalDate, LocalTime instead of Date
>>> As I can see you are using ZonedDateTime ...
>>>
>>>
>>> On Mon, Sep 11, 2017 at 9:01 PM, Martin Grigorov 
>>> wrote:
>>>
 Yes, if finished on time!
 Wicket 7 requires Java 7

 Martin Grigorov
 Wicket Training and Consulting
 https://twitter.com/mtgrigorov

 On Mon, Sep 11, 2017 at 3:34 PM, Rakesh A 
 wrote:

 Hi,
>
> Is it going to be for Wicket 8 only ?
>
> Regards,
> Rakesh.A
>
> --
> Sent from: http://apache-wicket.1842946.n4.nabble.com/Users-forum-
> f1842947.html
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>
>
>>>
>>> --
>>> WBR
>>> Maxim aka solomax
>>>
>>> -
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>
>>>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


Re: Joda-time dependency

2017-09-15 Thread Martin Makundi
Just brute force it and we can fine-tune later.

2017-09-14 7:11 GMT+03:00 Maxim Solodovnik :

> Hello Martin,
>
> I tried to continue this work, but it seems I need some information
> before I can proceed
> Could you please tell me What was the goal of these changes?
>
> I would remove joda-time, and use LocalDate, LocalTime instead of Date
> As I can see you are using ZonedDateTime ...
>
>
> On Mon, Sep 11, 2017 at 9:01 PM, Martin Grigorov 
> wrote:
> > Yes, if finished on time!
> > Wicket 7 requires Java 7
> >
> > Martin Grigorov
> > Wicket Training and Consulting
> > https://twitter.com/mtgrigorov
> >
> > On Mon, Sep 11, 2017 at 3:34 PM, Rakesh A 
> > wrote:
> >
> >> Hi,
> >>
> >> Is it going to be for Wicket 8 only ?
> >>
> >> Regards,
> >> Rakesh.A
> >>
> >> --
> >> Sent from: http://apache-wicket.1842946.n4.nabble.com/Users-forum-
> >> f1842947.html
> >>
> >> -
> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> >> For additional commands, e-mail: users-h...@wicket.apache.org
> >>
> >>
>
>
>
> --
> WBR
> Maxim aka solomax
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


Re: Joda-time dependency

2017-09-11 Thread Martin Makundi
+1 dropping joda time.

2017-09-11 14:02 GMT+03:00 Rakesh A :

> Hi,
>
> Joda-time library dependency in Wicket was added long back for valid
> reasons
> then. With improvements to Date time API in JDK, do we still need this
> dependency ?
> Can we replace its usage in Wicket with JDK classes ?
>
> Reason for this is recently we'd issues with date time conversions when
> three letter time zones are used.
> Eg: When date entered is "04/08/2017 13:00" got converted to "04/08/2017
> 12:00" when EST (which currently observing EDT -
> https://www.timeanddate.com/time/zones/est) time zone used.
>
> Basically conversion result -1hr always.
>
> Regards,
> Rakesh.A
>
> --
> Sent from: http://apache-wicket.1842946.n4.nabble.com/Users-forum-
> f1842947.html
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


Re: How do you handle rolling upgrades?

2017-07-26 Thread Martin Makundi
Also if you shut down sessions, you need a grace period which lengthens the
update time.

2017-07-26 16:05 GMT+03:00 Bas Gooren :

> Hi All,
>
> TL;DR: How/where do you host your wicket apps so you can deploy a new
> version while users are actively using the old/current version? In
> particular: when the new version cannot read the sessions of the old
> version due to page changes.
>
> We’re investigating how we can eliminate downtime in some of our apps while
> we deploy a new version.
>
> Most of the stuff we’ve built in the past could handle 30 sec downtime
> without much issue (e.g. outside office hours).
>
> However, we would like to be able to deploy more often; Perhaps even move
> towards continuous deployment.
>
> Currently, using wicket, this seems problematic due to two reasons:
>
>- Wicket’s sessions (http session and in particular wicket’s filestore)
>require affinity
>- Session incompatibility: new version of app usually cannot deserialize
>old sessions; If we simply take the old version offline, users will
> need to
>start with a fresh session
>
> Since we would like to do deploys without service interruption for active
> users, I imagine something like session draining on the “old” version after
> the “new” version goes online.
> Haproxy has support for this: launch new version and route new users to it,
> put old one in maintenance mode and take it offline when all sessions for
> it have expired (or after predetermined timeout, e.g. 30 minutes).
>
> Most cloud providers (e.g. heroku, jelastic) don’t handle this gracefully
> for as far as I can tell. While they do handle rolling upgrades, they
> assume statelessness or otherwise transferable statefulness (new version
> can read state of old version).
>
> Tomcat has support for parallel deployments ([1]), but I’m not a big fan of
> running multiple apps in a single JVM.
>
> Since we don’t build things that will require massive horizontal
> scalability, powerful virtual servers have always worked great for us.
>
> That means we’ll probably need to put a reverse proxy in between our
> frontend (apache for SSL termination) and app server (tomcat) to handle
> routing.
> But of course, before we build something like that on top of haproxy (or
> other…) I’d like to make sure we’re not reinventing the wheel.
>
> I’m curious how other users of wicket handle this: how do you handle active
> user sessions (with state) when rolling out a new version of your app?
>
> I’d be grateful for any insights and experiences from other wicketeers!
>
> http://tomcat.apache.org/tomcat-8.5-doc/config/context.
> html#Parallel_deployment
>
>
> Met vriendelijke groet,
> Kind regards,
>
> Bas Gooren
>


Re: Question about ajax encoding/decoding, problem with image data url

2017-05-03 Thread Martin Makundi
My bad. Problem solved, accidentally this part of  code was within a
block of markup text where all whitespace was replaced with non breaking
space.

Nbsp looks the same for naked eye but a diff tool shows the difference, and
obviously browser will render differently  compared to
https://twitter.com/mtgrigorov
>>>
>>> On Wed, May 3, 2017 at 4:11 PM, Martin Makundi <
>>> martin.maku...@koodaripalvelut.com> wrote:
>>>
>>> > Here is a sample how it works in jsfiddle without problems:
>>> > https://jsfiddle.net/#&togetherjs=0SQvHmm6Nj
>>> >
>>> > But when same content is in ajax update it breaks. Wonder what happens
>>> to
>>> > it before render?
>>> >
>>> > 2017-05-03 16:06 GMT+03:00 Martin Makundi <
>>> > martin.maku...@koodaripalvelut.com>:
>>> >
>>> > > Hi!
>>> > >
>>> > > I am trying to display (wicket 1.4) an image using base64 image data
>>> > > representation.
>>> > >
>>> > > For some reason the base64 gets garbled every time with ajax.
>>> > >
>>> > > For example:
>>> > >
>>> > > src="data:image/png;base64,iVBORw0KGgoNSUhEUgAAAcIAAA
>>> > > CWCAYAAABNcIgQAAAKUklEQVR4nO3dzYoc1xkG4PcS+g5cVxDmAmzoC/
>>> > > BCm5BANrMIWXilCwgIvIl3hhC8CUYbe+WFcAgJWdgT8MI2xjEYjA0KGYSjmESY
>>> > > kSxLsmXHk0V1R6dPVff09H/JzwMHaTTVVae7xfnqfOen
>>> > >
>>> > > becomes (as viewed from firefox developer tools)
>>> > > >> > > bcm5banrmiwxilcwgivil3hhc8cuybe+wfcagjwdgt8mi2xjeyja0kgysjmesy
>>> > ksxlsmxhk0v1r6dpvff09h=""
>>> > > jzwmhattvvae7xfnqfoen...
>>> > >
>>> > > You can notice lots of ="" marks ="" splitting the string.
>>> > >
>>> > >
>>> > > Is this a wicket encoding issue or a javascript quirk?
>>> > >
>>> > > Thanks.
>>> > >
>>> > > **
>>> > > Martin
>>> > >
>>> > >
>>> >
>>>
>>
>>
>


Re: Question about ajax encoding/decoding, problem with image data url

2017-05-03 Thread Martin Makundi
Really strange, works on same installation in simpler installation. No
difference in http traffic...

2017-05-03 18:07 GMT+03:00 Martin Makundi <
martin.maku...@koodaripalvelut.com>:

> Interesting, it works in a quickstart also on v1.4.
>
> Need to investigate more.
>
> 2017-05-03 17:20 GMT+03:00 Martin Grigorov :
>
>> I don't see any reason why this could break.
>> If you are able to reproduce it in a quickstart with 6.26/7.6 then please
>> create a ticket in JIRA.
>>
>> Check what is in the Ajax response, not what is in the DOM.
>> Also you can check with Google Chrome. Maybe Firefox does something funky.
>>
>> Martin Grigorov
>> Wicket Training and Consulting
>> https://twitter.com/mtgrigorov
>>
>> On Wed, May 3, 2017 at 4:11 PM, Martin Makundi <
>> martin.maku...@koodaripalvelut.com> wrote:
>>
>> > Here is a sample how it works in jsfiddle without problems:
>> > https://jsfiddle.net/#&togetherjs=0SQvHmm6Nj
>> >
>> > But when same content is in ajax update it breaks. Wonder what happens
>> to
>> > it before render?
>> >
>> > 2017-05-03 16:06 GMT+03:00 Martin Makundi <
>> > martin.maku...@koodaripalvelut.com>:
>> >
>> > > Hi!
>> > >
>> > > I am trying to display (wicket 1.4) an image using base64 image data
>> > > representation.
>> > >
>> > > For some reason the base64 gets garbled every time with ajax.
>> > >
>> > > For example:
>> > >
>> > > src="data:image/png;base64,iVBORw0KGgoNSUhEUgAAAcIAAA
>> > > CWCAYAAABNcIgQAAAKUklEQVR4nO3dzYoc1xkG4PcS+g5cVxDmAmzoC/
>> > > BCm5BANrMIWXilCwgIvIl3hhC8CUYbe+WFcAgJWdgT8MI2xjEYjA0KGYSjmESY
>> > > kSxLsmXHk0V1R6dPVff09H/JzwMHaTTVVae7xfnqfOen
>> > >
>> > > becomes (as viewed from firefox developer tools)
>> > > > > > bcm5banrmiwxilcwgivil3hhc8cuybe+wfcagjwdgt8mi2xjeyja0kgysjmesy
>> > ksxlsmxhk0v1r6dpvff09h=""
>> > > jzwmhattvvae7xfnqfoen...
>> > >
>> > > You can notice lots of ="" marks ="" splitting the string.
>> > >
>> > >
>> > > Is this a wicket encoding issue or a javascript quirk?
>> > >
>> > > Thanks.
>> > >
>> > > **
>> > > Martin
>> > >
>> > >
>> >
>>
>
>


Re: Question about ajax encoding/decoding, problem with image data url

2017-05-03 Thread Martin Makundi
Interesting, it works in a quickstart also on v1.4.

Need to investigate more.

2017-05-03 17:20 GMT+03:00 Martin Grigorov :

> I don't see any reason why this could break.
> If you are able to reproduce it in a quickstart with 6.26/7.6 then please
> create a ticket in JIRA.
>
> Check what is in the Ajax response, not what is in the DOM.
> Also you can check with Google Chrome. Maybe Firefox does something funky.
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Wed, May 3, 2017 at 4:11 PM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
> > Here is a sample how it works in jsfiddle without problems:
> > https://jsfiddle.net/#&togetherjs=0SQvHmm6Nj
> >
> > But when same content is in ajax update it breaks. Wonder what happens to
> > it before render?
> >
> > 2017-05-03 16:06 GMT+03:00 Martin Makundi <
> > martin.maku...@koodaripalvelut.com>:
> >
> > > Hi!
> > >
> > > I am trying to display (wicket 1.4) an image using base64 image data
> > > representation.
> > >
> > > For some reason the base64 gets garbled every time with ajax.
> > >
> > > For example:
> > >
> > > src="data:image/png;base64,iVBORw0KGgoNSUhEUgAAAcIAAA
> > > CWCAYAAABNcIgQAAAKUklEQVR4nO3dzYoc1xkG4PcS+g5cVxDmAmzoC/
> > > BCm5BANrMIWXilCwgIvIl3hhC8CUYbe+WFcAgJWdgT8MI2xjEYjA0KGYSjmESY
> > > kSxLsmXHk0V1R6dPVff09H/JzwMHaTTVVae7xfnqfOen
> > >
> > > becomes (as viewed from firefox developer tools)
> > >  > > bcm5banrmiwxilcwgivil3hhc8cuybe+wfcagjwdgt8mi2xjeyja0kgysjmesy
> > ksxlsmxhk0v1r6dpvff09h=""
> > > jzwmhattvvae7xfnqfoen...
> > >
> > > You can notice lots of ="" marks ="" splitting the string.
> > >
> > >
> > > Is this a wicket encoding issue or a javascript quirk?
> > >
> > > Thanks.
> > >
> > > **
> > > Martin
> > >
> > >
> >
>


Re: Question about ajax encoding/decoding, problem with image data url

2017-05-03 Thread Martin Makundi
Here is a sample how it works in jsfiddle without problems:
https://jsfiddle.net/#&togetherjs=0SQvHmm6Nj

But when same content is in ajax update it breaks. Wonder what happens to
it before render?

2017-05-03 16:06 GMT+03:00 Martin Makundi <
martin.maku...@koodaripalvelut.com>:

> Hi!
>
> I am trying to display (wicket 1.4) an image using base64 image data
> representation.
>
> For some reason the base64 gets garbled every time with ajax.
>
> For example:
>
> src="data:image/png;base64,iVBORw0KGgoNSUhEUgAAAcIAAA
> CWCAYAAABNcIgQAAAKUklEQVR4nO3dzYoc1xkG4PcS+g5cVxDmAmzoC/
> BCm5BANrMIWXilCwgIvIl3hhC8CUYbe+WFcAgJWdgT8MI2xjEYjA0KGYSjmESY
> kSxLsmXHk0V1R6dPVff09H/JzwMHaTTVVae7xfnqfOen
>
> becomes (as viewed from firefox developer tools)
>  bcm5banrmiwxilcwgivil3hhc8cuybe+wfcagjwdgt8mi2xjeyja0kgysjmesyksxlsmxhk0v1r6dpvff09h=""
> jzwmhattvvae7xfnqfoen...
>
> You can notice lots of ="" marks ="" splitting the string.
>
>
> Is this a wicket encoding issue or a javascript quirk?
>
> Thanks.
>
> **
> Martin
>
>


Question about ajax encoding/decoding, problem with image data url

2017-05-03 Thread Martin Makundi
Hi!

I am trying to display (wicket 1.4) an image using base64 image data
representation.

For some reason the base64 gets garbled every time with ajax.

For example:

src="data:image/png;base64,iVBORw0KGgoNSUhEUgAAAcIAAACWCAYAAABNcIgQAAAKUklEQVR4nO3dzYoc1xkG4PcS+g5cVxDmAmzoC/BCm5BANrMIWXilCwgIvIl3hhC8CUYbe+WFcAgJWdgT8MI2xjEYjA0KGYSjmESYkSxLsmXHk0V1R6dPVff09H/JzwMHaTTVVae7xfnqfOen

becomes (as viewed from firefox developer tools)


Re: Wicket is #3 in the JSON perf test by TechEmpower

2017-03-23 Thread Martin Makundi
Would be interesting to run this performance test Wicket with speed patch
#6177

https://issues.apache.org/jira/browse/WICKET-6177

2017-03-23 15:58 GMT+02:00 Marcel Barbosa Pinto :

> That is really good!
>
> On Thu, Mar 23, 2017 at 5:47 AM, Andrea Del Bene 
> wrote:
>
> > Great!
> >
> > On Wed, Mar 22, 2017 at 11:28 PM, Tobias Soloschenko <
> > tobiassolosche...@googlemail.com> wrote:
> >
> > > "New" does not mean better. :-)
> > >
> > > kind regards
> > >
> > > Tobias
> > >
> > > > Am 22.03.2017 um 23:09 schrieb Martijn Dashorst <
> > > martijn.dasho...@gmail.com>:
> > > >
> > > > WOW
> > > >
> > > >> On Wed, Mar 22, 2017 at 10:12 PM, Martin Grigorov <
> > mgrigo...@apache.org>
> > > wrote:
> > > >> Hi,
> > > >>
> > > >> Somehow Wicket finished at 3rd position at the last preview run of
> > > >> TechEmpower framework tests :-)
> > > >> https://www.techempower.com/benchmarks/previews/round14/#
> > > section=data-r14&hw=ph&test=json
> > > >>
> > > >> At plaintext test we are at #18:
> > > >> https://www.techempower.com/benchmarks/previews/round14/#
> > > section=data-r14&hw=ph&test=plaintext
> > > >>
> > > >> Too bad that the new MySQL JDBC driver v.6 failed at their servers,
> > > >> otherwise I'd expect good results there too.
> > > >> https://github.com/TechEmpower/FrameworkBenchmarks/pull/2603
> > > >>
> > > >> Wicket 7.6.0 performs ~300% better than Round 13!
> > > >> https://www.techempower.com/benchmarks/previews/round14/
> > > r13-vs-r14p1.html
> > > >>
> > > >> The improvements come from
> > > >> https://github.com/TechEmpower/FrameworkBenchmarks/commit/
> > > 54152ceb735cf63351537556aa316dfd29202af4
> > > >> - custom root request mapper
> > > >> - reduced the response size to the minimum
> > > >>
> > > >>
> > > >> Once again the reactive frameworks are slower than the good old
> > Wicket!
> > > :-)
> > > >>
> > > >> Martin Grigorov
> > > >> Wicket Training and Consulting
> > > >> https://twitter.com/mtgrigorov
> > > >
> > > >
> > > >
> > > > --
> > > > Become a Wicket expert, learn from the best:
> http://wicketinaction.com
> > > >
> > > > 
> -
> > > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > > For additional commands, e-mail: users-h...@wicket.apache.org
> > > >
> > >
> > > -
> > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > For additional commands, e-mail: users-h...@wicket.apache.org
> > >
> > >
> >
>
>
>
> --
>
> Marcel Barbosa Pinto
> 55 11 98255 8288
>


Re: Drag/drop multiple items

2017-01-18 Thread Martin Makundi
Can you group them in javascript and detect group in wicket side, for
example as list of ids?

2017-01-19 8:29 GMT+02:00 Maxim Solodovnik :

> Hello Sebastien,
>
> I'm trying to implement subj.
> JS example I'm using as POC is here [1]
> Everything works, except for one thing: no matter how many objects I'm
> dropping I only have 1 onDrop() event inside wicket 
>
> can you help me to fix/workaround this?
> Thanks in advance!
>
> [1]
> http://stackoverflow.com/questions/793559/grouping-
> draggable-objects-with-jquery-ui-draggable
>
> --
> WBR
> Maxim aka solomax
>


Re: Multi-tab / window support in Wicket 7.5

2016-12-07 Thread Martin Makundi
> TabbedPanel? I was talking purely about browser tabs, so let's avoid
> confusion and keep TabbedPanel out of this thread. ;)
>

Sorry, that's our own use case we are having trouble with =)


> What you are suggesting with AjaxNewWindowModifyingBehavior is more or
> less what I had in mind for a single-page application. However in a
> multi-page multi-tab scenario keeping the per-tab state in the page
> instance is not enough. I'd still have to pass the state between pages
> instances.
>
> Or rather I could pass some identifier by eg. modifying my custom link
> class to automatically rewrite a page parameter like (/tab/). Then
> I'd store a Map in my session to access the per-tab state
> as needed.
>
> Kind regards,
>  Edmund
>
>
> On 12/07/2016 02:27 PM, Martin Grigorov wrote:
>
>> Both your problems are easily solveable by using the page instance as
>> "context".
>> The TabbedPanel is an instance of a Java object that is somewhere inside
>> of
>> an instance of a Page.
>>
>> Wicket provides org.apache.wicket.ajax.AjaxNewWindowNotifyingBehavior
>> that
>> can be used to notify the page that it is opened in a second browser
>> tab/window.
>> In its #onNewWindow() you can do something like:
>> setResponsePage(getPage().getPageClass(), getPage().getPageParameters()).
>> This will render a *new* instance of this page with its own TabbedPanel
>> where you will have different state.
>>
>> Martin Grigorov
>> Wicket Training and Consulting
>> https://twitter.com/mtgrigorov
>>
>> On Wed, Dec 7, 2016 at 2:13 PM, Urbani, Edmund <
>> edmund.urb...@lilandit.com>
>> wrote:
>>
>> What I am missing (and what my original question was referring to) is a
>>> per-tab context to put things. Think eg. of a page with a data table and
>>> some filters. The user applies filters, clicks on one of the found items
>>> (navigating to a different page), edits, saves (sends the user back to
>>> the
>>> page with the table) and expects the filter criteria to still be intact.
>>> In
>>> a single-tab scenario the filter criteria can be stored in the session -
>>> no
>>> problem.
>>>
>>> Now think of a user who uses multiple tabs with different filter criteria
>>> in each. This is where some sort of per-tab context/store would come in
>>> handy.
>>>
>>> Kind regards,
>>>   Edmund
>>>
>>> PS: I don't see this problem in single-page application though. The page
>>> state itself can represent the state of the tab.
>>>
>>>
>>> On 12/07/2016 01:45 PM, Martin Grigorov wrote:
>>>
>>> Could you please expand on
>>>> "and you do not want to make custom logic to allow multi
>>>> window/tab (in browser)" ?
>>>>
>>>> How exactly Wicket prevents the "multi browser tabs/windows" ?
>>>>
>>>> Martin Grigorov
>>>> Wicket Training and Consulting
>>>> https://twitter.com/mtgrigorov
>>>>
>>>> On Wed, Dec 7, 2016 at 1:37 PM, Martin Makundi <
>>>> martin.maku...@koodaripalvelut.com> wrote:
>>>>
>>>> If one makes a single-page application that has multiple tabs (within
>>>> one
>>>>
>>>>> browser window), and you do not want to make custom logic to allow
>>>>> multi
>>>>> window/tab (in browser) management into session, it would work best if
>>>>> there was separate "session" for each browser tab/window inside wicket.
>>>>>
>>>>> Simplest example is that session has variable "currentlySelectedTab" if
>>>>> you
>>>>> have two browser windows open both will be racing for this same
>>>>> variable
>>>>> unless sessions are separated.
>>>>>
>>>>> So from developer's perspective, would be simplest if wicket
>>>>> transparently
>>>>> separates sessions for each browser window/tab.
>>>>>
>>>>> **
>>>>> Martin
>>>>>
>>>>>
>>>>>
>>>>> 2016-12-07 14:19 GMT+02:00 Martin Grigorov :
>>>>>
>>>>> Hi,
>>>>>
>>>>>> What kind of problem exactly you try to solve there ?
>>>>>> What kind of issues do you face ?
>>>>>>
>>>>>> Martin Grigorov
>>>>>> Wicket

Re: Multi-tab / window support in Wicket 7.5

2016-12-07 Thread Martin Makundi
>
>
> >
> > Both your problems are easily solveable by using the page instance as
> > > "context".
> > > The TabbedPanel is an instance of a Java object that is somewhere
> inside
> > of
> > > an instance of a Page.
> > > Wicket provides org.apache.wicket.ajax.AjaxNewWindowNotifyingBehavior
> > that
> > > can be used to notify the page that it is opened in a second browser
> > > tab/window.
> > > In its #onNewWindow() you can do something like:
> > > setResponsePage(getPage().getPageClass(),
> getPage().getPageParameters())
> > .
> > > This will render a *new* instance of this page with its own TabbedPanel
> > > where you will have different state.
> >
> >
> > This does not (transparently) solve the issue with normal session
> > variables, such as filter etc. models in session. They are still saved if
> > session is the same.
> >
>
> It is not supposed to "solve" it.
> A HTTP session is something different.
> The HTTP session is per browser when you use cookie (JSESSIONID).
> If you use url-encoded jsessionid then you can have a http session per
> request if you want (not very useful though).
> I think you should ask in Sevlet container forums for this feature. It is
> one level before Wicket layer.
>

I believe this could be handled eleganlty inside wicket when request gets
session it could check for special wicket url parameter or http request
attribute and determine which "wicketsession" the request belongs to and
users's all wicketsessions would be stored in same http session but in a
way that wicket can keep separate wicketsession variables.

**
Martin


>
>
> >
> > **
> > Martin
> >
> >
> > >
> > > On 12/07/2016 01:45 PM, Martin Grigorov wrote:
> > >
> > >> Could you please expand on
> > >> "and you do not want to make custom logic to allow multi
> > >> window/tab (in browser)" ?
> > >>
> > >> How exactly Wicket prevents the "multi browser tabs/windows" ?
> > >>
> > >> Martin Grigorov
> > >> Wicket Training and Consulting
> > >> https://twitter.com/mtgrigorov
> > >>
> > >> On Wed, Dec 7, 2016 at 1:37 PM, Martin Makundi <
> > >> martin.maku...@koodaripalvelut.com> wrote:
> > >>
> > >> If one makes a single-page application that has multiple tabs (within
> > one
> > >>> browser window), and you do not want to make custom logic to allow
> > multi
> > >>> window/tab (in browser) management into session, it would work best
> if
> > >>> there was separate "session" for each browser tab/window inside
> wicket.
> > >>>
> > >>> Simplest example is that session has variable "currentlySelectedTab"
> if
> > >>> you
> > >>> have two browser windows open both will be racing for this same
> > variable
> > >>> unless sessions are separated.
> > >>>
> > >>> So from developer's perspective, would be simplest if wicket
> > >>> transparently
> > >>> separates sessions for each browser window/tab.
> > >>>
> > >>> **
> > >>> Martin
> > >>>
> > >>>
> > >>>
> > >>> 2016-12-07 14:19 GMT+02:00 Martin Grigorov :
> > >>>
> > >>> Hi,
> > >>>>
> > >>>> What kind of problem exactly you try to solve there ?
> > >>>> What kind of issues do you face ?
> > >>>>
> > >>>> Martin Grigorov
> > >>>> Wicket Training and Consulting
> > >>>> https://twitter.com/mtgrigorov
> > >>>>
> > >>>> On Wed, Dec 7, 2016 at 12:07 PM, Martin Makundi <
> > >>>> martin.maku...@koodaripalvelut.com> wrote:
> > >>>>
> > >>>> This should be built into wicket core, automatic session management.
> > >>>>>
> > >>>> Login
> > >>>>
> > >>>>> once and enable multiple tabs and a new sub-session for each tab.
> > >>>>>
> > >>>>> If user logs out from any of the sessions, all would be
> invalidated.
> > >>>>>
> > >>>>> Not sure if this exists yet, but would be needed.
> > >>>>>
> > >>>>> **
> > &g

Re: Multi-tab / window support in Wicket 7.5

2016-12-07 Thread Martin Makundi
> What I am missing (and what my original question was referring to) is a
> per-tab context to put things. Think eg. of a page with a data table and
> some filters. The user applies filters, clicks on one of the found items
> (navigating to a different page), edits, saves (sends the user back to the
> page with the table) and expects the filter criteria to still be intact. In
> a single-tab scenario the filter criteria can be stored in the session - no
> problem.
>
> Now think of a user who uses multiple tabs with different filter criteria
> in each. This is where some sort of per-tab context/store would come in
> handy.
>
> Kind regards,
>  Edmund
>
> PS: I don't see this problem in single-page application though. The page
> state itself can represent the state of the tab.


Only if user designs it stateless. Otherwise all state is in session by
default. To make it transparent for coder, wicket should handle it.


Both your problems are easily solveable by using the page instance as
> "context".
> The TabbedPanel is an instance of a Java object that is somewhere inside of
> an instance of a Page.
> Wicket provides org.apache.wicket.ajax.AjaxNewWindowNotifyingBehavior that
> can be used to notify the page that it is opened in a second browser
> tab/window.
> In its #onNewWindow() you can do something like:
> setResponsePage(getPage().getPageClass(), getPage().getPageParameters()).
> This will render a *new* instance of this page with its own TabbedPanel
> where you will have different state.


This does not (transparently) solve the issue with normal session
variables, such as filter etc. models in session. They are still saved if
session is the same.

**
Martin


>
> On 12/07/2016 01:45 PM, Martin Grigorov wrote:
>
>> Could you please expand on
>> "and you do not want to make custom logic to allow multi
>> window/tab (in browser)" ?
>>
>> How exactly Wicket prevents the "multi browser tabs/windows" ?
>>
>> Martin Grigorov
>> Wicket Training and Consulting
>> https://twitter.com/mtgrigorov
>>
>> On Wed, Dec 7, 2016 at 1:37 PM, Martin Makundi <
>> martin.maku...@koodaripalvelut.com> wrote:
>>
>> If one makes a single-page application that has multiple tabs (within one
>>> browser window), and you do not want to make custom logic to allow multi
>>> window/tab (in browser) management into session, it would work best if
>>> there was separate "session" for each browser tab/window inside wicket.
>>>
>>> Simplest example is that session has variable "currentlySelectedTab" if
>>> you
>>> have two browser windows open both will be racing for this same variable
>>> unless sessions are separated.
>>>
>>> So from developer's perspective, would be simplest if wicket
>>> transparently
>>> separates sessions for each browser window/tab.
>>>
>>> **
>>> Martin
>>>
>>>
>>>
>>> 2016-12-07 14:19 GMT+02:00 Martin Grigorov :
>>>
>>> Hi,
>>>>
>>>> What kind of problem exactly you try to solve there ?
>>>> What kind of issues do you face ?
>>>>
>>>> Martin Grigorov
>>>> Wicket Training and Consulting
>>>> https://twitter.com/mtgrigorov
>>>>
>>>> On Wed, Dec 7, 2016 at 12:07 PM, Martin Makundi <
>>>> martin.maku...@koodaripalvelut.com> wrote:
>>>>
>>>> This should be built into wicket core, automatic session management.
>>>>>
>>>> Login
>>>>
>>>>> once and enable multiple tabs and a new sub-session for each tab.
>>>>>
>>>>> If user logs out from any of the sessions, all would be invalidated.
>>>>>
>>>>> Not sure if this exists yet, but would be needed.
>>>>>
>>>>> **
>>>>> Martin
>>>>>
>>>>> 2016-12-07 12:59 GMT+02:00 Urbani, Edmund >>>>
>>>> :
>>>>
>>>>> Ok, but how do you create a session per tab? Also, I would at least
>>>>>>
>>>>> need
>>>>
>>>>> to login the authenticated user in the new session.
>>>>>>
>>>>>>
>>>>>> On 12/07/2016 11:43 AM, Martin Makundi wrote:
>>>>>>
>>>>>> We have noticed that most robust if you can get different session for
>>>>>>
>>>>> each
>>>>>
>>>>>> tab because the se

Re: Multi-tab / window support in Wicket 7.5

2016-12-07 Thread Martin Makundi
> Could you please expand on
> "and you do not want to make custom logic to allow multi
> window/tab (in browser)" ?
>
> How exactly Wicket prevents the "multi browser tabs/windows" ?
>

If all browser windows have same session then a single page application
will always show same wicket TabbedPanel tab for all browser windows
because they share session and they share information about which tab is
active.

**
Martin


>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Wed, Dec 7, 2016 at 1:37 PM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
> > If one makes a single-page application that has multiple tabs (within one
> > browser window), and you do not want to make custom logic to allow multi
> > window/tab (in browser) management into session, it would work best if
> > there was separate "session" for each browser tab/window inside wicket.
> >
> > Simplest example is that session has variable "currentlySelectedTab" if
> you
> > have two browser windows open both will be racing for this same variable
> > unless sessions are separated.
> >
> > So from developer's perspective, would be simplest if wicket
> transparently
> > separates sessions for each browser window/tab.
> >
> > **
> > Martin
> >
> >
> >
> > 2016-12-07 14:19 GMT+02:00 Martin Grigorov :
> >
> > > Hi,
> > >
> > > What kind of problem exactly you try to solve there ?
> > > What kind of issues do you face ?
> > >
> > > Martin Grigorov
> > > Wicket Training and Consulting
> > > https://twitter.com/mtgrigorov
> > >
> > > On Wed, Dec 7, 2016 at 12:07 PM, Martin Makundi <
> > > martin.maku...@koodaripalvelut.com> wrote:
> > >
> > > > This should be built into wicket core, automatic session management.
> > > Login
> > > > once and enable multiple tabs and a new sub-session for each tab.
> > > >
> > > > If user logs out from any of the sessions, all would be invalidated.
> > > >
> > > > Not sure if this exists yet, but would be needed.
> > > >
> > > > **
> > > > Martin
> > > >
> > > > 2016-12-07 12:59 GMT+02:00 Urbani, Edmund <
> edmund.urb...@lilandit.com
> > >:
> > > >
> > > > > Ok, but how do you create a session per tab? Also, I would at least
> > > need
> > > > > to login the authenticated user in the new session.
> > > > >
> > > > >
> > > > > On 12/07/2016 11:43 AM, Martin Makundi wrote:
> > > > >
> > > > > We have noticed that most robust if you can get different session
> for
> > > > each
> > > > > tab because the session shares models and will easily conflict if
> > > session
> > > > > is not distinct for each tab.
> > > > >
> > > > >
> > > > >
> > > > > 2016-12-07 12:42 GMT+02:00 Urbani, Edmund <
> > edmund.urb...@lilandit.com>
> > > <
> > > > edmund.urb...@lilandit.com>:
> > > > >
> > > > >
> > > > > Hi all,
> > > > >
> > > > > I have a some questions about the current state of this feature.
> > > > >
> > > > > Firstly, how reliable is it? (Works on all/current browsers? Can
> > still
> > > > > break under certain circumstances?)
> > > > >
> > > > > And secondly, how would I store my own state information per
> > > tab/window?
> > > > > The session context seems too broad because it is shared by all
> tabs
> > > and
> > > > > the page context is too limited.
> > > > >
> > > > > I could make it work with the session anyway, if I can somehow
> > identify
> > > > > the current browser tab and put things into a map accordingly. Or I
> > > could
> > > > > pass on all required info from page to page which would be quite
> > > > cumbersome
> > > > > and conflict with my approach to use bookmarkable URLs wherever
> > > possible.
> > > > >
> > > > > Kind regards,
> > > > >  Edmund
> > > > >
> > > > >
> > > > > 
> > -
> > > > > To unsubscribe, e-mail: u

Re: Multi-tab / window support in Wicket 7.5

2016-12-07 Thread Martin Makundi
If one makes a single-page application that has multiple tabs (within one
browser window), and you do not want to make custom logic to allow multi
window/tab (in browser) management into session, it would work best if
there was separate "session" for each browser tab/window inside wicket.

Simplest example is that session has variable "currentlySelectedTab" if you
have two browser windows open both will be racing for this same variable
unless sessions are separated.

So from developer's perspective, would be simplest if wicket transparently
separates sessions for each browser window/tab.

**
Martin



2016-12-07 14:19 GMT+02:00 Martin Grigorov :

> Hi,
>
> What kind of problem exactly you try to solve there ?
> What kind of issues do you face ?
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Wed, Dec 7, 2016 at 12:07 PM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
> > This should be built into wicket core, automatic session management.
> Login
> > once and enable multiple tabs and a new sub-session for each tab.
> >
> > If user logs out from any of the sessions, all would be invalidated.
> >
> > Not sure if this exists yet, but would be needed.
> >
> > **
> > Martin
> >
> > 2016-12-07 12:59 GMT+02:00 Urbani, Edmund :
> >
> > > Ok, but how do you create a session per tab? Also, I would at least
> need
> > > to login the authenticated user in the new session.
> > >
> > >
> > > On 12/07/2016 11:43 AM, Martin Makundi wrote:
> > >
> > > We have noticed that most robust if you can get different session for
> > each
> > > tab because the session shares models and will easily conflict if
> session
> > > is not distinct for each tab.
> > >
> > >
> > >
> > > 2016-12-07 12:42 GMT+02:00 Urbani, Edmund 
> <
> > edmund.urb...@lilandit.com>:
> > >
> > >
> > > Hi all,
> > >
> > > I have a some questions about the current state of this feature.
> > >
> > > Firstly, how reliable is it? (Works on all/current browsers? Can still
> > > break under certain circumstances?)
> > >
> > > And secondly, how would I store my own state information per
> tab/window?
> > > The session context seems too broad because it is shared by all tabs
> and
> > > the page context is too limited.
> > >
> > > I could make it work with the session anyway, if I can somehow identify
> > > the current browser tab and put things into a map accordingly. Or I
> could
> > > pass on all required info from page to page which would be quite
> > cumbersome
> > > and conflict with my approach to use bookmarkable URLs wherever
> possible.
> > >
> > > Kind regards,
> > >  Edmund
> > >
> > >
> > > -
> > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > > For additional commands, e-mail: users-h...@wicket.apache.org
> > >
> > >
> > >
> > > --
> > >
> > > Edmund Urbani
> > > Liland IT Team
> > >
> > > Email: edmund.urb...@lilandit.com 
> > >
> > > Liland IT GmbH ...does IT better
> > > Tel: +43 463 220111
> > > Fax: +43 463 220111-33
> > > Tel(GER): +49 221 65028588
> > >
> > > Find us at Facebook http://facebook.com/Lilandit
> > > http://iventcloud.com
> > > http://Lilandit.com
> > >
> > > <http://www.LilandIT.com> <http://www.LilandIT.com>
> > >
> > > Copyright © 2016, Liland IT GmbH
> > >
> > > Diese Mail enthaelt vertrauliche und/oder rechtlich geschuetzte
> > > Informationen.
> > > Wenn Sie nicht der richtige Adressat sind oder diese Email irrtuemlich
> > > erhalten haben, informieren Sie bitte sofort den Absender und
> vernichten
> > > Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe
> > > dieser Mail ist nicht gestattet.
> > >
> > > This email may contain confidential and/or privileged information.
> > > If you are not the intended recipient (or have received this email in
> > > error) please notify the sender immediately and destroy this email. Any
> > > unauthorised copying, disclosure or distribution of the material in
> this
> > > email is strictly forbidden.
> > >
> >
>


Re: Multi-tab / window support in Wicket 7.5

2016-12-07 Thread Martin Makundi
This should be built into wicket core, automatic session management. Login
once and enable multiple tabs and a new sub-session for each tab.

If user logs out from any of the sessions, all would be invalidated.

Not sure if this exists yet, but would be needed.

**
Martin

2016-12-07 12:59 GMT+02:00 Urbani, Edmund :

> Ok, but how do you create a session per tab? Also, I would at least need
> to login the authenticated user in the new session.
>
>
> On 12/07/2016 11:43 AM, Martin Makundi wrote:
>
> We have noticed that most robust if you can get different session for each
> tab because the session shares models and will easily conflict if session
> is not distinct for each tab.
>
>
>
> 2016-12-07 12:42 GMT+02:00 Urbani, Edmund  
> :
>
>
> Hi all,
>
> I have a some questions about the current state of this feature.
>
> Firstly, how reliable is it? (Works on all/current browsers? Can still
> break under certain circumstances?)
>
> And secondly, how would I store my own state information per tab/window?
> The session context seems too broad because it is shared by all tabs and
> the page context is too limited.
>
> I could make it work with the session anyway, if I can somehow identify
> the current browser tab and put things into a map accordingly. Or I could
> pass on all required info from page to page which would be quite cumbersome
> and conflict with my approach to use bookmarkable URLs wherever possible.
>
> Kind regards,
>  Edmund
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>
>
> --
>
> Edmund Urbani
> Liland IT Team
>
> Email: edmund.urb...@lilandit.com 
>
> Liland IT GmbH ...does IT better
> Tel: +43 463 220111
> Fax: +43 463 220111-33
> Tel(GER): +49 221 65028588
>
> Find us at Facebook http://facebook.com/Lilandit
> http://iventcloud.com
> http://Lilandit.com
>
> <http://www.LilandIT.com> <http://www.LilandIT.com>
>
> Copyright © 2016, Liland IT GmbH
>
> Diese Mail enthaelt vertrauliche und/oder rechtlich geschuetzte
> Informationen.
> Wenn Sie nicht der richtige Adressat sind oder diese Email irrtuemlich
> erhalten haben, informieren Sie bitte sofort den Absender und vernichten
> Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe
> dieser Mail ist nicht gestattet.
>
> This email may contain confidential and/or privileged information.
> If you are not the intended recipient (or have received this email in
> error) please notify the sender immediately and destroy this email. Any
> unauthorised copying, disclosure or distribution of the material in this
> email is strictly forbidden.
>


Re: Multi-tab / window support in Wicket 7.5

2016-12-07 Thread Martin Makundi
We have noticed that most robust if you can get different session for each
tab because the session shares models and will easily conflict if session
is not distinct for each tab.



2016-12-07 12:42 GMT+02:00 Urbani, Edmund :

> Hi all,
>
> I have a some questions about the current state of this feature.
>
> Firstly, how reliable is it? (Works on all/current browsers? Can still
> break under certain circumstances?)
>
> And secondly, how would I store my own state information per tab/window?
> The session context seems too broad because it is shared by all tabs and
> the page context is too limited.
>
> I could make it work with the session anyway, if I can somehow identify
> the current browser tab and put things into a map accordingly. Or I could
> pass on all required info from page to page which would be quite cumbersome
> and conflict with my approach to use bookmarkable URLs wherever possible.
>
> Kind regards,
>  Edmund
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


Re: Approach to changing value in input field before validation

2016-07-25 Thread Martin Makundi
We have made an utility method that uses reflection to set rawinput, and
have found this very useful.

You set both rawInput and rawInputArray

**
Martin

2016-07-26 1:18 GMT+03:00 Lon Varscsak :

> Okay, so I have a need…I’m sure I’m going to get “why are you doing that?”,
> but I have this need regardless and here’s what it is… :D
>
> User inputs “VALUEA”, I want to look up something in the database for
> “VALUEA”, and if conditions are met, replace that with “VALUEB” and
> continue with validation for the new value.  However, the only way I can
> see to do this would be to update the *rawInput* value, which I do not have
> access to as a subclass (it’s private).
>
> So instead, I tried writing a converter, and it generally behaves as I want
> (it validates “VALUEB”), however if there’s a validation error on “VALUEB”
> the rawInput is still “VALUEA”…so it’s a little confusing to the user.
>
> I’m not sure that using a converter is the “right” approach, but it’s the
> closest I’ve come to a solution.
>
> Thoughts?
>
> Thanks,
>
> Lon
>


Re: Blocking page serialization

2016-06-05 Thread Martin Makundi
>
>
> Every part of the page storing related classes is easily replaceable!
> There is a chapter about it in the user guide.
>

The prolbem is that if we do it brute force in different thread, no
threadlocal requests will work during persistence and it will throw
exceptions.

How many components do you have?
> I have seen some pretty big pages with tables with many rows but this has
> not been a problem.
>

We have tables with 200x400 cells and each cell has nested structures which
brings to millions of components.

**
Martin



> On Jun 5, 2016 10:48 AM, "Martin Makundi" <
> martin.maku...@koodaripalvelut.com> wrote:
>
> > Hi!
> >
> > https://issues.apache.org/jira/browse/WICKET-6177
> >
> > We have a performance issue with our Wicket app, page serialization
> causes
> > inconvenience to user because PageStoreManager.storeTouchedPages() blocks
> > the request until pageSerializer.serialize(page) has been handled.
> >
> > Could this be solved by serializing the page in a separate thread and let
> > the request complete?
> >
> > We have attempted to solve this before for 1.4x but it failed due to
> > thread-dependenciecs:  https://issues.apache.org/jira/browse/WICKET-5805
> >
> > Any ideas how this could be solved with 7.x? This would bring a
> significant
> > performance boost on component-intensive pages. Simply using detachable
> > models does not solve the issue when the serialization of the component
> > hierarchy itself is slow.
> >
> > Thanks.
> >
> > **
> > Martin
> >
>


Blocking page serialization

2016-06-05 Thread Martin Makundi
Hi!

https://issues.apache.org/jira/browse/WICKET-6177

We have a performance issue with our Wicket app, page serialization causes
inconvenience to user because PageStoreManager.storeTouchedPages() blocks
the request until pageSerializer.serialize(page) has been handled.

Could this be solved by serializing the page in a separate thread and let
the request complete?

We have attempted to solve this before for 1.4x but it failed due to
thread-dependenciecs:  https://issues.apache.org/jira/browse/WICKET-5805

Any ideas how this could be solved with 7.x? This would bring a significant
performance boost on component-intensive pages. Simply using detachable
models does not solve the issue when the serialization of the component
hierarchy itself is slow.

Thanks.

**
Martin


Re: Getting the model

2016-03-31 Thread Martin Makundi
2016-03-31 17:06 GMT+03:00 Ron Smits :

> I have searched but I dont find a clear way of getting the model when one
> is creating a custom component:
>
>
> public MoneyLabel(String id) {
> super(id);
> add(new AttributeAppender("class", " number"));
> }
>
> public MoneyLabel(String id, Model bigDecimalModel) {
> super(id, bigDecimalModel);
> add(new AttributeAppender("class", " number"));
> if (bigDecimalModel.getObject().doubleValue() < 0.0) {
> add(new AttributeAppender("class", " negative"));
> }
> }
>
> In the second constructor I can use the supplied model to determine to add
> the negative class. However in the first constructor I cannot find a way to
> access the model.
>
> What am I missing?
>

1. To answer your question: Is this MoneyLabel your own design? If it is
you are free to implement as you whish, or even drop the first constructor.

2. To give a recommendation on your design, I would attach the
AttributeAppender in any case and only check if the model is negative at
runtime (hollywood principle) like this:

add(new AttributeAppender("class", " negative") {

 @Override
  isEnabled(..) {
 bigDecimalModel.getObject().doubleValue() < 0.0
  }
});


**
Martin

>
> Ron
> ​
>


Re: How to set the page title?

2015-12-09 Thread Martin Makundi
Another way in overriding class:

/**
   * @see
org.apache.wicket.Component#renderHead(org.apache.wicket.markup.html.internal.HtmlHeaderContainer)
   */
  @Override
  public void renderHead(HtmlHeaderContainer container) {
super.renderHead(container);
getResponse().write("" +
application.getEmployee().getPerson().displayName() + "");
  }

--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/How-to-set-the-page-title-tp4662372p4672919.html
Sent from the Users forum mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Session leak issue, trying to optimize 1.4x

2015-01-13 Thread Martin Makundi
Bounty:
https://www.elance.com/j/java-wicket-core-jetty-internals-expert-fix-session-leak-issue/67287632/

2015-01-09 16:16 GMT+02:00 Martin Makundi <
martin.maku...@koodaripalvelut.com>:

> Hi!
>
> Can anybody help with this?
> https://issues.apache.org/jira/browse/WICKET-5805
>
> **
> Martin
>
> 2015-01-08 9:24 GMT+02:00 Martin Makundi <
> martin.maku...@koodaripalvelut.com>:
>
>> Hi!
>>
>> We have a performance issue with our Wicket 1.4 app, page serialization
>> causes inconvenience to user because RequestCycle.detach() blocks the
>> request until session.requestDetached() has been handled.
>>
>> We attempted to solve this issue by invoking session.requestDetached in a
>> separate thread and thus allowing user to receive their request without
>> waiting for page serialization in SecondLevelCachePageMap. The disk writing
>> is already parallel, but serialization is blocking.
>>
>> What would be the best (and safest) way to implement this? I have
>> attached our (proposed) patches to jira issue:
>> https://issues.apache.org/jira/browse/WICKET-5805
>>
>>
>> **
>> Martin
>>
>
>


Re: Wicket request processing

2015-01-11 Thread Martin Makundi
It's easiest if you use maven, simply check box [x] download sources.

Also you can use mvn commandline mvn eclipse:eclipse -Dsources

2015-01-11 12:04 GMT+02:00 kumar ramanathan :

> Hi Martin,
> Am not using maven.But using eclipse,placed necessary jar files and run it
> via tomcat. Kindly tell what needs to do for this.
>
> Thanks,
> Kumar
>
>
> --
> View this message in context:
> http://apache-wicket.1842946.n4.nabble.com/Wicket-request-processing-tp4668967p4668969.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


Re: Wicket request processing

2015-01-10 Thread Martin Makundi
Do you have wicket sources available in your dev environment (e.g., via
maven)?

Put breakpoint inside model.setObject() and start debugging and you will
see everything happen real-time in debugger.

**
Martin

2015-01-10 16:24 GMT+02:00 kumar ramanathan :

> Hi friends ,Am trying to learn how a request is getting processed in
> wicket .
> gone through cwiki and apache wicket guide . got some idea , still exactly
> am not able to get the concepts like A. How our inputs are passed to server
> ... Like server where we have req.get parameters workingB. Where are our do
> get and so post method getting the inputs C. Where our servlet request
> generated D. Basic idea with simple hello world example like thatI need
> your
> help  Please help me on this.ThanksKumar
>
> --
> View this message in context:
> http://apache-wicket.1842946.n4.nabble.com/Wicket-request-processing-tp4668967.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


Re: Session leak issue, trying to optimize 1.4x

2015-01-09 Thread Martin Makundi
Hi!

Can anybody help with this?
https://issues.apache.org/jira/browse/WICKET-5805

**
Martin

2015-01-08 9:24 GMT+02:00 Martin Makundi :

> Hi!
>
> We have a performance issue with our Wicket 1.4 app, page serialization
> causes inconvenience to user because RequestCycle.detach() blocks the
> request until session.requestDetached() has been handled.
>
> We attempted to solve this issue by invoking session.requestDetached in a
> separate thread and thus allowing user to receive their request without
> waiting for page serialization in SecondLevelCachePageMap. The disk writing
> is already parallel, but serialization is blocking.
>
> What would be the best (and safest) way to implement this? I have attached
> our (proposed) patches to jira issue:
> https://issues.apache.org/jira/browse/WICKET-5805
>
>
> **
> Martin
>


Wicket job opening in Estonia

2014-11-21 Thread Martin Makundi
Hi!

We have a wicket job opening in Estonia, required fluency in Estonian and
Finnish.

Feel free to email me or apply via
http://www.youritprofile.com/job_ad/id/701


**
Martin


Re: Transpose html table

2014-10-03 Thread Martin Makundi
I'd prefer to do it transparently without changing models and minimal
(hardcoded) change to components.

**
Martin

2014-10-03 23:50 GMT+03:00 Paul Bors :

> If you want to "transpose" your table (ie: change the rows and columns)
> then it turn this implies that you want to change the structure of the
> table both the format and the model.
> ie: You need to provide new columns and new data model.
>
> You would do so in 2 steps:
> 1) Create the new table with the new columns
> 2) Provide it the new data model
>
> Then use the addOrReplace("tableId", transposedTableRef) and you're done.
>
> Otherwise... look at transposing your table in jQuery alone on the client
> side and not on the server side.
>
> On Fri, Oct 3, 2014 at 11:53 AM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
> > Hi!
> >
> > We have a html table in wicket implemented as:
> >
> > foreach :: listview of table rows {
> >   ..
> >   foreach :: list view of table cells {
> >  ..
> >   }
> > }
> >
> > (note: that was pseudocode)
> >
> >
> > What we would like to do, is offer users possibility to transpose the
> > table, however, with minimum changes to the code.
> >
> > Anybody done this? Any insights?
> >
> > We acknowledge that there are some inherent differences in the transposed
> > versions of a html table. For example table rows can be ajax updated but
> > table columns cannot. This might suggest that a div suitable layout
> should
> > be used? Or should we simply
> > ajaxRequestTarget.addComponent(xx::foreach::firstChildOfRow)  visit each
> > first child of '*row*' when transposed?
> >
> > Maybe the transpose could be done using a simple onrender string replace
> > operation (think along the lines of a "*complex regexp operation*").
> >
> > Any ideas, comments?
> >
> > Would be nice to accomplish this with a neat trick... NOT looking for a
> js
> > gimmick because that will be slow with our heavy duty tables.
> >
> > Some references:
> >
> >-
> >
> >
> http://assaneonline.blogspot.fi/2011/02/looking-for-simpler-way-to-transpose.html
> >-
> >
> >
> http://adomas.eu/transposing-html-table-even-with-colspan-and-rowspan-used-with-jquery-javascript-code/
> >
> >
> > **
> > Martin
> >
>


Transpose html table

2014-10-03 Thread Martin Makundi
Hi!

We have a html table in wicket implemented as:

foreach :: listview of table rows {
  ..
  foreach :: list view of table cells {
 ..
  }
}

(note: that was pseudocode)


What we would like to do, is offer users possibility to transpose the
table, however, with minimum changes to the code.

Anybody done this? Any insights?

We acknowledge that there are some inherent differences in the transposed
versions of a html table. For example table rows can be ajax updated but
table columns cannot. This might suggest that a div suitable layout should
be used? Or should we simply
ajaxRequestTarget.addComponent(xx::foreach::firstChildOfRow)  visit each
first child of '*row*' when transposed?

Maybe the transpose could be done using a simple onrender string replace
operation (think along the lines of a "*complex regexp operation*").

Any ideas, comments?

Would be nice to accomplish this with a neat trick... NOT looking for a js
gimmick because that will be slow with our heavy duty tables.

Some references:

   -
   
http://assaneonline.blogspot.fi/2011/02/looking-for-simpler-way-to-transpose.html
   -
   
http://adomas.eu/transposing-html-table-even-with-colspan-and-rowspan-used-with-jquery-javascript-code/


**
Martin


Re: Support for optgroup ?

2014-06-04 Thread Martin Makundi
Ah.. and token was:
  private static final String TOKEN = " value=\"\"";



2014-06-05 9:42 GMT+03:00 Martin Makundi :

> The optgroup code might be buggy, here is a fresh one:
>
>   private String previouslyAppendedOptGroupLabel;
>   private int choices;
>
>   /**
>* @see
> org.apache.wicket.markup.html.form.AbstractChoice#onComponentTagBody(org.apache.wicket.markup.MarkupStream,
> org.apache.wicket.markup.ComponentTag)
>*/
>   @Override
>   protected void onComponentTagBody(MarkupStream markupStream,
>   ComponentTag openTag) {
> previouslyAppendedOptGroupLabel = null;
> choices = getChoices().size();
> super.onComponentTagBody(markupStream, openTag);
>   }
>
>
> /**
>* @see
> org.apache.wicket.markup.html.form.AbstractChoice#appendOptionHtml(org.apache.wicket.util.string.AppendingStringBuffer,
> java.lang.Object, int, java.lang.String)
>*/
>   @Override
>   protected void appendOptionHtml(AppendingStringBuffer buffer, T choice,
>   int index, String selected) {
> AppendingStringBuffer tmp = new AppendingStringBuffer(50);
> super.appendOptionHtml(tmp, choice, index, selected);
>
> if (getChoiceRenderer() instanceof IStyledChoiceRenderer) {
>   IStyledChoiceRenderer styledChoiceRenderer =
> (IStyledChoiceRenderer) getChoiceRenderer();
>
>   String currentOptGroupLabel =
> styledChoiceRenderer.getOptGroupLabel(choice);
>
>   if (!Utils.equalsOrNull(currentOptGroupLabel,
> previouslyAppendedOptGroupLabel)) {
> // OptGroup changed
> if (previouslyAppendedOptGroupLabel != null) {
>   endOptGroup(buffer);
> }
>
> if (currentOptGroupLabel != null) {
>   // OptGroup started
>   int start = tmp.indexOf("   StringBuilder label = new
> StringBuilder(currentOptGroupLabel.length() + 19);
>   label.append(" label=\"").append(currentOptGroupLabel).append("\">");
>   tmp.insert(start, label);
> }
>   }
>
>   if ((currentOptGroupLabel != null) && (index == (choices-1))) {
> // Last option group must end too
> endOptGroup(tmp);
>   }
>
>   {
> String cssClass =
> styledChoiceRenderer.getOptionCssClassName(choice);
> if (cssClass != null) {
>   int start = tmp.indexOf("   tmp.insert(start + 7, getClass(cssClass));
> }
>   }
>
>   previouslyAppendedOptGroupLabel = currentOptGroupLabel;
> }
>
> buffer.append(tmp);
>   }
>
>   /**
>* @param cssClass
>* @return StringBuilder
>*/
>   private StringBuilder getClass(String cssClass) {
> return new StringBuilder(" class=\"").append(cssClass).append("\"");
>   }
>
>   /**
>* @see
> org.apache.wicket.markup.html.form.AbstractSingleSelectChoice#getDefaultChoice(java.lang.Object)
>*/
>   @Override
>   protected CharSequence getDefaultChoice(Object selected) {
> CharSequence charSequence = super.getDefaultChoice(selected);
>
> if (charSequence.toString().contains(TOKEN) && (getChoiceRenderer()
> instanceof IStyledChoiceRenderer)) {
>   AppendingStringBuffer buffer = new
> AppendingStringBuffer(charSequence);
>   IStyledChoiceRenderer styledChoiceRenderer =
> (IStyledChoiceRenderer) getChoiceRenderer();
>   String cssClass = styledChoiceRenderer.getOptionCssClassName(null);
>   if (!Utils.isEmpty(cssClass)) {
> buffer.insert(buffer.indexOf(TOKEN), getClass(cssClass));
> return buffer;
>   }
> }
>
> return charSequence;
>   }
>
>   /**
>* @param tmp
>*/
>   private void endOptGroup(AppendingStringBuffer tmp) {
> // OptGroup ended
> int start = tmp.lastIndexOf("");
> tmp.insert(start + 9, "");
>   }
>
>
> 2014-06-05 9:37 GMT+03:00 Thies Edeling :
>
> thanks!
>>
>>
>> On Thu, Jun 5, 2014 at 1:48 AM, Martin Makundi <
>> martin.maku...@koodaripalvelut.com> wrote:
>>
>> > Look at:
>> >
>> >
>> >
>> http://mail-archives.apache.org/mod_mbox/wicket-users/200912.mbox/%3c303141550912040641r1e00841dudaacfefda9497...@mail.gmail.com%3E
>> >
>> >
>> > 2014-06-05 1:41 GMT+03:00 Thies Edeling :
>> >
>> > > Is there any support for optgroup's in Wicket? I can only find some
>> > > examples using ListView's and other hacky solutions so I'm guessing
>> there
>> > > isn't :) Thanks !
>> > >
>> > > gr
>> > > Thies
>> > >
>> >
>>
>
>


Re: Support for optgroup ?

2014-06-04 Thread Martin Makundi
The optgroup code might be buggy, here is a fresh one:

  private String previouslyAppendedOptGroupLabel;
  private int choices;

  /**
   * @see
org.apache.wicket.markup.html.form.AbstractChoice#onComponentTagBody(org.apache.wicket.markup.MarkupStream,
org.apache.wicket.markup.ComponentTag)
   */
  @Override
  protected void onComponentTagBody(MarkupStream markupStream,
  ComponentTag openTag) {
previouslyAppendedOptGroupLabel = null;
choices = getChoices().size();
super.onComponentTagBody(markupStream, openTag);
  }


/**
   * @see
org.apache.wicket.markup.html.form.AbstractChoice#appendOptionHtml(org.apache.wicket.util.string.AppendingStringBuffer,
java.lang.Object, int, java.lang.String)
   */
  @Override
  protected void appendOptionHtml(AppendingStringBuffer buffer, T choice,
  int index, String selected) {
AppendingStringBuffer tmp = new AppendingStringBuffer(50);
super.appendOptionHtml(tmp, choice, index, selected);

if (getChoiceRenderer() instanceof IStyledChoiceRenderer) {
  IStyledChoiceRenderer styledChoiceRenderer =
(IStyledChoiceRenderer) getChoiceRenderer();

  String currentOptGroupLabel =
styledChoiceRenderer.getOptGroupLabel(choice);

  if (!Utils.equalsOrNull(currentOptGroupLabel,
previouslyAppendedOptGroupLabel)) {
// OptGroup changed
if (previouslyAppendedOptGroupLabel != null) {
  endOptGroup(buffer);
}

if (currentOptGroupLabel != null) {
  // OptGroup started
  int start = tmp.indexOf("");
  tmp.insert(start, label);
}
  }

  if ((currentOptGroupLabel != null) && (index == (choices-1))) {
// Last option group must end too
endOptGroup(tmp);
  }

  {
String cssClass =
styledChoiceRenderer.getOptionCssClassName(choice);
if (cssClass != null) {
  int start = tmp.indexOf(" styledChoiceRenderer =
(IStyledChoiceRenderer) getChoiceRenderer();
  String cssClass = styledChoiceRenderer.getOptionCssClassName(null);
  if (!Utils.isEmpty(cssClass)) {
buffer.insert(buffer.indexOf(TOKEN), getClass(cssClass));
return buffer;
  }
}

return charSequence;
  }

  /**
   * @param tmp
   */
  private void endOptGroup(AppendingStringBuffer tmp) {
// OptGroup ended
int start = tmp.lastIndexOf("");
tmp.insert(start + 9, "");
  }


2014-06-05 9:37 GMT+03:00 Thies Edeling :

> thanks!
>
>
> On Thu, Jun 5, 2014 at 1:48 AM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
> > Look at:
> >
> >
> >
> http://mail-archives.apache.org/mod_mbox/wicket-users/200912.mbox/%3c303141550912040641r1e00841dudaacfefda9497...@mail.gmail.com%3E
> >
> >
> > 2014-06-05 1:41 GMT+03:00 Thies Edeling :
> >
> > > Is there any support for optgroup's in Wicket? I can only find some
> > > examples using ListView's and other hacky solutions so I'm guessing
> there
> > > isn't :) Thanks !
> > >
> > > gr
> > > Thies
> > >
> >
>


Re: Support for optgroup ?

2014-06-04 Thread Martin Makundi
Look at:

http://mail-archives.apache.org/mod_mbox/wicket-users/200912.mbox/%3c303141550912040641r1e00841dudaacfefda9497...@mail.gmail.com%3E


2014-06-05 1:41 GMT+03:00 Thies Edeling :

> Is there any support for optgroup's in Wicket? I can only find some
> examples using ListView's and other hacky solutions so I'm guessing there
> isn't :) Thanks !
>
> gr
> Thies
>


Re: Link in Feedback Message

2014-05-02 Thread Martin Makundi
You can look at how a link/button renders its url and render that to the
message.

**
Martin


2014-05-02 22:01 GMT+03:00 Entropy :

> I am currently putting a link into one of our feedback messages so give the
> user a quick way to navigate in response to a particular condition.  I am
> doing it by just writing the tags into the message like so:String url =
> this.urlFor(SearchResultPage.class, new PageParameters().set("newSearch",
> "True")).toString();error("The selected records have been successfully
> updated.   Search case for updated records <" + url + ">  .");this
> works...about 90% of the way.  But I recently discovered that I need to do
> a
> little work before that link navigates away.  I need to get the onclick
> event.  How can I get an event on the server that the link has been clicked
> and react to it?I am considering a workaround wherein I could provide an
> extra parameter that the target page detects, and causes it to run my code
> there.  But that's not ideal.  I'd rather keep this page's code in this
> page.  Is there a way to do this?
>
> --
> View this message in context:
> http://apache-wicket.1842946.n4.nabble.com/Link-in-Feedback-Message-tp4665648.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


Re: WicketTester - asserting on HTML

2013-11-21 Thread Martin Makundi
assertContains


2013/11/21 Nick Pratt 

> Is it possible to to make assertions on the rendered HTML of a Wicket page?
>
> Im trying to make assertions on element attributes (class contents
> specifically).  Is this possible with WicketTester?
>
> N
>


Re: "OutOfMemoryError: Java heap space" when i try to upload and show a hundred 100kb pics

2013-09-01 Thread Martin Makundi
Try memory profiler to see what is at matter.

**
Martin


2013/9/1 Giovanni 

> Martin Grigorov-4 wrote
> > Hi,
> > Read about Java memory settings (-Xms, -Xmx)
>
> Yes, I can increase heap space by settings, but is this a good approach? If
> displaying one 10Mb pic consumes 1.5Gb heap space - is this normal? Maybe
> there are other ways to solve this problem without increasing heap space by
> settings?
>
>
>
> --
> View this message in context:
> http://apache-wicket.1842946.n4.nabble.com/OutOfMemoryError-Java-heap-space-when-i-try-to-upload-and-show-a-hundred-100kb-pics-tp4661159p4661161.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


Re: Wicket Charts

2013-08-05 Thread Martin Makundi
Plug and play: https://developers.google.com/chart/

Use that with remoteimage ;)

2013/8/5 Marco Di Sabatino Di Diodoro :
> Hi all,
>
> In your opinion, what is the best library (open source licensed) for creating 
> charts with wicket?
>
> Regards
> M
> --
> Dott. Marco Di Sabatino Di Diodoro
> Tel. +39 3939065570
>
> Tirasa S.r.l.
> Viale D'Annunzio 267 - 65127 Pescara
> Tel +39 0859116307 / FAX +39 085973
> http://www.tirasa.net
>
> Apache Syncope PMC Member
> http://people.apache.org/~mdisabatino/
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Multiple F5 refreshes create multiple threads

2013-07-19 Thread Martin Makundi
Hi!

Not knowing what 1.3 does, but 1.4 locks pagemap in org.apache.wicket.Session.

**
Martin

2013/7/18 Mateusz Mieszkowski :
> Hi,
>
> I'm having a problem with quite old version of Wicket (1.3.6) and I'm 
> wondering if this still exists in the latest version as we're getting ready 
> for upgrading.
> The thing is that if the page opened in browser uses SortableDataProvider, 
> iterator method is executed. So far so good...
> But each time user do F5, page refresh creates new http thread and every one 
> of them is trying to process iterator method.
> Since this is the same user/session, I think it is safe to say that only one 
> thread(that is doing the refresh) is necessary and more refreshes should kill 
> http threads that are working to get the same info.
>
> The problem in my system was, that one user's F5 blocked and it caused 
> hundreds of refresh and started hundreds of http thread. I imagine that in 
> worse case scenario it could use up whole thread pool and system would be 
> useless for some time.
>
> I've checked changelogs and jira issues but haven't found anything similar. 
> Could you please let me know if there is a way to avoid such situation?
>
> Kind regards,
> Mateusz Mieszkowski

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Need to know which button is pressed in Modalwindow

2013-07-10 Thread Martin Makundi
Look at xxButtonCallback


2013/7/10 Tommy Sadiq Hinrichsen :
> Hej
>
> I have a modalwindow where in there is a save button and a cancel button.
>
> When i pres the cancel button i somehow need to know that this button has
> been pressed.
>
> I tried creating the modalpage as an inner class of the modal class, and in
> that class editing a variable in the modal class. But when i return to the
> modal class, all variables are unchanged.
>
> Got any ideas?
>
> package com.trifork.pengeplan.web.components.modal;
>
> import com.trifork.pengeplan.domain.MoneyCurrency;
> import com.trifork.pengeplan.web.components.CancelButton;
> import
> com.trifork.pengeplan.web.components.models.temporary.BankAccountModalObject;
> import org.apache.wicket.Page;
> import org.apache.wicket.ajax.AjaxRequestTarget;
> import org.apache.wicket.ajax.markup.html.form.AjaxButton;
> import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
> import org.apache.wicket.markup.html.WebMarkupContainer;
> import org.apache.wicket.markup.html.form.DropDownChoice;
> import org.apache.wicket.markup.html.form.EnumChoiceRenderer;
> import org.apache.wicket.markup.html.form.Form;
> import org.apache.wicket.markup.html.form.TextField;
> import org.apache.wicket.markup.html.panel.FeedbackPanel;
> import org.apache.wicket.model.CompoundPropertyModel;
> import org.apache.wicket.model.IModel;
>
> import java.beans.PropertyChangeSupport;
> import java.util.Arrays;
>
> /**
>  * @author
>  */
> public class AddBankAccountModal extends ModalWindow {
>
> AddBankAccountModal self;
> AddBankAccountModalPage modalPage;
> DropDownChoice accountForCash;
>
> protected PropertyChangeSupport propertyChangeSupport;
> protected boolean saveButtonPressed;
>
> public AddBankAccountModal(String id, final
> IModel model, final WebMarkupContainer
> updateOnWindowsClosed) {
> super(id);
>
> self = this;
> setPageCreator(new PageCreator() {
> @Override
> public Page createPage() {
> return modalPage = new AddBankAccountModalPage(self, model);
> }
> });
>
> setWindowClosedCallback(new WindowClosedCallback() {
> public void onClose(AjaxRequestTarget target) {
> if (saveButtonPressed) {
> target.add(updateOnWindowsClosed);
> }
> saveButtonPressed = false;
> }
> });
>
> setCloseButtonCallback(new CloseButtonCallback() {
> public boolean onCloseButtonClicked(AjaxRequestTarget target) {
> return true;
> }
> });
> }
>
> public void setAccountForCash(DropDownChoice accountForCash) {
> this.accountForCash = accountForCash;
> }
>
> class AddBankAccountModalPage extends BaseModalPage {
>
> public AddBankAccountModalPage(final AddBankAccountModal
> modalWindow, IModel model) {
> super();
> Form form = new Form("bankAccountForm", new
> CompoundPropertyModel(model));
>
> form.add(new TextField("name").setRequired(true));
> form.add(new
> TextField("financeAccount").setRequired(true));
> form.add(new DropDownChoice("moneyCurrency",
> Arrays.asList(MoneyCurrency.values()), new
> EnumChoiceRenderer()).setRequired(true));
>
> form.add(new AjaxButton("save", form) {
> @Override
> protected void onSubmit(AjaxRequestTarget target, Form
> form) {
> saveButtonPressed = true;
> //TODO save new bank account with sub entities
> modalWindow.close(target);
> }
>
> @Override
> protected void onError(AjaxRequestTarget target, Form
> form) {
> target.add(form.get("modalFeedback"));
> }
> });
> CancelButton cancel = new CancelButton("cancel") {
> @Override
> protected void onSubmit(AjaxRequestTarget target, Form
> form) {
> modalWindow.close(target);
> }
> };
> form.add(cancel);
> form.add(new
> FeedbackPanel("modalFeedback").setOutputMarkupPlaceholderTag(true));
> add(form);
> }
> }
> }
>
>
> Best regards
>
> Tommy Sadiq Hinrichsen

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Looking to pair

2013-07-07 Thread Martin Makundi
Hands-on head-first head-banging is the way to go. Watching aside won't
take you fare and won't float long. Unless you just want to manage ;)

**
Martin

2013/7/7 Mike Pence 

> Remote pairing works, too, with some effort.
>
> I am working my way through Wicket in Action, and I am definitely very
> excited, at this point. But I know that watching a real Wicket expert in
> action would be extremely informative.
>
>
> On Sun, Jul 7, 2013 at 2:27 PM, Paul Borș  wrote:
>
> > Have you glimpsed over the few books offered under the Books section on
> > Wicket's home page?
> >
> > In my experience pair programming works for two developers within the
> same
> > physical location when one can explain the other quickly why it's best to
> > archive something one way rather than the other.
> >
> > Have a great day,
> > Paul Bors
> >
> > On Jul 7, 2013, at 1:16 PM, Mike Pence  wrote:
> >
> > > Hi guys. Hope that this is appropriate for this list: I am looking for
> > > someone who is willing to pair program with me (although it would
> > probably
> > > be mostly me on the watching side). I need to get strong with Wicket,
> > > Spring, and maybe even Neo4J as quickly as possible, as I have
> committed
> > to
> > > using these technologies on a big new project. And I know from
> experience
> > > that pair programming with someone who is very proficient in those
> > > technologies is the quickest way to get there.
> > >
> > > I posted a job listing on Elance for a similar arrangement, but if any
> of
> > > you Wicket masters would let me look over your virtual shoulder for a
> few
> > > hours sometime, it would be much appreciated.
> > >
> > > FYI, I have been programming for 20+ years (VB, Delphi, Java, Ruby,
> etc.)
> > > so it is not like I am a total newbie.
> > >
> > > Thanks in advance.
> > >
> > > Mike Pence
> >
> > -
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
> >
>


Re: Dynamic listview

2013-05-28 Thread Martin Makundi
That's quite critical for form component input processing too..

2013/5/28 Martin Grigorov :
> On Tue, May 28, 2013 at 11:22 AM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
>> Ajax update might be tricky, it uses component ids.
>>
>
> True.
> You can override FormComponent#getInputName() to make them stable...
>
>
>>
>> 2013/5/28 Martin Grigorov :
>> > On Tue, May 28, 2013 at 11:00 AM, Ernesto Reinaldo Barreiro <
>> > reier...@gmail.com> wrote:
>> >
>> >> Hi Martin,
>> >>
>> >> Martin Makundi wants to rebuild the ListView items when the form is
>> >> > submitted.
>> >> > I.e. the form components will be created and then the form processing
>> >> will
>> >> > proceed.
>> >> >
>> >> > Yes, I understand that. But my point would match the info coming from
>> >> client with new component tree being created?  i.e. will listview
>> recreate
>> >> everything in a way making request post data consistent with new created
>> >> components?
>> >>
>> >
>> > The new component sub-tree that will be created will be the same as the
>> one
>> > that has been removed in the previous request #detach().
>> > I think it should work.
>> >
>> >
>> >>
>> >> Cheers,
>> >>
>> >>  Ernesto Reinaldo Barreiro
>> >>
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Dynamic listview

2013-05-28 Thread Martin Makundi
Ajax update might be tricky, it uses component ids.

2013/5/28 Martin Grigorov :
> On Tue, May 28, 2013 at 11:00 AM, Ernesto Reinaldo Barreiro <
> reier...@gmail.com> wrote:
>
>> Hi Martin,
>>
>> Martin Makundi wants to rebuild the ListView items when the form is
>> > submitted.
>> > I.e. the form components will be created and then the form processing
>> will
>> > proceed.
>> >
>> > Yes, I understand that. But my point would match the info coming from
>> client with new component tree being created?  i.e. will listview recreate
>> everything in a way making request post data consistent with new created
>> components?
>>
>
> The new component sub-tree that will be created will be the same as the one
> that has been removed in the previous request #detach().
> I think it should work.
>
>
>>
>> Cheers,
>>
>>  Ernesto Reinaldo Barreiro
>>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Dynamic listview

2013-05-28 Thread Martin Makundi
> Martin Makundi wants to rebuild the ListView items when the form is
>> submitted.
>> I.e. the form components will be created and then the form processing will
>> proceed.
>>
>> Yes, I understand that. But my point would match the info coming from
> client with new component tree being created?  i.e. will listview recreate
> everything in a way making request post data consistent with new created
> components?

This might be a problem, really, the markup ids have random suffix

**
Martin

>
> Cheers,
>
>  Ernesto Reinaldo Barreiro

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Dynamic listview

2013-05-28 Thread Martin Makundi
> I look at the code in master branch (7.x) and I guess you still use 1.4.x.
> In 7.x Form#process() is the first non-final method where you can plug your
> code.
> I doubt that 1.4 is different in this area but you can check yourself.
> Start from Form#onFormSubmitted() and follow the flow.

Thanks, and you are right about 1.4.x, don't fix it until it's broken ;)

**
Martin

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Dynamic listview

2013-05-28 Thread Martin Makundi
Hi!

> @Martin,
>
> Sometimes when wheels at hand are not good enough for a certain terrain you
> should ask yourself if it it not easier to invent a new one.

Only shortsightedness might get one convinced that writing new code is
easier than levaraging legacy..eventually ;) [1]


[1] 
http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672

**
Martin

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Dynamic listview

2013-05-28 Thread Martin Makundi
2013/5/28 Martin Grigorov :
> On Tue, May 28, 2013 at 10:41 AM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
>> > You could not use normal form processing, I guess, as there will not be
>> any
>> > form components at server side... (they will be removed after list is
>> > displayed). So, you will have to do some ticks to map cliente state with
>> > server state.
>> >
>> > The examples above could be make to work for non read-only situations...
>> > but maybe not using wicket default form processing machinery...
>>
>> Feels like reinventing the wheel at both serverside and html ;)
>>
>> > You can try to do this in
>> > org.apache.wicket.markup.html.form.Form#process(IFormSubmitter) {
>> >  rebuild();
>> >  super.process(formSubmitter);
>> >}
>>
>> Ok. Will try something along these lines.
>>
>
> You will need to call #inputChanged() to all FormComponents in your
> ListView, because this method is called earlier than
> Form#process(IFormSubmitter).

Could it be possible to hook onto an earlier event before/during
process to allow form to perform that natively?

**
Martin
>
>
>>
>> **
>> Martin
>> >
>> >
>> > On Tue, May 28, 2013 at 11:32 AM, Martin Makundi <
>> > martin.maku...@koodaripalvelut.com> wrote:
>> >
>> >> > You could use something that builds itself at client side... while at
>> >> > server side is still very lightweight.
>> >> > Something like
>> >> >
>> >> > http://www.antiliasoft.com/wicket-angular-demo/filtering
>> >> >
>> >> > See for explanation.
>> >> >
>> >> > http://www.antiliasoft.com/wicket-angular-demo/
>> >>
>> >> This is mainly read-only? We would like to allow in general all wicket
>> >> actions...ofcourse we will go brute force if necessary, but we would
>> >> like to try first a wicket 'inline' component that rebuilds itself for
>> >> form processing and rendering but evaporates its body on detach.
>> >>
>> >> **
>> >> Martin
>> >> >
>> >> >
>> >> > On Tue, May 28, 2013 at 11:01 AM, Martin Makundi <
>> >> > martin.maku...@koodaripalvelut.com> wrote:
>> >> >
>> >> >> Hi!
>> >> >>
>> >> >> Is it possible to implement a listview that evaporates on detach and
>> >> >> builds itself again whenever one iterates over its items?
>> >> >>
>> >> >> We have a huge page with thuge listview and the
>> >> >> serialization/deserialization of the structure slows down the page.
>> >> >>
>> >> >> The models are detachable and maybe the components could be too..?
>> >> >>
>> >> >> **
>> >> >> Martin
>> >> >>
>> >> >> -
>> >> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> >> >> For additional commands, e-mail: users-h...@wicket.apache.org
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> > --
>> >> > Regards - Ernesto Reinaldo Barreiro
>> >>
>> >> -
>> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> >> For additional commands, e-mail: users-h...@wicket.apache.org
>> >>
>> >>
>> >
>> >
>> > --
>> > Regards - Ernesto Reinaldo Barreiro
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Dynamic listview

2013-05-28 Thread Martin Makundi
> You could not use normal form processing, I guess, as there will not be any
> form components at server side... (they will be removed after list is
> displayed). So, you will have to do some ticks to map cliente state with
> server state.
>
> The examples above could be make to work for non read-only situations...
> but maybe not using wicket default form processing machinery...

Feels like reinventing the wheel at both serverside and html ;)

> You can try to do this in
> org.apache.wicket.markup.html.form.Form#process(IFormSubmitter) {
>  rebuild();
>  super.process(formSubmitter);
>}

Ok. Will try something along these lines.

**
Martin
>
>
> On Tue, May 28, 2013 at 11:32 AM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
>> > You could use something that builds itself at client side... while at
>> > server side is still very lightweight.
>> > Something like
>> >
>> > http://www.antiliasoft.com/wicket-angular-demo/filtering
>> >
>> > See for explanation.
>> >
>> > http://www.antiliasoft.com/wicket-angular-demo/
>>
>> This is mainly read-only? We would like to allow in general all wicket
>> actions...ofcourse we will go brute force if necessary, but we would
>> like to try first a wicket 'inline' component that rebuilds itself for
>> form processing and rendering but evaporates its body on detach.
>>
>> **
>> Martin
>> >
>> >
>> > On Tue, May 28, 2013 at 11:01 AM, Martin Makundi <
>> > martin.maku...@koodaripalvelut.com> wrote:
>> >
>> >> Hi!
>> >>
>> >> Is it possible to implement a listview that evaporates on detach and
>> >> builds itself again whenever one iterates over its items?
>> >>
>> >> We have a huge page with thuge listview and the
>> >> serialization/deserialization of the structure slows down the page.
>> >>
>> >> The models are detachable and maybe the components could be too..?
>> >>
>> >> **
>> >> Martin
>> >>
>> >> -
>> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> >> For additional commands, e-mail: users-h...@wicket.apache.org
>> >>
>> >>
>> >
>> >
>> > --
>> > Regards - Ernesto Reinaldo Barreiro
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
>
>
> --
> Regards - Ernesto Reinaldo Barreiro

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Dynamic listview

2013-05-28 Thread Martin Makundi
> You could use something that builds itself at client side... while at
> server side is still very lightweight.
> Something like
>
> http://www.antiliasoft.com/wicket-angular-demo/filtering
>
> See for explanation.
>
> http://www.antiliasoft.com/wicket-angular-demo/

This is mainly read-only? We would like to allow in general all wicket
actions...ofcourse we will go brute force if necessary, but we would
like to try first a wicket 'inline' component that rebuilds itself for
form processing and rendering but evaporates its body on detach.

**
Martin
>
>
> On Tue, May 28, 2013 at 11:01 AM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
>> Hi!
>>
>> Is it possible to implement a listview that evaporates on detach and
>> builds itself again whenever one iterates over its items?
>>
>> We have a huge page with thuge listview and the
>> serialization/deserialization of the structure slows down the page.
>>
>> The models are detachable and maybe the components could be too..?
>>
>> **
>> Martin
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
>
>
> --
> Regards - Ernesto Reinaldo Barreiro

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Dynamic listview

2013-05-28 Thread Martin Makundi
Is it possible to have the listview rebuild itself upon form
processing to allow formcomponents?

**
Martin

2013/5/28 Martin Grigorov :
> Hi,
>
> You can use ListView#removeAll() in #detach() but then this ListView should
> not have any action components
> like Link/Button and any FormComponents in its items, because they won't be
> reachable.
> It can have pretty much only Labels inside.
>
>
> On Tue, May 28, 2013 at 10:01 AM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
>> Hi!
>>
>> Is it possible to implement a listview that evaporates on detach and
>> builds itself again whenever one iterates over its items?
>>
>> We have a huge page with thuge listview and the
>> serialization/deserialization of the structure slows down the page.
>>
>> The models are detachable and maybe the components could be too..?
>>
>> **
>> Martin
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Dynamic listview

2013-05-28 Thread Martin Makundi
Hi!

Is it possible to implement a listview that evaporates on detach and
builds itself again whenever one iterates over its items?

We have a huge page with thuge listview and the
serialization/deserialization of the structure slows down the page.

The models are detachable and maybe the components could be too..?

**
Martin

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Feedback panel and form buttons in Wicket 6

2013-05-15 Thread Martin Makundi
It is possible to add feedback panel automatically by implementing
org.apache.wicket.ajax.IListener

Here are are some examples:


/**
   * TODO Suggest for jira addition, see
   *
   * 
http://apache-wicket.1842946.n4.nabble.com/HowTo-inject-FeedbackPanel-td2295430.html
   *
   * @author Martin
   *
   * Copyright (c) Koodaripalvelut.com Finland 2008
   */
  public static class TopMostVisibleFeedbackPanelAjaxAutoAdderListener
implements IListener {
private IFeedbackMessageFilter feedbackMessageFilter;

/**
 * @see 
org.apache.wicket.ajax.AjaxRequestTarget.IListener#onBeforeRespond(java.util.Map,
org.apache.wicket.ajax.AjaxRequestTarget)
 */
@Override
public void onBeforeRespond(Map map,
AjaxRequestTarget target) {
  FeedbackMessages feedbackMessages = Session.get().getFeedbackMessages();

  List messages =
feedbackMessages.messages(feedbackMessageFilter);

  if (!messages.isEmpty()) {
Object feedbackPanel = null;

for (FeedbackMessage feedbackMessage : messages) {
  Component component = feedbackMessage.getReporter();
  if (component != null) {
feedbackPanel = addFeedbackPanel(target, component);
  }
}

if (feedbackPanel == null) {
  // Some messages still want to become visible, try finding
feedbackpanel from page
  addFeedbackPanel(target, target.getPage());
}
  }
}

/**
 * @param target
 * @param component
 * @return Object
 */
private Object addFeedbackPanel(AjaxRequestTarget target,
Component component) {
  Object feedbackPanel = new
VisitTopMostMarkupContainerPageOrModalWindowHavingVisibleChild(component,
IFeedback.class).getFoundChild();

  if (feedbackPanel instanceof Component) {
if (!((Component) feedbackPanel).getOutputMarkupId()) {
  Utils.errorLog(TakpApplication.class, "Cannot update
feedbackComponent that does not have setOutputMarkupId(" +
component.getMarkupId() + ") property set to true. Component: " +
component.getPageRelativePath() + ": " + component);
} else {
  target.addComponent((Component) feedbackPanel); // Add
feedbackPanel to the ajax request target
  return feedbackPanel;
}
  }

  return null;
}

/**
 * @param feedbackMessageFilter the feedbackMessageFilter to set
 * @return NearestFeedbackPanelAjaxAutoAdderListener
 */
public TopMostVisibleFeedbackPanelAjaxAutoAdderListener
setFeedbackMessageFilter(IFeedbackMessageFilter feedbackMessageFilter)
{
  this.feedbackMessageFilter = feedbackMessageFilter;
  return this;
}

/**
 * @return the feedbackMessageFilter
 */
public IFeedbackMessageFilter getFeedbackMessageFilter() {
  return feedbackMessageFilter;
}

/**
 * @see 
org.apache.wicket.ajax.AjaxRequestTarget.IListener#onAfterRespond(java.util.Map,
org.apache.wicket.ajax.AjaxRequestTarget.IJavascriptResponse)
 */
@Override
public void onAfterRespond(Map map,
org.apache.wicket.ajax.AjaxRequestTarget.IJavascriptResponse response)
{
  // Override if necessary
}
  }


/**
   * @author Martin
   *
   * Copyright (c) Koodaripalvelut.com Finland 2008
   */
  public static class
ErrorComponentAndNearestFeedbackPanelAjaxAutoAdderListener extends
TopMostVisibleFeedbackPanelAjaxAutoAdderListener {
/**
 * @see 
com.tustor.tuntinetti.view.TakpApplication.TopMostVisibleFeedbackPanelAjaxAutoAdderListener#onBeforeRespond(java.util.Map,
org.apache.wicket.ajax.AjaxRequestTarget)
 */
@Override
public void onBeforeRespond(Map map,
AjaxRequestTarget target) {
  super.onBeforeRespond(map, target);
  WicketUtils.ajaxRefreshErrorComponents(target);
}
  }

/**
   * @param target
   */
  public static void ajaxRefreshErrorComponents(AjaxRequestTarget target) {
List feedbackMessages =
Session.get().getFeedbackMessages().messages(new
ErrorLevelFeedbackMessageFilter(FeedbackMessage.ERROR));

for (FeedbackMessage feedbackMessage : feedbackMessages) {
  if (feedbackMessage.getReporter() instanceof FormComponent) {
if (feedbackMessage.getReporter().getOutputMarkupId()) {
  target.addComponent(feedbackMessage.getReporter());
} else {
  Utils.errorLog(WicketUtils.class, "Cannot update component
that does not have setOutputMarkupId property set to true. Component:
"
  + feedbackMessage.getReporter().getPageRelativePath());
}
  }
}
  }

2013/5/16 Ernesto Reinaldo Barreiro :
> Paul,
>
> Maybe you might want use "AJAX event" to "automatically"  add feedback to
> target So, that you can safely forget;-)
>
> Cheers,
>
> Ernesto
>
> On Thu, May 16, 2013 at 12:30 AM, Paul Bors  wrote:
>
>> Nevermind that... I forogt to add the feedback panel to the target :)
>>
>> ~ Thank you,
>>Paul Bors
>>
>>
>> On Wed, May 15, 2013 at 4:26 PM, Paul Bors  wrote:
>>
>> > I'm a bit confused, how come if I call error() fro

Re: Update Model on DropDown Item Selection

2013-04-08 Thread Martin Makundi
Use ajax behavior, e.g., OnChangeAjaxBehavior


**
Martin

2013/4/9 Bruno Moura :
> I need to update a model or object immediately after select
> a DropDownChoice item.
>
>
> Bellow is the code that I'm working:
>
> //
> -
>
>  add(new ListView[Company]("listCompanies", listData) {
>
> override protected def onBeforeRender() {
>   //
>   // ...
>   super.onBeforeRender()
> }
>
> def populateItem(item: ListItem[Company]) = {
>   var company = item.getModelObject()
>
>   //...
>
>   val listClients: java.util.List[Client] = clientControler.listClients
>
>
>   item.add(new DropDownChoice("clientSelection", listClients,new
> ChoiceRenderer[Client]("name")))
>
> //
> -
>
> In the Listview with properties of Company Object,
> after choose a name property of the DropDownChoice, the model
> Company would be updated with the Client Name selected.
>
> How can I achieve this?
>
> Thanks

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Illegal utf characters in ajax xml response

2012-12-19 Thread Martin Makundi
> What are conditions when you want to plug it ?

I know a certain ajax response might contain illegal characters?
Though it might be easier just to filter the known contents.

**
Martin
>
>
> On Wed, Dec 19, 2012 at 12:47 PM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
>> Is there a way to plug it only for particular ajaxes in current 1.4.x
>> stack?
>>
>> 2012/12/19 Martin Grigorov :
>> > Yes, the performance is what stops me to apply it by default for the Ajax
>> > responses.
>> > The application developer needs to decide whether their app can include
>> > such invalid XML characters in the Ajax responses.
>> >
>> >
>> > On Wed, Dec 19, 2012 at 12:34 PM, Martin Makundi <
>> > martin.maku...@koodaripalvelut.com> wrote:
>> >
>> >> I wonder if it is performance-wise best place to have it as a
>> wrap-it-all?
>> >>
>> >> 2012/12/19 Martin Grigorov :
>> >> > I think it is a good idea to have this filter in Wicket.
>> >> > Each application will decide whether to use it or not.
>> >> >
>> >> >
>> >> > On Wed, Dec 19, 2012 at 10:31 AM, Martin Grigorov <
>> mgrigo...@apache.org
>> >> >wrote:
>> >> >
>> >> >>
>> >> >>
>> >>
>> http://blog.mark-mclaren.info/2007/02/invalid-xml-characters-when-valid-utf8_5873.html
>> >> >>
>> >> >>
>> >> >> On Wed, Dec 19, 2012 at 4:34 AM, Martin Makundi <
>> >> >> martin.maku...@koodaripalvelut.com> wrote:
>> >> >>
>> >> >>> xb also
>> >> >>>
>> >> >>> 2012/12/19 Michael Mosmann :
>> >> >>> > Am 15.12.2012 06:22, schrieb Martin Makundi:
>> >> >>> >
>> >> >>> > We could use AjaxSelfUpdatingTimerBehavior to iterate over most
>> >> >>> characters
>> >> >>> > and see where it fails (which could be easily detected)..
>> >> >>> >
>> >> >>> > As today i only know of 0x1a as a bad one.
>> >> >>> >
>> >> >>> > Michael Mosmann
>> >> >>> >
>> >> >>> >
>> >> >>> >> OK, is possibly trivial:
>> >> >>> >>
>> >> >>> >>getRequestCycleSettings().addResponseFilter(new
>> >> >>> IResponseFilter() {
>> >> >>> >>  @Override
>> >> >>> >>  public AppendingStringBuffer
>> filter(AppendingStringBuffer
>> >> >>> >> responseBuffer) {
>> >> >>> >>return responseBuffer; TODO if starts with xml strip
>> >> illegal
>> >> >>> >> xml
>> >> >>> >> characters?
>> >> >>> >>  }
>> >> >>> >>});
>> >> >>> >>
>> >> >>> >>
>> >> >>> >> ?
>> >> >>> >>
>> >> >>> >> 2012/12/15 Martin Makundi 
>> >> >>> >>
>> >> >>> >>> Can you point me to an example for this?
>> >> >>> >>>
>> >> >>> >>>
>> >> >>> >>> 2012/12/15 Martin Grigorov 
>> >> >>> >>>
>> >> >>> >>>> org.apache.wicket.response.filter.IResponseFilter is applied to
>> >> both
>> >> >>> >>>> Ajax
>> >> >>> >>>> and normal responses.
>> >> >>> >>>>
>> >> >>> >>>>
>> >> >>> >>>> On Sat, Dec 15, 2012 at 7:02 AM, Martin Makundi <
>> >> >>> >>>> martin.maku...@koodaripalvelut.com> wrote:
>> >> >>> >>>>
>> >> >>> >>>>> Hi!
>> >> >>> >>>>>
>> >> >>> >>>>> Is there a setting/interceptor/filter that can be applied to
>> >> filter
>> >> >>> out
>> >> >>> >>>>> illegal utf characters from AjaxRequestTarget response?
>> >> >>> >>>>>
>&g

Re: Illegal utf characters in ajax xml response

2012-12-19 Thread Martin Makundi
Is there a way to plug it only for particular ajaxes in current 1.4.x stack?

2012/12/19 Martin Grigorov :
> Yes, the performance is what stops me to apply it by default for the Ajax
> responses.
> The application developer needs to decide whether their app can include
> such invalid XML characters in the Ajax responses.
>
>
> On Wed, Dec 19, 2012 at 12:34 PM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
>> I wonder if it is performance-wise best place to have it as a wrap-it-all?
>>
>> 2012/12/19 Martin Grigorov :
>> > I think it is a good idea to have this filter in Wicket.
>> > Each application will decide whether to use it or not.
>> >
>> >
>> > On Wed, Dec 19, 2012 at 10:31 AM, Martin Grigorov > >wrote:
>> >
>> >>
>> >>
>> http://blog.mark-mclaren.info/2007/02/invalid-xml-characters-when-valid-utf8_5873.html
>> >>
>> >>
>> >> On Wed, Dec 19, 2012 at 4:34 AM, Martin Makundi <
>> >> martin.maku...@koodaripalvelut.com> wrote:
>> >>
>> >>> xb also
>> >>>
>> >>> 2012/12/19 Michael Mosmann :
>> >>> > Am 15.12.2012 06:22, schrieb Martin Makundi:
>> >>> >
>> >>> > We could use AjaxSelfUpdatingTimerBehavior to iterate over most
>> >>> characters
>> >>> > and see where it fails (which could be easily detected)..
>> >>> >
>> >>> > As today i only know of 0x1a as a bad one.
>> >>> >
>> >>> > Michael Mosmann
>> >>> >
>> >>> >
>> >>> >> OK, is possibly trivial:
>> >>> >>
>> >>> >>getRequestCycleSettings().addResponseFilter(new
>> >>> IResponseFilter() {
>> >>> >>  @Override
>> >>> >>  public AppendingStringBuffer filter(AppendingStringBuffer
>> >>> >> responseBuffer) {
>> >>> >>return responseBuffer; TODO if starts with xml strip
>> illegal
>> >>> >> xml
>> >>> >> characters?
>> >>> >>  }
>> >>> >>});
>> >>> >>
>> >>> >>
>> >>> >> ?
>> >>> >>
>> >>> >> 2012/12/15 Martin Makundi 
>> >>> >>
>> >>> >>> Can you point me to an example for this?
>> >>> >>>
>> >>> >>>
>> >>> >>> 2012/12/15 Martin Grigorov 
>> >>> >>>
>> >>> >>>> org.apache.wicket.response.filter.IResponseFilter is applied to
>> both
>> >>> >>>> Ajax
>> >>> >>>> and normal responses.
>> >>> >>>>
>> >>> >>>>
>> >>> >>>> On Sat, Dec 15, 2012 at 7:02 AM, Martin Makundi <
>> >>> >>>> martin.maku...@koodaripalvelut.com> wrote:
>> >>> >>>>
>> >>> >>>>> Hi!
>> >>> >>>>>
>> >>> >>>>> Is there a setting/interceptor/filter that can be applied to
>> filter
>> >>> out
>> >>> >>>>> illegal utf characters from AjaxRequestTarget response?
>> >>> >>>>>
>> >>> >>>>>
>> >>> >>>>>
>> >>> >>>>
>> >>> >>>>
>> >>>
>> http://blog.mark-mclaren.info/2007/02/invalid-xml-characters-when-valid-utf8_5873.html
>> >>> >>>>>
>> >>> >>>>> Specifically wicket 1.4.x
>> >>> >>>>>
>> >>> >>>>> **
>> >>> >>>>> Martin
>> >>> >>>>>
>> >>> >>>>
>> >>> >>>>
>> >>> >>>> --
>> >>> >>>> Martin Grigorov
>> >>> >>>> jWeekend
>> >>> >>>> Training, Consulting, Development
>> >>> >>>> http://jWeekend.com <http://jweekend.com/>
>> >>> >>>>
>> >>> >>>
>> >>> >
>> >>> >
>> >>> > -
>> >>> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> >>> > For additional commands, e-mail: users-h...@wicket.apache.org
>> >>> >
>> >>>
>> >>> -
>> >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> >>> For additional commands, e-mail: users-h...@wicket.apache.org
>> >>>
>> >>>
>> >>
>> >>
>> >> --
>> >> Martin Grigorov
>> >> jWeekend
>> >> Training, Consulting, Development
>> >> http://jWeekend.com <http://jweekend.com/>
>> >>
>> >>
>> >
>> >
>> > --
>> > Martin Grigorov
>> > jWeekend
>> > Training, Consulting, Development
>> > http://jWeekend.com <http://jweekend.com/>
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com <http://jweekend.com/>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Illegal utf characters in ajax xml response

2012-12-19 Thread Martin Makundi
I wonder if it is performance-wise best place to have it as a wrap-it-all?

2012/12/19 Martin Grigorov :
> I think it is a good idea to have this filter in Wicket.
> Each application will decide whether to use it or not.
>
>
> On Wed, Dec 19, 2012 at 10:31 AM, Martin Grigorov wrote:
>
>>
>> http://blog.mark-mclaren.info/2007/02/invalid-xml-characters-when-valid-utf8_5873.html
>>
>>
>> On Wed, Dec 19, 2012 at 4:34 AM, Martin Makundi <
>> martin.maku...@koodaripalvelut.com> wrote:
>>
>>> xb also
>>>
>>> 2012/12/19 Michael Mosmann :
>>> > Am 15.12.2012 06:22, schrieb Martin Makundi:
>>> >
>>> > We could use AjaxSelfUpdatingTimerBehavior to iterate over most
>>> characters
>>> > and see where it fails (which could be easily detected)..
>>> >
>>> > As today i only know of 0x1a as a bad one.
>>> >
>>> > Michael Mosmann
>>> >
>>> >
>>> >> OK, is possibly trivial:
>>> >>
>>> >>getRequestCycleSettings().addResponseFilter(new
>>> IResponseFilter() {
>>> >>  @Override
>>> >>  public AppendingStringBuffer filter(AppendingStringBuffer
>>> >> responseBuffer) {
>>> >>return responseBuffer; TODO if starts with xml strip illegal
>>> >> xml
>>> >> characters?
>>> >>  }
>>> >>});
>>> >>
>>> >>
>>> >> ?
>>> >>
>>> >> 2012/12/15 Martin Makundi 
>>> >>
>>> >>> Can you point me to an example for this?
>>> >>>
>>> >>>
>>> >>> 2012/12/15 Martin Grigorov 
>>> >>>
>>> >>>> org.apache.wicket.response.filter.IResponseFilter is applied to both
>>> >>>> Ajax
>>> >>>> and normal responses.
>>> >>>>
>>> >>>>
>>> >>>> On Sat, Dec 15, 2012 at 7:02 AM, Martin Makundi <
>>> >>>> martin.maku...@koodaripalvelut.com> wrote:
>>> >>>>
>>> >>>>> Hi!
>>> >>>>>
>>> >>>>> Is there a setting/interceptor/filter that can be applied to filter
>>> out
>>> >>>>> illegal utf characters from AjaxRequestTarget response?
>>> >>>>>
>>> >>>>>
>>> >>>>>
>>> >>>>
>>> >>>>
>>> http://blog.mark-mclaren.info/2007/02/invalid-xml-characters-when-valid-utf8_5873.html
>>> >>>>>
>>> >>>>> Specifically wicket 1.4.x
>>> >>>>>
>>> >>>>> **
>>> >>>>> Martin
>>> >>>>>
>>> >>>>
>>> >>>>
>>> >>>> --
>>> >>>> Martin Grigorov
>>> >>>> jWeekend
>>> >>>> Training, Consulting, Development
>>> >>>> http://jWeekend.com <http://jweekend.com/>
>>> >>>>
>>> >>>
>>> >
>>> >
>>> > -
>>> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> > For additional commands, e-mail: users-h...@wicket.apache.org
>>> >
>>>
>>> -
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>
>>
>>
>> --
>> Martin Grigorov
>> jWeekend
>> Training, Consulting, Development
>> http://jWeekend.com <http://jweekend.com/>
>>
>>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com <http://jweekend.com/>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Illegal utf characters in ajax xml response

2012-12-18 Thread Martin Makundi
xb also

2012/12/19 Michael Mosmann :
> Am 15.12.2012 06:22, schrieb Martin Makundi:
>
> We could use AjaxSelfUpdatingTimerBehavior to iterate over most characters
> and see where it fails (which could be easily detected)..
>
> As today i only know of 0x1a as a bad one.
>
> Michael Mosmann
>
>
>> OK, is possibly trivial:
>>
>>getRequestCycleSettings().addResponseFilter(new IResponseFilter() {
>>  @Override
>>  public AppendingStringBuffer filter(AppendingStringBuffer
>> responseBuffer) {
>>return responseBuffer; TODO if starts with xml strip illegal
>> xml
>> characters?
>>  }
>>});
>>
>>
>> ?
>>
>> 2012/12/15 Martin Makundi 
>>
>>> Can you point me to an example for this?
>>>
>>>
>>> 2012/12/15 Martin Grigorov 
>>>
>>>> org.apache.wicket.response.filter.IResponseFilter is applied to both
>>>> Ajax
>>>> and normal responses.
>>>>
>>>>
>>>> On Sat, Dec 15, 2012 at 7:02 AM, Martin Makundi <
>>>> martin.maku...@koodaripalvelut.com> wrote:
>>>>
>>>>> Hi!
>>>>>
>>>>> Is there a setting/interceptor/filter that can be applied to filter out
>>>>> illegal utf characters from AjaxRequestTarget response?
>>>>>
>>>>>
>>>>>
>>>>
>>>> http://blog.mark-mclaren.info/2007/02/invalid-xml-characters-when-valid-utf8_5873.html
>>>>>
>>>>> Specifically wicket 1.4.x
>>>>>
>>>>> **
>>>>> Martin
>>>>>
>>>>
>>>>
>>>> --
>>>> Martin Grigorov
>>>> jWeekend
>>>> Training, Consulting, Development
>>>> http://jWeekend.com <http://jweekend.com/>
>>>>
>>>
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Illegal utf characters in ajax xml response

2012-12-14 Thread Martin Makundi
OK, is possibly trivial:

  getRequestCycleSettings().addResponseFilter(new IResponseFilter() {
@Override
public AppendingStringBuffer filter(AppendingStringBuffer
responseBuffer) {
  return responseBuffer; TODO if starts with xml strip illegal xml
characters?
}
  });


?

2012/12/15 Martin Makundi 

> Can you point me to an example for this?
>
>
> 2012/12/15 Martin Grigorov 
>
>> org.apache.wicket.response.filter.IResponseFilter is applied to both Ajax
>> and normal responses.
>>
>>
>> On Sat, Dec 15, 2012 at 7:02 AM, Martin Makundi <
>> martin.maku...@koodaripalvelut.com> wrote:
>>
>> > Hi!
>> >
>> > Is there a setting/interceptor/filter that can be applied to filter out
>> > illegal utf characters from AjaxRequestTarget response?
>> >
>> >
>> >
>> http://blog.mark-mclaren.info/2007/02/invalid-xml-characters-when-valid-utf8_5873.html
>> >
>> > Specifically wicket 1.4.x
>> >
>> > **
>> > Martin
>> >
>>
>>
>>
>> --
>> Martin Grigorov
>> jWeekend
>> Training, Consulting, Development
>> http://jWeekend.com <http://jweekend.com/>
>>
>
>


Re: Illegal utf characters in ajax xml response

2012-12-14 Thread Martin Makundi
Can you point me to an example for this?

2012/12/15 Martin Grigorov 

> org.apache.wicket.response.filter.IResponseFilter is applied to both Ajax
> and normal responses.
>
>
> On Sat, Dec 15, 2012 at 7:02 AM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
> > Hi!
> >
> > Is there a setting/interceptor/filter that can be applied to filter out
> > illegal utf characters from AjaxRequestTarget response?
> >
> >
> >
> http://blog.mark-mclaren.info/2007/02/invalid-xml-characters-when-valid-utf8_5873.html
> >
> > Specifically wicket 1.4.x
> >
> > **
> > Martin
> >
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com <http://jweekend.com/>
>


Re: AJAX updating of non "typical components"

2012-12-13 Thread Martin Makundi
Maybe add a dummy component inside the panel that is refreshed instead
and piggybacks your js or smth.

2012/12/13 Ernesto Reinaldo Barreiro :
> Hi,
>
> On Wed, Dec 12, 2012 at 8:29 PM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
>> Why not have outputmarkupid=true?
>>
>>
> In this particular use case doing that would mean that a IFeedback panel,
> based on (
> http://www.erichynds.com/jquery/a-jquery-ui-growl-ubuntu-notification-widget/),
> will be reconstructed any time there are errors on page (all JS, and
> dependencies will be streamed back to the server as PART of ART) while the
> only thing that is need is pass back some JavaScript (e.g. appended to ART)
> that adds some notifications at client side widget.
>
>
>
>> 2012/12/12 Ernesto Reinaldo Barreiro :
>> > IHeaderContibutor won't work if component does not has
>> > setOutputMarkupId(true) AjaxRequestHandler#add()
>> >
>> > public void add(Component... components)
>> > {
>> > for (final Component component : components)
>> > {
>> > Args.notNull(component, "component");
>> >
>> > if (component.getOutputMarkupId() == false && !(component instanceof
>> Page))
>> > {
>> > throw new IllegalArgumentException(
>> > "cannot update component that does not have setOutputMarkupId property
>> set
>> > to true. Component: " +
>> > component.toString());
>> > }
>> > add(component, component.getMarkupId());
>> > }
>> > }
>> >
>> > On Wed, Dec 12, 2012 at 4:59 PM, Martin Makundi <
>> > martin.maku...@koodaripalvelut.com> wrote:
>> >
>> >> IHeaderContributor?
>> >>
>> >> 2012/12/12 Ernesto Reinaldo Barreiro :
>> >> > Hi,
>> >> >
>> >> > Several times I have encountered the situation where I want to
>> "update" a
>> >> > component via AJAX and this component does not have
>> >> setOutputMarkupId(true)
>> >> > or even the component generates no  visible markup.  All this
>> component
>> >> > needs is a way to repaint itself (either by adding some sub-components
>> >> that
>> >> > are re-paintable via AJAX or by generating some JavaScript that will
>> >> update
>> >> > component state at client side). So, what I want is being to do
>> >> > target.add(myNotStandardComponent) and wicket to take care of its
>> >> update...
>> >> > Maybe by providing and  interface like
>> >> >
>> >> > IAjaxUpdatable {
>> >> >
>> >> > void update(AjaxRequestTarget target);
>> >> >
>> >> > }
>> >> >
>> >> > that marks the  component as being re-renderable via AJAX ... and
>> modify
>> >> > AjaxRequestTarget logic to take this into account.
>> >> >
>> >> > I gave a look into the sources and the closest thing I have found is
>> >> >
>> >> > interface ITargetRespondListener
>> >> > {
>> >> > /**
>> >> >  * Invoked when AjaxRequestTarget is about the respond.
>> >> >  *
>> >> >  * @param target
>> >> >  */
>> >> > void onTargetRespond(AjaxRequestTarget target);
>> >> > }
>> >> >
>> >> > but these are added via target.registerRespondListener do not seem to
>> be
>> >> > the same.
>> >> >
>> >> > Is the above a good idea? Or shall I simply use
>>  ITargetRespondListener?
>> >> >
>> >> > --
>> >> > Regards - Ernesto Reinaldo Barreiro
>> >> > Antilia Soft
>> >> > http://antiliasoft.com/ <http://antiliasoft.com/antilia>
>> >>
>> >> -
>> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> >> For additional commands, e-mail: users-h...@wicket.apache.org
>> >>
>> >>
>> >
>> >
>> > --
>> > Regards - Ernesto Reinaldo Barreiro
>> > Antilia Soft
>> > http://antiliasoft.com/ <http://antiliasoft.com/antilia>
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
>
>
> --
> Regards - Ernesto Reinaldo Barreiro
> Antilia Soft
> http://antiliasoft.com/ <http://antiliasoft.com/antilia>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: AJAX updating of non "typical components"

2012-12-12 Thread Martin Makundi
1. Please also implement this expert/newuser mode as boolean closeonhover
setting inside notificationspanel:

public void onTargetRespond(AjaxRequestTarget target) {
  if(isExpertMode()) {
renderErrorNotifications(target, getString("timeManagement.error"),
new NotificationSettings()
.setExpires(false).setUseHoverIntent(false),
NotificationsPanel.CloseOnHoverFunction.instance,
NotificationsPanel.CloseAllBeforeOpenFunction.instance);
  } else {
renderErrorNotifications(target, getString("timeManagement.error"),
new NotificationSettings()
.setExpires(false).setUseHoverIntent(false),
NotificationsPanel.CloseAllBeforeOpenFunction.instance);
  }
}

2. Looking at "timeManagement.error", does it work with different level
errors/warnings/info?

2012/12/12 Martin Makundi 

> Why not have outputmarkupid=true?
>
> 2012/12/12 Ernesto Reinaldo Barreiro :
> > IHeaderContibutor won't work if component does not has
> > setOutputMarkupId(true) AjaxRequestHandler#add()
> >
> > public void add(Component... components)
> > {
> > for (final Component component : components)
> > {
> > Args.notNull(component, "component");
> >
> > if (component.getOutputMarkupId() == false && !(component instanceof
> Page))
> > {
> > throw new IllegalArgumentException(
> > "cannot update component that does not have setOutputMarkupId property
> set
> > to true. Component: " +
> > component.toString());
> > }
> > add(component, component.getMarkupId());
> > }
> > }
> >
> > On Wed, Dec 12, 2012 at 4:59 PM, Martin Makundi <
> > martin.maku...@koodaripalvelut.com> wrote:
> >
> >> IHeaderContributor?
> >>
> >> 2012/12/12 Ernesto Reinaldo Barreiro :
> >> > Hi,
> >> >
> >> > Several times I have encountered the situation where I want to
> "update" a
> >> > component via AJAX and this component does not have
> >> setOutputMarkupId(true)
> >> > or even the component generates no  visible markup.  All this
> component
> >> > needs is a way to repaint itself (either by adding some sub-components
> >> that
> >> > are re-paintable via AJAX or by generating some JavaScript that will
> >> update
> >> > component state at client side). So, what I want is being to do
> >> > target.add(myNotStandardComponent) and wicket to take care of its
> >> update...
> >> > Maybe by providing and  interface like
> >> >
> >> > IAjaxUpdatable {
> >> >
> >> > void update(AjaxRequestTarget target);
> >> >
> >> > }
> >> >
> >> > that marks the  component as being re-renderable via AJAX ... and
> modify
> >> > AjaxRequestTarget logic to take this into account.
> >> >
> >> > I gave a look into the sources and the closest thing I have found is
> >> >
> >> > interface ITargetRespondListener
> >> > {
> >> > /**
> >> >  * Invoked when AjaxRequestTarget is about the respond.
> >> >  *
> >> >  * @param target
> >> >  */
> >> > void onTargetRespond(AjaxRequestTarget target);
> >> > }
> >> >
> >> > but these are added via target.registerRespondListener do not seem to
> be
> >> > the same.
> >> >
> >> > Is the above a good idea? Or shall I simply use
>  ITargetRespondListener?
> >> >
> >> > --
> >> > Regards - Ernesto Reinaldo Barreiro
> >> > Antilia Soft
> >> > http://antiliasoft.com/ <http://antiliasoft.com/antilia>
> >>
> >> -
> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> >> For additional commands, e-mail: users-h...@wicket.apache.org
> >>
> >>
> >
> >
> > --
> > Regards - Ernesto Reinaldo Barreiro
> > Antilia Soft
> > http://antiliasoft.com/ <http://antiliasoft.com/antilia>
>


Re: AJAX updating of non "typical components"

2012-12-12 Thread Martin Makundi
Why not have outputmarkupid=true?

2012/12/12 Ernesto Reinaldo Barreiro :
> IHeaderContibutor won't work if component does not has
> setOutputMarkupId(true) AjaxRequestHandler#add()
>
> public void add(Component... components)
> {
> for (final Component component : components)
> {
> Args.notNull(component, "component");
>
> if (component.getOutputMarkupId() == false && !(component instanceof Page))
> {
> throw new IllegalArgumentException(
> "cannot update component that does not have setOutputMarkupId property set
> to true. Component: " +
> component.toString());
> }
> add(component, component.getMarkupId());
> }
> }
>
> On Wed, Dec 12, 2012 at 4:59 PM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
>> IHeaderContributor?
>>
>> 2012/12/12 Ernesto Reinaldo Barreiro :
>> > Hi,
>> >
>> > Several times I have encountered the situation where I want to "update" a
>> > component via AJAX and this component does not have
>> setOutputMarkupId(true)
>> > or even the component generates no  visible markup.  All this component
>> > needs is a way to repaint itself (either by adding some sub-components
>> that
>> > are re-paintable via AJAX or by generating some JavaScript that will
>> update
>> > component state at client side). So, what I want is being to do
>> > target.add(myNotStandardComponent) and wicket to take care of its
>> update...
>> > Maybe by providing and  interface like
>> >
>> > IAjaxUpdatable {
>> >
>> > void update(AjaxRequestTarget target);
>> >
>> > }
>> >
>> > that marks the  component as being re-renderable via AJAX ... and modify
>> > AjaxRequestTarget logic to take this into account.
>> >
>> > I gave a look into the sources and the closest thing I have found is
>> >
>> > interface ITargetRespondListener
>> > {
>> > /**
>> >  * Invoked when AjaxRequestTarget is about the respond.
>> >  *
>> >  * @param target
>> >  */
>> > void onTargetRespond(AjaxRequestTarget target);
>> > }
>> >
>> > but these are added via target.registerRespondListener do not seem to be
>> > the same.
>> >
>> > Is the above a good idea? Or shall I simply use  ITargetRespondListener?
>> >
>> > --
>> > Regards - Ernesto Reinaldo Barreiro
>> > Antilia Soft
>> > http://antiliasoft.com/ <http://antiliasoft.com/antilia>
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
>
>
> --
> Regards - Ernesto Reinaldo Barreiro
> Antilia Soft
> http://antiliasoft.com/ <http://antiliasoft.com/antilia>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: AJAX updating of non "typical components"

2012-12-12 Thread Martin Makundi
IHeaderContributor?

2012/12/12 Ernesto Reinaldo Barreiro :
> Hi,
>
> Several times I have encountered the situation where I want to "update" a
> component via AJAX and this component does not have setOutputMarkupId(true)
> or even the component generates no  visible markup.  All this component
> needs is a way to repaint itself (either by adding some sub-components that
> are re-paintable via AJAX or by generating some JavaScript that will update
> component state at client side). So, what I want is being to do
> target.add(myNotStandardComponent) and wicket to take care of its update...
> Maybe by providing and  interface like
>
> IAjaxUpdatable {
>
> void update(AjaxRequestTarget target);
>
> }
>
> that marks the  component as being re-renderable via AJAX ... and modify
> AjaxRequestTarget logic to take this into account.
>
> I gave a look into the sources and the closest thing I have found is
>
> interface ITargetRespondListener
> {
> /**
>  * Invoked when AjaxRequestTarget is about the respond.
>  *
>  * @param target
>  */
> void onTargetRespond(AjaxRequestTarget target);
> }
>
> but these are added via target.registerRespondListener do not seem to be
> the same.
>
> Is the above a good idea? Or shall I simply use  ITargetRespondListener?
>
> --
> Regards - Ernesto Reinaldo Barreiro
> Antilia Soft
> http://antiliasoft.com/ 

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Wicket Application instance from outside Wicket Application

2012-11-08 Thread Martin Makundi
It appears the mock app does quite some nasty things... this works:

  /**
   *
   */
  public AbstractWebService() {
Application.set(getApplication());

final ServletContext servletContext = getApplication().getServletContext();
final MockHttpSession mockHttpSession = new MockHttpSession(servletContext);
final MockHttpServletRequest mockHttpServletRequest = new
MockHttpServletRequest(Application.get(), mockHttpSession,
servletContext);
final MockHttpServletResponse servletResponse = new
MockHttpServletResponse(mockHttpServletRequest);

final WebRequest wicketRequest =
getApplication().newWebRequest(mockHttpServletRequest);
final WebResponse wicketResponse =
getApplication().newWebResponse(servletResponse);

getApplication().newRequestCycle(wicketRequest, wicketResponse);
  }

2012/11/8 Martin Makundi :
> BTW: Is useful to pass the context path... ;)
>
> 2012/11/7 Martin Makundi :
>> Solved, extend this class from your webservice or other:
>>
>> public abstract class AbstractWicketCompatibleWebService {
>>   private static Application application; // Set in Application()
>> constructor for example
>>   private final MockWebApplication mockWebApplication;
>>
>>   /**
>>*
>>*/
>>   public AbstractWicketCompatibleWebService() {
>> Application.set(getApplication());
>> mockWebApplication = new MockWebApplication(getApplication(), null);
>> mockWebApplication.createRequestCycle();
>>   }
>>
>>   /**
>>* @return the application
>>*/
>>   public static Application getApplication() {
>> return application;
>>   }
>>
>>   /** Call from Application() constructor for example
>>* @param application
>>*/
>>   public static void setApplication(Application application) {
>> AbstractWicketCompatibleWebService.application = application;
>>   }
>> }
>>
>>
>>
>> **
>> Martin
>>
>> 2012/9/19 Oscar Besga Arcauz :
>>> Maybe if you do a foward from webservice to wicket page...
>>>
>>> From other side, you can see Wicket Session classes and data into the 
>>> normal HttpSession (thougth it needs a little navigation)
>>> or you can hook data in normal HttpSession into wicket  classes.
>>>
>>> My2cents: I would refactor helpers outside wicket
>>>
>>>
>>>
>>> > > > Oscar Besga Arcauz  < < <
>>>
>>> -Martin Grigorov  escribió: -
>>> Para: users@wicket.apache.org
>>> De: Martin Grigorov 
>>> Fecha: 18/09/2012  21:42
>>> Asunto: Re: Wicket Application instance from outside Wicket Application
>>>
>>> See org.apache.wicket.protocol.http.servlet.WicketSessionFilter
>>>
>>> On Tue, Sep 18, 2012 at 9:31 PM, Ernesto Reinaldo Barreiro
>>>  wrote:
>>>> Can't the wicket filter be put in from of axis (servlet/filter) so that you
>>>> have a session and application attached to the thread?
>>>>
>>>> On Tue, Sep 18, 2012 at 6:05 PM, Martin Makundi <
>>>> martin.maku...@koodaripalvelut.com> wrote:
>>>>
>>>>> Hi!
>>>>>
>>>>> We have Axis web services running in the same Jetty as Wicket.
>>>>>
>>>>> Our Axis web services happen to call some wicket helper methods, which
>>>>> assume there is a session and application on thread. For localization,
>>>>> etc.
>>>>>
>>>>> How can our Wreb Service best get hold of the wicket application at
>>>>> runtime?
>>>>>
>>>>>
>>>>> **
>>>>> Martin
>>>>>
>>>>> -
>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Regards - Ernesto Reinaldo Barreiro
>>>> Antilia Soft
>>>> http://antiliasoft.com
>>>
>>>
>>>
>>> --
>>> Martin Grigorov
>>> jWeekend
>>> Training, Consulting, Development
>>> http://jWeekend.com
>>>
>>> -
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>
>>> -
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Wicket Application instance from outside Wicket Application

2012-11-08 Thread Martin Makundi
BTW: Is useful to pass the context path... ;)

2012/11/7 Martin Makundi :
> Solved, extend this class from your webservice or other:
>
> public abstract class AbstractWicketCompatibleWebService {
>   private static Application application; // Set in Application()
> constructor for example
>   private final MockWebApplication mockWebApplication;
>
>   /**
>*
>*/
>   public AbstractWicketCompatibleWebService() {
> Application.set(getApplication());
> mockWebApplication = new MockWebApplication(getApplication(), null);
> mockWebApplication.createRequestCycle();
>   }
>
>   /**
>* @return the application
>*/
>   public static Application getApplication() {
> return application;
>   }
>
>   /** Call from Application() constructor for example
>* @param application
>*/
>   public static void setApplication(Application application) {
> AbstractWicketCompatibleWebService.application = application;
>   }
> }
>
>
>
> **
> Martin
>
> 2012/9/19 Oscar Besga Arcauz :
>> Maybe if you do a foward from webservice to wicket page...
>>
>> From other side, you can see Wicket Session classes and data into the normal 
>> HttpSession (thougth it needs a little navigation)
>> or you can hook data in normal HttpSession into wicket  classes.
>>
>> My2cents: I would refactor helpers outside wicket
>>
>>
>>
>> > > > Oscar Besga Arcauz  < < <
>>
>> -Martin Grigorov  escribió: -
>> Para: users@wicket.apache.org
>> De: Martin Grigorov 
>> Fecha: 18/09/2012  21:42
>> Asunto: Re: Wicket Application instance from outside Wicket Application
>>
>> See org.apache.wicket.protocol.http.servlet.WicketSessionFilter
>>
>> On Tue, Sep 18, 2012 at 9:31 PM, Ernesto Reinaldo Barreiro
>>  wrote:
>>> Can't the wicket filter be put in from of axis (servlet/filter) so that you
>>> have a session and application attached to the thread?
>>>
>>> On Tue, Sep 18, 2012 at 6:05 PM, Martin Makundi <
>>> martin.maku...@koodaripalvelut.com> wrote:
>>>
>>>> Hi!
>>>>
>>>> We have Axis web services running in the same Jetty as Wicket.
>>>>
>>>> Our Axis web services happen to call some wicket helper methods, which
>>>> assume there is a session and application on thread. For localization,
>>>> etc.
>>>>
>>>> How can our Wreb Service best get hold of the wicket application at
>>>> runtime?
>>>>
>>>>
>>>> **
>>>> Martin
>>>>
>>>> -
>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>
>>>>
>>>
>>>
>>> --
>>> Regards - Ernesto Reinaldo Barreiro
>>> Antilia Soft
>>> http://antiliasoft.com
>>
>>
>>
>> --
>> Martin Grigorov
>> jWeekend
>> Training, Consulting, Development
>> http://jWeekend.com
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Wicket Application instance from outside Wicket Application

2012-11-07 Thread Martin Makundi
Solved, extend this class from your webservice or other:

public abstract class AbstractWicketCompatibleWebService {
  private static Application application; // Set in Application()
constructor for example
  private final MockWebApplication mockWebApplication;

  /**
   *
   */
  public AbstractWicketCompatibleWebService() {
Application.set(getApplication());
mockWebApplication = new MockWebApplication(getApplication(), null);
mockWebApplication.createRequestCycle();
  }

  /**
   * @return the application
   */
  public static Application getApplication() {
return application;
  }

  /** Call from Application() constructor for example
   * @param application
   */
  public static void setApplication(Application application) {
AbstractWicketCompatibleWebService.application = application;
  }
}



**
Martin

2012/9/19 Oscar Besga Arcauz :
> Maybe if you do a foward from webservice to wicket page...
>
> From other side, you can see Wicket Session classes and data into the normal 
> HttpSession (thougth it needs a little navigation)
> or you can hook data in normal HttpSession into wicket  classes.
>
> My2cents: I would refactor helpers outside wicket
>
>
>
> > > > Oscar Besga Arcauz  < < <
>
> -Martin Grigorov  escribió: -
> Para: users@wicket.apache.org
> De: Martin Grigorov 
> Fecha: 18/09/2012  21:42
> Asunto: Re: Wicket Application instance from outside Wicket Application
>
> See org.apache.wicket.protocol.http.servlet.WicketSessionFilter
>
> On Tue, Sep 18, 2012 at 9:31 PM, Ernesto Reinaldo Barreiro
>  wrote:
>> Can't the wicket filter be put in from of axis (servlet/filter) so that you
>> have a session and application attached to the thread?
>>
>> On Tue, Sep 18, 2012 at 6:05 PM, Martin Makundi <
>> martin.maku...@koodaripalvelut.com> wrote:
>>
>>> Hi!
>>>
>>> We have Axis web services running in the same Jetty as Wicket.
>>>
>>> Our Axis web services happen to call some wicket helper methods, which
>>> assume there is a session and application on thread. For localization,
>>> etc.
>>>
>>> How can our Wreb Service best get hold of the wicket application at
>>> runtime?
>>>
>>>
>>> **
>>> Martin
>>>
>>> -
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>
>>
>>
>> --
>> Regards - Ernesto Reinaldo Barreiro
>> Antilia Soft
>> http://antiliasoft.com
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Wicket Application instance from outside Wicket Application

2012-09-18 Thread Martin Makundi
Hi!

We have Axis web services running in the same Jetty as Wicket.

Our Axis web services happen to call some wicket helper methods, which
assume there is a session and application on thread. For localization,
etc.

How can our Wreb Service best get hold of the wicket application at runtime?


**
Martin

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Question about unit testing

2012-09-05 Thread Martin Makundi
This is what you need, works for any component:

/**
   * @param 
   * @param formComponent
   * @return T
   */
  @SuppressWarnings("unchecked")
  public static  T getConvertedValue(FormComponent formComponent) {
try {
  if (formComponent instanceof AbstractSingleSelectChoice) {
return (T)
abstractSingleSelectChoiceConverterMethod.invoke(formComponent,
formComponent.getValue());
  }

  if (formComponent instanceof RadioGroupWithVisibleConverter) {
String rawInput = ((RadioGroupWithVisibleConverter)
formComponent).getRawInput();
if (rawInput != null) {
  return ((RadioGroupWithVisibleConverter)
formComponent).convertValue(new String[] { rawInput });
}

T t = formComponent.getConvertedInput();

if (t != null) {
  return t;
}

return formComponent.getModelObject();
  }

  String value = getRawInputForReal(formComponent);

  if ("[-NO-RAW-INPUT-]".equals(value)) {
return formComponent.getModelObject();
  }

  if (Utils.isEmpty(value) &&
(!String.class.equals(formComponent.getType( {
value = null;
  }

  return (T)
formComponent.getConverter(formComponent.getType()).convertToObject(value,
formComponent.getLocale());
} catch (ConversionException e) {
  ValidationError error = new ValidationError();
  if (e.getResourceKey() != null)
  {
error.addMessageKey(e.getResourceKey());
  }
  String simpleName = Classes.simpleName(formComponent.getType());
  error.addMessageKey("IConverter." + simpleName);
  error.addMessageKey("IConverter");
  error.setVariable("type", simpleName);

  final Locale locale = e.getLocale();
  if (locale != null)
  {
error.setVariable("locale", locale);
error.setVariable("input", Utils.noNull(formComponent.getRawInput()));
  }
  error.setVariable("exception", e);
  Format format = e.getFormat();
  if (format instanceof SimpleDateFormat)
  {
error.setVariable("format",
((SimpleDateFormat)format).toLocalizedPattern());
  }

  Map variables = e.getVariables();
  if (variables != null)
  {
error.getVariables().putAll(variables);
  }

  formComponent.error((IValidationError)error);

  return formComponent.getModelObject(); // Default value
} catch (Exception e) {
  throw new RuntimeException(e);
}
  }

**
Martin

2012/9/5 Markward Schubert :
> Thanks for the link!
>
> This is really interesting and I think I will adapt this.
> Unfortunately I am not sure if this addresses my original Problem.
>
> What I need is a kind of code, like this:
>
> // start page...
> tester.startComponentInPage(MyFormPanel.)
>
> // verify that after initial page rendering, the selected item in the
> DropDown equals the pageModel's
> assertEquals(pageModel.myChoice.getLabel(),getDropDownChoice().currentlyRenderedSelectedChoiceItem());
>
> As described before, I had a problem in the equals. This resulted in
> myChoice being let's say "red" and the DropDown containing "red" "black"
> "blue", but "please select" was rendered in the DDC, because myChoice("red")
> was not equal to dropChoice("red").
>
> Sorry for the pseudo code :-)
>
> So the DDC could not find out that the "red" of my model was the same as the
> "red" in the choices list.
> Of course this would be a stupid bug, but i would like to protect my code
> against fellows changing the equals behavior.
>
>
>
>
>
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/Question-about-unit-testing-tp4651766p4651768.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Question about unit testing

2012-09-05 Thread Martin Makundi
https://cwiki.apache.org/WICKET/type-safe-testing-in-wicket.html

=)

2012/9/5 Markward Schubert :
> Hi folks!
>
> I am sure this is a trivial question, but i am simply too dumb to figure
> this out.
> We have a DopDownChoice, which is prefilled by some modelvalue, given to
> the page.
> Until now i was doing some testing about the model-state before and after
> submitting, which then was correct.
> The problem in the browser was, that the rendered DropDownChoice did  not
> show the preselected value correctly. It could not recognize the equality
> between some member of the available choices and the model's choice.
>
> Actually it turned out that it was a problem with the model object's
> equals.
>
> Now my question is:
>
> What is the most elegant way to unit test the correct rendering of the
> preselection of the DropDownChoice or similar components?
> As said, simply dealing with sumbmit and stuff worked correctly.
>
>
> Regards,
>
> Markward

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Fix for WICKET-3947 and WICKET-4700

2012-09-02 Thread Martin Makundi
> I'm looking at the tests in the patch and I see things like:
>
> +
> +   //assertEquals("InlineEnclosure has traversed page x times ", 
> new
> Integer(1), new
> Integer(InlineEnclosure.inlineEnclosureTraversalCounter));
> +   //  
> InlineEnclosure.CALCULATE_INLINE_ENCLOSURE_PERFORMANCE = false;
> +
>
> Not happy!

Ok, we'll fix that.

> Right. Sometimes it doesn't worth it.
> Then use Wicket 6+ in your next project (if you still like it ;-) ).

Heh, we try to have a platform for rapidly extending our app so a
completely new project from scratch is something I can't immagine yet.
Maybe it will be wicket 60.0 ;)

**
Martin


>>>>>
>>>>> On Sun, Sep 2, 2012 at 12:53 PM, Martin Makundi
>>>>>  wrote:
>>>>>> I propose that because this is a bugfix
>>>>>> (https://issues.apache.org/jira/browse/WICKET-3947) with thorough
>>>>>> junit tests, it should be added to 1.4.x
>>>>>>
>>>>>> **
>>>>>> Martin
>>>>>>
>>>>>> 2012/8/21 Veikko Törmänen :
>>>>>>> Thank you for the information.
>>>>>>>
>>>>>>> I had missed the correct patch protocol and wasn't aware that the 1.4.x 
>>>>>>> was
>>>>>>> frozen.
>>>>>>>
>>>>>>> Apologies.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> View this message in context: 
>>>>>>> http://apache-wicket.1842946.n4.nabble.com/Fix-for-WICKET-3947-and-WICKET-4700-tp4651386p4651395.html
>>>>>>> Sent from the Users forum mailing list archive at Nabble.com.
>>>>>>>
>>>>>>> -
>>>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>>
>>>>>>
>>>>>> -
>>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Martin Grigorov
>>>>> jWeekend
>>>>> Training, Consulting, Development
>>>>> http://jWeekend.com
>>>>>
>>>>> -
>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>
>>>>
>>>> -
>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>
>>>
>>>
>>>
>>> --
>>> Martin Grigorov
>>> jWeekend
>>> Training, Consulting, Development
>>> http://jWeekend.com
>>>
>>> -
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Fix for WICKET-3947 and WICKET-4700

2012-09-02 Thread Martin Makundi
Hi!

>>> Wicket 1.4.x is frozen. Only security bug fixes can be committed.
>>> 1.4.21 is being voted and the vote ends tomorrow.
>>
>> This would be a good opportunity to get widespread experience of this
>> bugfix, it will benefit also later versions.
>
> There is a chance to break something else ... The risk is big.

Well.. just run all the tests ;)

>> We didn't find a way to do this in the current wicket architecture,
>> it's simply does not support autocomponents well enough.
>
> We know that. We will think how this can be improved for Wicket 7.
> In Wicket 1.5 there is EnclosureContainer which can be used as a
> replacement of (Inline)Enclosure. The difference is that it is not an
> auto component.
>
> I suggest you to spend some time to upgrade to 1.5.8 or 6.0.0.
> These are the versions we also use in production and it will be easy
> to catch any problems when applying patches by users.

The pace of upgrading from one incompatible wicket to another seem so
fast that we will wait for 7 or 8 or 9 =) We are currently in pretty
far a sweetspot in wicket development, it has almost all the features
we need and we have hacked into it everything it does not have yet
that we need, so upgrading would make no sense, upgrading would take
us way backwards.

**
Martin

>>
>>>
>>> On Sun, Sep 2, 2012 at 12:53 PM, Martin Makundi
>>>  wrote:
>>>> I propose that because this is a bugfix
>>>> (https://issues.apache.org/jira/browse/WICKET-3947) with thorough
>>>> junit tests, it should be added to 1.4.x
>>>>
>>>> **
>>>> Martin
>>>>
>>>> 2012/8/21 Veikko Törmänen :
>>>>> Thank you for the information.
>>>>>
>>>>> I had missed the correct patch protocol and wasn't aware that the 1.4.x 
>>>>> was
>>>>> frozen.
>>>>>
>>>>> Apologies.
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> View this message in context: 
>>>>> http://apache-wicket.1842946.n4.nabble.com/Fix-for-WICKET-3947-and-WICKET-4700-tp4651386p4651395.html
>>>>> Sent from the Users forum mailing list archive at Nabble.com.
>>>>>
>>>>> -
>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>
>>>>
>>>> -
>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>
>>>
>>>
>>>
>>> --
>>> Martin Grigorov
>>> jWeekend
>>> Training, Consulting, Development
>>> http://jWeekend.com
>>>
>>> -
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Fix for WICKET-3947 and WICKET-4700

2012-09-02 Thread Martin Makundi
Hi!

> Wicket 1.4.x is frozen. Only security bug fixes can be committed.
> 1.4.21 is being voted and the vote ends tomorrow.

This would be a good opportunity to get widespread experience of this
bugfix, it will benefit also later versions.

> About the patch - I still don't like the leak that it adds -
> o.a.w.Component will know about InlineEnclosure (a specialization of
> Component).

We didn't find a way to do this in the current wicket architecture,
it's simply does not support autocomponents well enough.

> Why you don't like the workaround with the simple WebMarkupContainer
> as a parent of InlineEnclosure ?

Well that was the original boilerplate code we wanted to get rid of in
first place. Ofcourse everything can be done the hard way but built in
support for such basic functionality is beneficial.

**
Martin


>
> On Sun, Sep 2, 2012 at 12:53 PM, Martin Makundi
>  wrote:
>> I propose that because this is a bugfix
>> (https://issues.apache.org/jira/browse/WICKET-3947) with thorough
>> junit tests, it should be added to 1.4.x
>>
>> **
>> Martin
>>
>> 2012/8/21 Veikko Törmänen :
>>> Thank you for the information.
>>>
>>> I had missed the correct patch protocol and wasn't aware that the 1.4.x was
>>> frozen.
>>>
>>> Apologies.
>>>
>>>
>>>
>>> --
>>> View this message in context: 
>>> http://apache-wicket.1842946.n4.nabble.com/Fix-for-WICKET-3947-and-WICKET-4700-tp4651386p4651395.html
>>> Sent from the Users forum mailing list archive at Nabble.com.
>>>
>>> -
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Fix for WICKET-3947 and WICKET-4700

2012-09-02 Thread Martin Makundi
I propose that because this is a bugfix
(https://issues.apache.org/jira/browse/WICKET-3947) with thorough
junit tests, it should be added to 1.4.x

**
Martin

2012/8/21 Veikko Törmänen :
> Thank you for the information.
>
> I had missed the correct patch protocol and wasn't aware that the 1.4.x was
> frozen.
>
> Apologies.
>
>
>
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/Fix-for-WICKET-3947-and-WICKET-4700-tp4651386p4651395.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Session Serialization optimization

2012-08-26 Thread Martin Makundi
Thanks, implemented it with wicket 1.4.x also, anybody interested in
the code let me know ;)

**
Martin

On Fri, Jul 6, 2012 at 5:17 PM, Martin Grigorov  wrote:
> I have tried with
> https://github.com/wicketstuff/core/tree/master/jdk-1.6-parent/serializer-kryo
>
> On Fri, Jul 6, 2012 at 4:13 PM, Martin Makundi
>  wrote:
>> Hi!
>>
>> Has anyone tried some serialization booster (e.g.,
>> http://static.netty.io/3.5/api/org/jboss/netty/buffer/ChannelBuffer.html)
>> with wicket session page serializer? Successfully?
>>
>> **
>> Martin
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Wicket Render speed

2012-08-25 Thread Martin Makundi
http://wicket.apache.org/help/  JProfiler or YourKit  for example.

2012/8/26 steven.li :
> what profiler can we use ? I changed to deploy mode, the result is the same .
> If I remove the 4 combo checkbox, it will be much faster.
>
>
>
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/Wicket-Render-speed-tp4651489p4651505.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Wicket Render speed

2012-08-25 Thread Martin Makundi
Use a real profiler to see.. also running application in deployment
mode will give you more appropriate results.

**
Martin

2012/8/26 steven.li :
> yes. I use loadabledetachable model.  it's the initial time loading takes too
> long time. and from the debug log, it shows most of time are spend on
> "Beging Render"--"Rendered"---"End Render"
>
>
>
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/Wicket-Render-speed-tp4651489p4651502.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Wicket Render speed

2012-08-25 Thread Martin Makundi
Are you using loadabledetachable models everywhere possible?

**
Martin

2012/8/25 steven.li :
> Hi All
>
>  I have a dataview table, for 50 rows, it takes around 10 seconds to show
> the page, and the render part take around 8-9 seconds from debug log,  Any
> way to improve this ?
>
> Each row, there are 2 input DateText filed, three labels, 4 checkbox, 2
> icons and 2-3 placehoder TD. around 100 characters each row.  Is this a two
> heavy row for wicket ?
>
>
>
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/Wicket-Render-speed-tp4651489.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Looking for A Telecommuting Wicket Specialist

2012-08-14 Thread Martin Makundi
Hi!

We are looking for a telecommuting wicket private contractor to do
some application development using Wicket (1.4.x).

We prefer a direct contract with the developer-contractor instead of
software companies.


**
Martin
http://code.google.com/p/koodaripalvelut-wicket/

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Session Serialization optimization

2012-07-06 Thread Martin Makundi
Hi!

Has anyone tried some serialization booster (e.g.,
http://static.netty.io/3.5/api/org/jboss/netty/buffer/ChannelBuffer.html)
with wicket session page serializer? Successfully?

**
Martin

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: setOutputMarkupPlaceholderTag not working to render panel with setvisible false...

2012-07-01 Thread Martin Makundi
Try setOutputMarkupPlaceholderTag(true)

2012/7/1 kshitiz :
> Hi,
>
> I am using a panel with setVisible false on a condition. But it is not
> getting rendered when its visibility becomes true. Here is  the code :
>
> *final ShowCommentPanel showCommentPanel = new ShowCommentPanel(
>                                 "showCommentPanel", postDomain, userDomain, 
> 3);
>                 showCommentPanel.setOutputMarkupPlaceholderTag(true);
>                 showCommentPanel.setVisible(!commentDomainList().isEmpty());
>         *
>
> AjaxFallbackButton ajaxCommentSubmitButton = new AjaxFallbackButton(
>                                 "commentSubmitButton", commentForm) {
>
>         @Override
>                         public void onSubmit(AjaxRequestTarget target, final 
> Form form) {
>
>
>                                 if (target != null) {
>
>                                         try {
>                                 // some processing
>                                         } catch (Exception exception) {
>                                                 error(exception.getMessage());
>                                         }
>                                         *target.add(showCommentPanel);*
>                                 }
>                         }
>
>
>
>                 };
>
> what can be the problem?
>
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/setOutputMarkupPlaceholderTag-not-working-to-render-panel-with-setvisible-false-tp4650313.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Ajax refresh not working in a case .... while working in similar other cases!!!

2012-06-09 Thread Martin Makundi
clearinput can be used with forms when submit is not done but model is changed

**
Martin

2012/6/9 kshitiz :
> Okk...actually when I analysed more, what  I found is that when I enter new
> value in text field, the event takes the old value only. Even I am now
> refreshing the form too. Then I found that the field sets its value to old
> one after getting refreshed. My field is of final  type. But that should not
> be the problem as I am using the same technique in other pages too...
>
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/Ajax-refresh-not-working-in-a-case-while-working-in-similar-other-cases-tp4649794p4649802.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Ajax refresh not working in a case .... while working in similar other cases!!!

2012-06-09 Thread Martin Makundi
Listview has this parameter reuseitems, if you set it to false it will
rebuild when its container is refreshed.

2012/6/9 kshitiz :
> I got the problem atleast...what is happening that it is using the same
> search object (where results are being stored and then displayed in
> container) and not creating the new one for new searches. Actually what I
> want is when user searches anything, the results are refreshed only. I am
> storing the results in an object and displaying them using listview which is
> again a part of container. Can you suggest me anything out here?
>
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/Ajax-refresh-not-working-in-a-case-while-working-in-similar-other-cases-tp4649794p4649799.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Ajax refresh not working in a case .... while working in similar other cases!!!

2012-06-09 Thread Martin Makundi
Ajax debug is a small hover window visible in browser when you have
application configuration in development mode.

**
Martin


2012/6/9 kshitiz :
> I have never tried out that beforeI have enabled debug mode but I to
> debug the ajax part? Can you please tell me ??
>
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/Ajax-refresh-not-working-in-a-case-while-working-in-similar-other-cases-tp4649794p4649797.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Ajax refresh not working in a case .... while working in similar other cases!!!

2012-06-09 Thread Martin Makundi
Did you look at wicket ajax debugin browser? It usually gives quite
good clues about what's missing ...

2012/6/9 kshitiz :
> Hi,
>
> I am trying to refresh ajax container after firing an event. The code is:
>
> *final WebMarkupContainer searchContainer = new WebMarkupContainer(
>                                "searchContainer");
>                searchContainer.setOutputMarkupId(true);*
>
>
> AjaxFallbackButton ajaxSearchButton = new AjaxFallbackButton(
>                                "searchButton", searchForm) {
>
>                        @Override
>                        public void onSubmit(AjaxRequestTarget target, final 
> Form form) {
>                                if (target != null) {
>
>                                        try {
>                                                 // some actions...
>                                        } catch (Exception exception) {
>                                        }
>                                        *target.add(searchContainer);*
>                                }
>                        }
> }
>
>
> Label userLabel = new Label("userLabel", "List of Users");
>                Label numberOfUserLabel = new Label("numberOfUserLabel", new 
> Integer(
>                                numberOfUsers).toString());
>
>                final PageableListView userDomainListView = new
> PageableListView(
>                                "user", userDomainList, resultsPerPage) {
>                        private static final long serialVersionUID = 1L;
>
>                        @Override
>                        protected void populateItem(final ListItem 
> listItem) {
>                        // populating list
>                        }
>
>                };
>
> *               userDomainListView.setVisible(!userDomainList.isEmpty());
>                userLabel.setVisible(!userDomainList.isEmpty());
>                numberOfUserLabel.setVisible(!userDomainList.isEmpty());
>
>                searchContainer.add(userLabel);
>                searchContainer.add(userDomainListView);
>                searchContainer.add(numberOfUserLabel);
> *
>
> But the list view is not getting refreshed? I am using the same technique in
> other pages and it is working.. what be the reason..?? Any suggestion can
> work for me...
>
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/Ajax-refresh-not-working-in-a-case-while-working-in-similar-other-cases-tp4649794.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: any way to refresh listview from inside?

2012-06-03 Thread Martin Makundi
Hi!

Yes, you can refresh anything from anywhere so long as you have a
reference to it.

For example:

 listViewContainer = webmarkupcontainer.setOutputMarkupId(true);

  ...

 ajaxButton.onClick{ target.addComponent(listViewContainer); }


**
Martin

2012/6/3 kshitiz :
> Hi,
>
> Is there any way to refresh listview from inside? Like if every of its item
> has ajaxlink or ajaxbutton, can the whole view be refreshed from that ajax
> button? I am not able to find any way in internet regarding this issue...
>
>
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/any-way-to-refresh-listview-from-inside-tp4649684.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Redirect to Wicket page with 301 Moved Permanently

2012-05-14 Thread Martin Makundi
Also you can hack jetty or similar...

// Force 302 redirect status code into 301 'permanent redirect'
Field statusField = HttpGenerator.class.getDeclaredField("__status");
statusField.setAccessible(true);
Object[] statusMap = (Object[]) statusField.get(HttpStatus.class);
statusMap[HttpStatus.MOVED_TEMPORARILY_302] =
statusMap[HttpStatus.MOVED_PERMANENTLY_301];


2012/5/14 Jeffrey Schneller :
> Are you using Apache HTTPD in front of your app server?  If so, you can just 
> use a Rewrite Rule to send the 301 redirect with the new URL.  You may want 
> to look into your app server to see if url rewriting is an option.
>
>
>
> -Original Message-
> From: jarnis [mailto:jarnis.bertel...@exedio.com]
> Sent: Monday, May 14, 2012 5:56 AM
> To: users@wicket.apache.org
> Subject: Redirect to Wicket page with 301 Moved Permanently
>
> Hey guys
>
> I'm trying to make a redirect form an old url to a new one. The browser url 
> should be changed to the new one and the response code for the original 
> request to the old url should be 301 Moved permanently so search engines will 
> forget the old url.
>
> Making the redirect by throwing a RestartResponseException works fine, except 
> I can't change the response code from 302 Moved Temporarily to 301 Moved 
> Permanetly
>
> I've also tried using the RedirectToUrlException, where setting the response 
> code is easy, but I have problems getting it to construct a correct relative 
> url so I don't have to hard code it to a specific host name.
>
> What is the best way to solve this?
>
> Thanks in advance
>
> Jarnis
>
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/Redirect-to-Wicket-page-with-301-Moved-Permanently-tp4631888.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: How do I keep component paths constant across unit tests when using Wicket Tester

2012-04-21 Thread Martin Makundi
Test safely:

https://cwiki.apache.org/WICKET/type-safe-testing-in-wicket.html

2012/4/21 mmuk...@gmail.com :
> I have several wicket tests that target a sortable DataTable, specifically
> ajax-clicking the sortable column headers and asserting the contents of the
> rendered body rows. Now the component hierarchy of the table component's
> descendants is auto generated by the wicket framework, and results in paths
> to the sorting links (ajax) similar to:
>
>    table:topToolbars:toolbars:0:headers:1:header:orderByLink
>
> However, when the DataTable gets re-rendered across tests, the index of the
> toolbars component is incremented each time i.e similar to:
>
>    table:topToolbars:toolbars:1:headers:1:header:orderByLink
>
> which then breaks the hard-coded paths of the succeeding tests as they will
> no longer match.
>
> The code fragment for the datatable construction is as follows:
>
>                final PayeesProvider dataProvider = new PayeesProvider();
>                table = new DataTable("payees", columns,
> dataProvider, rowsPerPage);
>                table.setOutputMarkupId(true);
>                table.addTopToolbar(new AjaxFallbackHeadersToolbar(table, 
> dataProvider) {
>
>                        private static final long serialVersionUID = 
> -3509487788284410429L;
>
>                        @Override
>                        protected WebMarkupContainer newSortableHeader(final 
> String borderId,
> final String property, final ISortStateLocator locator) {
>                                return new AjaxFallbackOrderByBorder(borderId, 
> property, locator,
> getAjaxCallDecorator()) {
>
>                                        @Override
>                                        protected void onRender() {
>                                                System.out.printf("Path: 
> %s\n", this.getPageRelativePath());
>                                                super.onRender();
>                                        }
>
>                                        private static final long 
> serialVersionUID = -6399737639959498915L;
>
>                                        @Override
>                                        protected void onAjaxClick(final 
> AjaxRequestTarget target) {
>                                                target.add(getTable(), 
> navigator, navigatorInfoContainer);
>                                        }
>
>                                        @Override
>                                        protected void onSortChanged() {
>                                                super.onSortChanged();
>                                                getTable().setCurrentPage(0);
>                                        }
>                                };
>                        }
>                });
>                table.addBottomToolbar(new NoRecordsToolbar(table));
>                add(table);
>
> To be precise, when I run my tests, the above System.out.printf statement
> prints:
>
> (1st test)
>
>    Path: payees:topToolbars:toolbars:0:headers:1:header
>    Path: payees:topToolbars:toolbars:0:headers:2:header
>
> (2nd test)
>
>    Path: payees:topToolbars:toolbars:2:headers:1:header
>    Path: payees:topToolbars:toolbars:2:headers:2:header
>
> (3rd test)
>
>    Path: payees:topToolbars:toolbars:4:headers:1:header
>    Path: payees:topToolbars:toolbars:4:headers:2:header
>
> (4th test)
>
>    Path: payees:topToolbars:toolbars:6:headers:1:header
>    Path: payees:topToolbars:toolbars:6:headers:2:header
>    Path: payees:topToolbars:toolbars:6:headers:1:header
>    Path: payees:topToolbars:toolbars:6:headers:2:header
>    Path: payees:topToolbars:toolbars:6:headers:1:header
>    Path: payees:topToolbars:toolbars:6:headers:2:header
>
> (5th test)
>
>    Path: payees:topToolbars:toolbars:8:headers:1:header
>    Path: payees:topToolbars:toolbars:8:headers:2:header
>
> Does anyone know how I can force the index generation to be more
> deterministic / repeatable. Alternatively, is there a way of wild-carding or
> otherwise generalising the path, so as to make them immune to these
> increments?
>
> Any help will be greatly appreciated chaps!
>
>
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/How-do-I-keep-component-paths-constant-across-unit-tests-when-using-Wicket-Tester-tp4577030p4577030.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: A/B testing with wicket

2012-04-19 Thread Martin Makundi
You can use Google adwords to implement A/B testing.

**
Martin

2012/4/19 Decebal Suiu :
> Hello
>
> Any advice how can I implement the A/B testing
> (http://en.wikipedia.org/wiki/A/B_testing) in wicket. Anybody already
> implemented this concept in an ecommerce or page landing site?
>
> Thanks,
> Decebal
>
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/A-B-testing-with-wicket-tp4571946p4571946.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



  1   2   3   4   5   6   7   8   9   10   >