Re: WICKET-5727: PageAccessSynchronizer$PageLock.waitForRelease problem with opening pdf files

2014-10-14 Thread Martin Grigorov
Hi,

On Tue, Oct 14, 2014 at 3:36 PM, Marieke Vandamme 
wrote:

> Hi,
>
> On this jira issue we got some directions on how to solve our problems,
> but some things aren't clear yet.
> *"then use a AjaxTimerBehavior to monitor progress, and redirect to a
> ResourceReference once the thread is done."*
> How is it possible to redirect to ResourceReference in onTimer function
> of AjaxTimerBehavior? Is this the correct way: *setResponsePage(new
> RedirectPage(urlFor(resourcereference, params))) *?
>

No need of using a page.
You can use org.apache.wicket.request.flow.RedirectToUrlException or
even org.apache.wicket.request.http.handler.RedirectRequestHandler.

The idea is the same as explained at
https://cwiki.apache.org/confluence/display/WICKET/AJAX+update+and+file+download+in+one+blow


>
> Thanks for any help ! Kind Regards, Marieke
>
> --
>
>
>  DISCLAIMER 
>
> http://www.tvh.com/glob/en/email-disclaimer
>
> "This message is delivered to all addressees subject to the conditions
> set forth in the attached disclaimer, which is an integral part of this
> message."
>


WICKET-5727: PageAccessSynchronizer$PageLock.waitForRelease problem with opening pdf files

2014-10-14 Thread Marieke Vandamme
Hi,

On this jira issue we got some directions on how to solve our problems,
but some things aren't clear yet.
*"then use a AjaxTimerBehavior to monitor progress, and redirect to a
ResourceReference once the thread is done."*
How is it possible to redirect to ResourceReference in onTimer function
of AjaxTimerBehavior? Is this the correct way: *setResponsePage(new
RedirectPage(urlFor(resourcereference, params))) *?

Thanks for any help ! Kind Regards, Marieke

-- 


 DISCLAIMER 

http://www.tvh.com/glob/en/email-disclaimer

"This message is delivered to all addressees subject to the conditions
set forth in the attached disclaimer, which is an integral part of this
message."


Re: Returning some default markup when rendering of a component (subtree) fails with a RuntimeException ?

2014-10-14 Thread Martin Grigorov
I'll play some more with this.
At the moment I think it will be much easier if Behavior#onException() can
return a result saying "I can deal with the problem" and Wicket just
continue with the rendering of the other components pretending that nothing
bad happened so far.

But any API changes would mean that the change will be applied only in 7.x
branch!

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

On Tue, Oct 14, 2014 at 3:27 PM, Tobias Gierke  wrote:

> Hi,
>
> I've just come to the same conclusion. And I don't really like the fact
> that every component that needs to be rendered in a 'fail-safe' way also
> has to override onRender() with an empty implementation. To me this
> 'fail-safe rendering' looks more like a cross-cutting concern that
> wicket-core should provide a hook for (maybe exposed through a new method
> in IRequestCycleListener).
>
> Cheers,
> Tobias
>
>
>  Hi,
>>
>> isVisible() is called at many places in Wicket.
>> It is not easy to try/catch it.
>>
>> I've updated (locally) the demo app and with 6.x it breaks with:
>>
>> java.lang.RuntimeException: Problem in #isVisible
>> at com.mycompany.HomePage$2.isVisible(HomePage.java:35)
>> at org.apache.wicket.Component.determineVisibility(Component.java:4340)
>> at org.apache.wicket.Component.isVisibleInHierarchy(Component.java:2131)
>> at org.apache.wicket.Component.isStateless(Component.java:2048)
>> at org.apache.wicket.Page$2.component(Page.java:479)
>> at org.apache.wicket.Page$2.component(Page.java:475)
>> at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144)
>> at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)
>> at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123)
>> at org.apache.wicket.MarkupContainer.visitChildren(
>> MarkupContainer.java:860)
>> at org.apache.wicket.Page.isPageStateless(Page.java:473)
>> at
>> org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.
>> getPageInfo(AbstractBookmarkableMapper.java:465)
>> at
>> org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.
>> mapHandler(AbstractBookmarkableMapper.java:409)
>> at
>> org.apache.wicket.core.request.mapper.MountedMapper.
>> mapHandler(MountedMapper.java:395)
>> at
>> org.apache.wicket.request.mapper.CompoundRequestMapper.mapHandler(
>> CompoundRequestMapper.java:215)
>> at
>> org.apache.wicket.request.cycle.RequestCycle.mapUrlFor(
>> RequestCycle.java:429)
>> at
>> org.apache.wicket.request.handler.render.WebPageRenderer.respond(
>> WebPageRenderer.java:281)
>>
>> This is even before starting rendering the page itself.
>>
>> Martin Grigorov
>> Wicket Training and Consulting
>> https://twitter.com/mtgrigorov
>>
>> On Tue, Oct 14, 2014 at 2:50 PM, Tobias Gierke <
>> tobias.gie...@voipfuture.com
>>
>>> wrote:
>>> Sorry for the noise, I should've read your e-mail more thorougly :(
>>>
>>> "But as you can see the default rendering of a component should be
>>> suppressed (PortletLike#onRender() {}) so it is not enough just to have
>>> the
>>> behavior. "
>>>
>>> I'll fix my implementation and try again.
>>>
>>> Cheers,
>>> Tobias
>>>
>>>
>>>
>>> -
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>
>>>
>
> --
> Tobias Gierke
> Development
>
> VOIPFUTURE GmbH   Wendenstraße 4   20097 Hamburg,  Germany
> Phone +49 40 688 900 164 Fax +49 40 688 900 199
> Email tobias.gie...@voipfuture.com   Web http://www.voipfuture.com
>  CEO Jan Bastian
>
> Commercial Court AG Hamburg   HRB 109896, VAT ID DE263738086
>
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


Re: Returning some default markup when rendering of a component (subtree) fails with a RuntimeException ?

2014-10-14 Thread Tobias Gierke

Hi,

I've just come to the same conclusion. And I don't really like the fact 
that every component that needs to be rendered in a 'fail-safe' way also 
has to override onRender() with an empty implementation. To me this 
'fail-safe rendering' looks more like a cross-cutting concern that 
wicket-core should provide a hook for (maybe exposed through a new 
method in IRequestCycleListener).


Cheers,
Tobias


Hi,

isVisible() is called at many places in Wicket.
It is not easy to try/catch it.

I've updated (locally) the demo app and with 6.x it breaks with:

java.lang.RuntimeException: Problem in #isVisible
at com.mycompany.HomePage$2.isVisible(HomePage.java:35)
at org.apache.wicket.Component.determineVisibility(Component.java:4340)
at org.apache.wicket.Component.isVisibleInHierarchy(Component.java:2131)
at org.apache.wicket.Component.isStateless(Component.java:2048)
at org.apache.wicket.Page$2.component(Page.java:479)
at org.apache.wicket.Page$2.component(Page.java:475)
at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144)
at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)
at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123)
at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:860)
at org.apache.wicket.Page.isPageStateless(Page.java:473)
at
org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.getPageInfo(AbstractBookmarkableMapper.java:465)
at
org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.mapHandler(AbstractBookmarkableMapper.java:409)
at
org.apache.wicket.core.request.mapper.MountedMapper.mapHandler(MountedMapper.java:395)
at
org.apache.wicket.request.mapper.CompoundRequestMapper.mapHandler(CompoundRequestMapper.java:215)
at
org.apache.wicket.request.cycle.RequestCycle.mapUrlFor(RequestCycle.java:429)
at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:281)

This is even before starting rendering the page itself.

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

On Tue, Oct 14, 2014 at 2:50 PM, Tobias Gierke 
wrote:
Sorry for the noise, I should've read your e-mail more thorougly :(

"But as you can see the default rendering of a component should be
suppressed (PortletLike#onRender() {}) so it is not enough just to have the
behavior. "

I'll fix my implementation and try again.

Cheers,
Tobias



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





--
Tobias Gierke
Development

VOIPFUTURE GmbH   Wendenstraße 4   20097 Hamburg,  Germany
Phone +49 40 688 900 164 Fax +49 40 688 900 199
Email tobias.gie...@voipfuture.com   Web http://www.voipfuture.com
 
CEO Jan Bastian


Commercial Court AG Hamburg   HRB 109896, VAT ID DE263738086



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



Re: Returning some default markup when rendering of a component (subtree) fails with a RuntimeException ?

2014-10-14 Thread Martin Grigorov
Hi,

isVisible() is called at many places in Wicket.
It is not easy to try/catch it.

I've updated (locally) the demo app and with 6.x it breaks with:

java.lang.RuntimeException: Problem in #isVisible
at com.mycompany.HomePage$2.isVisible(HomePage.java:35)
at org.apache.wicket.Component.determineVisibility(Component.java:4340)
at org.apache.wicket.Component.isVisibleInHierarchy(Component.java:2131)
at org.apache.wicket.Component.isStateless(Component.java:2048)
at org.apache.wicket.Page$2.component(Page.java:479)
at org.apache.wicket.Page$2.component(Page.java:475)
at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144)
at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)
at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123)
at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:860)
at org.apache.wicket.Page.isPageStateless(Page.java:473)
at
org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.getPageInfo(AbstractBookmarkableMapper.java:465)
at
org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.mapHandler(AbstractBookmarkableMapper.java:409)
at
org.apache.wicket.core.request.mapper.MountedMapper.mapHandler(MountedMapper.java:395)
at
org.apache.wicket.request.mapper.CompoundRequestMapper.mapHandler(CompoundRequestMapper.java:215)
at
org.apache.wicket.request.cycle.RequestCycle.mapUrlFor(RequestCycle.java:429)
at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:281)

This is even before starting rendering the page itself.

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

On Tue, Oct 14, 2014 at 2:50 PM, Tobias Gierke  wrote:

> Sorry for the noise, I should've read your e-mail more thorougly :(
>
> "But as you can see the default rendering of a component should be
> suppressed (PortletLike#onRender() {}) so it is not enough just to have the
> behavior. "
>
> I'll fix my implementation and try again.
>
> Cheers,
> Tobias
>
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


Re: Returning some default markup when rendering of a component (subtree) fails with a RuntimeException ?

2014-10-14 Thread Tobias Gierke

Sorry for the noise, I should've read your e-mail more thorougly :(

"But as you can see the default rendering of a component should be 
suppressed (PortletLike#onRender() {}) so it is not enough just to have 
the behavior. "


I'll fix my implementation and try again.

Cheers,
Tobias


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



Re: Returning some default markup when rendering of a component (subtree) fails with a RuntimeException ?

2014-10-14 Thread Tobias Gierke

Hi,

Oops. It seems PortletLike (a copy of PanelA with an exception in the
rendering of its Label child) hasn't be added to Git ...

I've refactored it even further.
But as you can see the default rendering of a component should be
suppressed (PortletLike#onRender() {}) so it is not enough just to have the
behavior.

This is just a simple demo.
I'd like some feedback from a real usage before even thinking about adding
this to core.
I tested the code of your Behavior implementation on our project by 
throwing a RuntimeException from inside a LoadableDetachableModel#load() 
method but the Behavior never gets called.


This makes sense since I happen to throw the dummy exception from within 
a model that's used by an overridden isVisible() method  - and before a 
component is rendered Wicket checks whether the component needs to be 
rendered at all.


I tested this using Wicket 1.5.11 - did the rendering control flow 
change in Wicket 6.x so that your github example would cover this 
failure scenario as well ?


Very much appreciate you looking into this,
Tobias


java.lang.RuntimeException: Dummy exception
 at 
com.vodecc.voipmng.boundary.wicket.dashboard.portlets.PolicyConformancePortlet$1.load(PolicyConformancePortlet.java:180)
 at 
com.vodecc.voipmng.boundary.wicket.dashboard.portlets.PolicyConformancePortlet$1.load(PolicyConformancePortlet.java:1)
 at 
org.apache.wicket.model.LoadableDetachableModel.getObject(LoadableDetachableModel.java:119)
 at 
com.vodecc.voipmng.boundary.wicket.dashboard.portlets.components.PolicyConformancePortletPanel.hasData(PolicyConformancePortletPanel.java:241)
 at 
com.vodecc.voipmng.boundary.wicket.dashboard.portlets.components.PolicyConformancePortletPanel.access$2(PolicyConformancePortletPanel.java:240)
 at 
com.vodecc.voipmng.boundary.wicket.dashboard.portlets.components.PolicyConformancePortletPanel$2.isVisible(PolicyConformancePortletPanel.java:112)
 at 
org.apache.wicket.Component.determineVisibility(Component.java:4402)
 at 
org.apache.wicket.Component.internalBeforeRender(Component.java:987)

 at org.apache.wicket.Component.beforeRender(Component.java:1028)
 at 
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1739)

 at org.apache.wicket.Component.onBeforeRender(Component.java:3871)
 at 
com.vodecc.voipmng.boundary.wicket.general.CustomPanel.onBeforeRender(CustomPanel.java:107)
 at 
org.apache.wicket.Component.internalBeforeRender(Component.java:994)

 at org.apache.wicket.Component.beforeRender(Component.java:1028)
 at 
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1739)

 at org.apache.wicket.Component.onBeforeRender(Component.java:3871)
 at 
org.apache.wicket.Component.internalBeforeRender(Component.java:994)

 at org.apache.wicket.Component.beforeRender(Component.java:1028)
 at 
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1739)

 at org.apache.wicket.Component.onBeforeRender(Component.java:3871)
 at 
com.vodecc.voipmng.boundary.wicket.general.CustomPanel.onBeforeRender(CustomPanel.java:107)
 at 
org.apache.wicket.Component.internalBeforeRender(Component.java:994)

 at org.apache.wicket.Component.beforeRender(Component.java:1028)
 at 
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1739)

 at org.apache.wicket.Component.onBeforeRender(Component.java:3871)
 at 
org.apache.wicket.Component.internalBeforeRender(Component.java:994)

 at org.apache.wicket.Component.beforeRender(Component.java:1028)
 at 
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1739)

 at org.apache.wicket.Component.onBeforeRender(Component.java:3871)
 at 
org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(AbstractRepeater.java:139)
 at 
org.apache.wicket.Component.internalBeforeRender(Component.java:994)

 at org.apache.wicket.Component.beforeRender(Component.java:1028)
 at 
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1739)

 at org.apache.wicket.Component.onBeforeRender(Component.java:3871)
 at 
org.apache.wicket.Component.internalBeforeRender(Component.java:994)

 at org.apache.wicket.Component.beforeRender(Component.java:1028)
 at 
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1739)

 at org.apache.wicket.Component.onBeforeRender(Component.java:3871)
 at 
com.vodecc.voipmng.boundary.wicket.general.CustomPanel.onBeforeRender(CustomPanel.java:107)
 at 
org.apache.wicket.Component.internalBeforeRender(Component.java:994)

 at org.apache.wicket.Component.beforeRender(Component.java:1028)
 at 
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1739)

 at org.apache.wicket.Component.onBeforeRender(Component.java:3871)
 at 
org.apache.wicket.Component.internalBeforeRe

Re: Returning some default markup when rendering of a component (subtree) fails with a RuntimeException ?

2014-10-14 Thread Ernesto Reinaldo Barreiro
it seems no :-(

On Tue, Oct 14, 2014 at 11:16 AM, Ernesto Reinaldo Barreiro <
reier...@gmail.com> wrote:

> It is already good for people wanting/needing to use it :-)
>
> Is there any other way to hook into onRender? Any way to avoid onRender
> being called via a global listener? If component is intanceof Bla don't
> call onRender?
>
> On Tue, Oct 14, 2014 at 10:47 AM, Martin Grigorov 
> wrote:
>
>> Oops. It seems PortletLike (a copy of PanelA with an exception in the
>> rendering of its Label child) hasn't be added to Git ...
>>
>> I've refactored it even further.
>> But as you can see the default rendering of a component should be
>> suppressed (PortletLike#onRender() {}) so it is not enough just to have
>> the
>> behavior.
>>
>> This is just a simple demo.
>> I'd like some feedback from a real usage before even thinking about adding
>> this to core.
>>
>> Martin Grigorov
>> Wicket Training and Consulting
>> https://twitter.com/mtgrigorov
>>
>> On Tue, Oct 14, 2014 at 1:24 PM, Ernesto Reinaldo Barreiro <
>> reier...@gmail.com> wrote:
>>
>> > Martin,
>> >
>> > PortletLike b = new PortletLike("b", Model.of("panel b"))... I can't
>> > see a PortletLike...
>> > on same package. Maybe a good way to use the behavior is: 1- Roll a
>> > PorletLikeBehavior. and an Interface IPorletLike { CharSequence
>> > getOnFailContents(); } to mark porlet like components. 2- Add a
>> component
>> > instantiation listener that if a component implement IPorletLike
>> > automatically adds the behavior.
>> >
>> > On Tue, Oct 14, 2014 at 10:14 AM, Martin Grigorov > >
>> > wrote:
>> >
>> > > Hi Ernesto,
>> > >
>> > > I didn't get the question.
>> > >
>> > > Martin Grigorov
>> > > Wicket Training and Consulting
>> > > https://twitter.com/mtgrigorov
>> > >
>> > > On Tue, Oct 14, 2014 at 1:10 PM, Ernesto Reinaldo Barreiro <
>> > > reier...@gmail.com> wrote:
>> > >
>> > > > Thanks! Whose PortletLike on
>> > > >
>> > > >
>> > >
>> >
>> https://github.com/martin-g/component-rendering-default/blob/master/src/main/java/com/mycompany/HomePage.java
>> > > > ?
>> > > > PanelA?
>> > > >
>> > > > On Tue, Oct 14, 2014 at 9:03 AM, Martin Grigorov <
>> mgrigo...@apache.org
>> > >
>> > > > wrote:
>> > > >
>> > > > > Hi,
>> > > > >
>> > > > > Here is a demo app with Wicket 6.x:
>> > > > > https://github.com/martin-g/component-rendering-default
>> > > > >
>> > > > > Martin Grigorov
>> > > > > Wicket Training and Consulting
>> > > > > https://twitter.com/mtgrigorov
>> > > > >
>> > > > > On Mon, Oct 13, 2014 at 6:13 PM, Martin Grigorov <
>> > mgrigo...@apache.org
>> > > >
>> > > > > wrote:
>> > > > >
>> > > > > > Here is a possible solution *now*:
>> > > > > >
>> > > > > > portletLike.add(new AbstractTransformerBehavior() {
>> > > > > >   @Override public CharSequence transform(Component c,
>> CharSequence
>> > > > > > output) {
>> > > > > >  try {
>> > > > > >c.internalRenderComponent();
>> > > > > >  } catch (Exception x) {
>> > > > > >return "default result";
>> > > > > >  }
>> > > > > >}
>> > > > > > });
>> > > > > >
>> > > > > > Something like this should do it.
>> > > > > >
>> > > > > > Martin Grigorov
>> > > > > > Wicket Training and Consulting
>> > > > > > https://twitter.com/mtgrigorov
>> > > > > >
>> > > > > > On Mon, Oct 13, 2014 at 5:39 PM, Ernesto Reinaldo Barreiro <
>> > > > > > reier...@gmail.com> wrote:
>> > > > > >
>> > > > > >> I see... you may have already streamed content --> Maybe same
>> > > > interface
>> > > > > >> serves to mark a component as "do not stream anything till the
>> > end",
>> > > > or
>> > > > > >> stream the contents to an intermediate buffer... but what I way
>> > > above
>> > > > > >> might
>> > > > > >> not make sense as well.
>> > > > > >>
>> > > > > >>
>> > > > > >> On Mon, Oct 13, 2014 at 4:33 PM, Martin Grigorov <
>> > > > mgrigo...@apache.org>
>> > > > > >> wrote:
>> > > > > >>
>> > > > > >> > On Mon, Oct 13, 2014 at 5:09 PM, Ernesto Reinaldo Barreiro <
>> > > > > >> > reier...@gmail.com> wrote:
>> > > > > >> >
>> > > > > >> > > @Martin,
>> > > > > >> > >
>> > > > > >> > > Just a (maybe stupid) idea:
>> > > > > >> > >
>> > > > > >> > > 1- Mark some component as ISafeFail
>> > > > > >> > > 2- If rendering fails take Component_onfail.html and
>> render it
>> > > > > >> > >
>> > > > > >> >
>> > > > > >> > As I said earlier this is not so trivial.
>> > > > > >> > The failure may happen in the middle of the rendering and the
>> > > > content
>> > > > > >> > collected so far in RequestCycle#getResponse() could be
>> invalid
>> > > > HTML.
>> > > > > >> > Appending anything (loaded from a file or generated on the
>> fly)
>> > is
>> > > > not
>> > > > > >> > really a solution.
>> > > > > >> >
>> > > > > >> >
>> > > > > >> > >
>> > > > > >> > > On Mon, Oct 13, 2014 at 4:02 PM, Martin Grigorov <
>> > > > > >> mgrigo...@apache.org>
>> > > > > >> > > wrote:
>> > > > > >> > >
>> > > > > >> > > > https://issues.apache.org/jira/browse/WICKET-4321
>> > > > > >> > > > this is the ticker I

Re: Returning some default markup when rendering of a component (subtree) fails with a RuntimeException ?

2014-10-14 Thread Ernesto Reinaldo Barreiro
It is already good for people wanting/needing to use it :-)

Is there any other way to hook into onRender? Any way to avoid onRender
being called via a global listener? If component is intanceof Bla don't
call onRender?

On Tue, Oct 14, 2014 at 10:47 AM, Martin Grigorov 
wrote:

> Oops. It seems PortletLike (a copy of PanelA with an exception in the
> rendering of its Label child) hasn't be added to Git ...
>
> I've refactored it even further.
> But as you can see the default rendering of a component should be
> suppressed (PortletLike#onRender() {}) so it is not enough just to have the
> behavior.
>
> This is just a simple demo.
> I'd like some feedback from a real usage before even thinking about adding
> this to core.
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Tue, Oct 14, 2014 at 1:24 PM, Ernesto Reinaldo Barreiro <
> reier...@gmail.com> wrote:
>
> > Martin,
> >
> > PortletLike b = new PortletLike("b", Model.of("panel b"))... I can't
> > see a PortletLike...
> > on same package. Maybe a good way to use the behavior is: 1- Roll a
> > PorletLikeBehavior. and an Interface IPorletLike { CharSequence
> > getOnFailContents(); } to mark porlet like components. 2- Add a component
> > instantiation listener that if a component implement IPorletLike
> > automatically adds the behavior.
> >
> > On Tue, Oct 14, 2014 at 10:14 AM, Martin Grigorov 
> > wrote:
> >
> > > Hi Ernesto,
> > >
> > > I didn't get the question.
> > >
> > > Martin Grigorov
> > > Wicket Training and Consulting
> > > https://twitter.com/mtgrigorov
> > >
> > > On Tue, Oct 14, 2014 at 1:10 PM, Ernesto Reinaldo Barreiro <
> > > reier...@gmail.com> wrote:
> > >
> > > > Thanks! Whose PortletLike on
> > > >
> > > >
> > >
> >
> https://github.com/martin-g/component-rendering-default/blob/master/src/main/java/com/mycompany/HomePage.java
> > > > ?
> > > > PanelA?
> > > >
> > > > On Tue, Oct 14, 2014 at 9:03 AM, Martin Grigorov <
> mgrigo...@apache.org
> > >
> > > > wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > Here is a demo app with Wicket 6.x:
> > > > > https://github.com/martin-g/component-rendering-default
> > > > >
> > > > > Martin Grigorov
> > > > > Wicket Training and Consulting
> > > > > https://twitter.com/mtgrigorov
> > > > >
> > > > > On Mon, Oct 13, 2014 at 6:13 PM, Martin Grigorov <
> > mgrigo...@apache.org
> > > >
> > > > > wrote:
> > > > >
> > > > > > Here is a possible solution *now*:
> > > > > >
> > > > > > portletLike.add(new AbstractTransformerBehavior() {
> > > > > >   @Override public CharSequence transform(Component c,
> CharSequence
> > > > > > output) {
> > > > > >  try {
> > > > > >c.internalRenderComponent();
> > > > > >  } catch (Exception x) {
> > > > > >return "default result";
> > > > > >  }
> > > > > >}
> > > > > > });
> > > > > >
> > > > > > Something like this should do it.
> > > > > >
> > > > > > Martin Grigorov
> > > > > > Wicket Training and Consulting
> > > > > > https://twitter.com/mtgrigorov
> > > > > >
> > > > > > On Mon, Oct 13, 2014 at 5:39 PM, Ernesto Reinaldo Barreiro <
> > > > > > reier...@gmail.com> wrote:
> > > > > >
> > > > > >> I see... you may have already streamed content --> Maybe same
> > > > interface
> > > > > >> serves to mark a component as "do not stream anything till the
> > end",
> > > > or
> > > > > >> stream the contents to an intermediate buffer... but what I way
> > > above
> > > > > >> might
> > > > > >> not make sense as well.
> > > > > >>
> > > > > >>
> > > > > >> On Mon, Oct 13, 2014 at 4:33 PM, Martin Grigorov <
> > > > mgrigo...@apache.org>
> > > > > >> wrote:
> > > > > >>
> > > > > >> > On Mon, Oct 13, 2014 at 5:09 PM, Ernesto Reinaldo Barreiro <
> > > > > >> > reier...@gmail.com> wrote:
> > > > > >> >
> > > > > >> > > @Martin,
> > > > > >> > >
> > > > > >> > > Just a (maybe stupid) idea:
> > > > > >> > >
> > > > > >> > > 1- Mark some component as ISafeFail
> > > > > >> > > 2- If rendering fails take Component_onfail.html and render
> it
> > > > > >> > >
> > > > > >> >
> > > > > >> > As I said earlier this is not so trivial.
> > > > > >> > The failure may happen in the middle of the rendering and the
> > > > content
> > > > > >> > collected so far in RequestCycle#getResponse() could be
> invalid
> > > > HTML.
> > > > > >> > Appending anything (loaded from a file or generated on the
> fly)
> > is
> > > > not
> > > > > >> > really a solution.
> > > > > >> >
> > > > > >> >
> > > > > >> > >
> > > > > >> > > On Mon, Oct 13, 2014 at 4:02 PM, Martin Grigorov <
> > > > > >> mgrigo...@apache.org>
> > > > > >> > > wrote:
> > > > > >> > >
> > > > > >> > > > https://issues.apache.org/jira/browse/WICKET-4321
> > > > > >> > > > this is the ticker I meant
> > > > > >> > > > it suggests to restart the rendering completely for the
> > whole
> > > > page
> > > > > >> and
> > > > > >> > > this
> > > > > >> > > > is not enough
> > > > > >> > > > I'll see what kind of changes would be needed to
> accomplish
> > > > this.

Re: Returning some default markup when rendering of a component (subtree) fails with a RuntimeException ?

2014-10-14 Thread Martin Grigorov
Oops. It seems PortletLike (a copy of PanelA with an exception in the
rendering of its Label child) hasn't be added to Git ...

I've refactored it even further.
But as you can see the default rendering of a component should be
suppressed (PortletLike#onRender() {}) so it is not enough just to have the
behavior.

This is just a simple demo.
I'd like some feedback from a real usage before even thinking about adding
this to core.

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

On Tue, Oct 14, 2014 at 1:24 PM, Ernesto Reinaldo Barreiro <
reier...@gmail.com> wrote:

> Martin,
>
> PortletLike b = new PortletLike("b", Model.of("panel b"))... I can't
> see a PortletLike...
> on same package. Maybe a good way to use the behavior is: 1- Roll a
> PorletLikeBehavior. and an Interface IPorletLike { CharSequence
> getOnFailContents(); } to mark porlet like components. 2- Add a component
> instantiation listener that if a component implement IPorletLike
> automatically adds the behavior.
>
> On Tue, Oct 14, 2014 at 10:14 AM, Martin Grigorov 
> wrote:
>
> > Hi Ernesto,
> >
> > I didn't get the question.
> >
> > Martin Grigorov
> > Wicket Training and Consulting
> > https://twitter.com/mtgrigorov
> >
> > On Tue, Oct 14, 2014 at 1:10 PM, Ernesto Reinaldo Barreiro <
> > reier...@gmail.com> wrote:
> >
> > > Thanks! Whose PortletLike on
> > >
> > >
> >
> https://github.com/martin-g/component-rendering-default/blob/master/src/main/java/com/mycompany/HomePage.java
> > > ?
> > > PanelA?
> > >
> > > On Tue, Oct 14, 2014 at 9:03 AM, Martin Grigorov  >
> > > wrote:
> > >
> > > > Hi,
> > > >
> > > > Here is a demo app with Wicket 6.x:
> > > > https://github.com/martin-g/component-rendering-default
> > > >
> > > > Martin Grigorov
> > > > Wicket Training and Consulting
> > > > https://twitter.com/mtgrigorov
> > > >
> > > > On Mon, Oct 13, 2014 at 6:13 PM, Martin Grigorov <
> mgrigo...@apache.org
> > >
> > > > wrote:
> > > >
> > > > > Here is a possible solution *now*:
> > > > >
> > > > > portletLike.add(new AbstractTransformerBehavior() {
> > > > >   @Override public CharSequence transform(Component c, CharSequence
> > > > > output) {
> > > > >  try {
> > > > >c.internalRenderComponent();
> > > > >  } catch (Exception x) {
> > > > >return "default result";
> > > > >  }
> > > > >}
> > > > > });
> > > > >
> > > > > Something like this should do it.
> > > > >
> > > > > Martin Grigorov
> > > > > Wicket Training and Consulting
> > > > > https://twitter.com/mtgrigorov
> > > > >
> > > > > On Mon, Oct 13, 2014 at 5:39 PM, Ernesto Reinaldo Barreiro <
> > > > > reier...@gmail.com> wrote:
> > > > >
> > > > >> I see... you may have already streamed content --> Maybe same
> > > interface
> > > > >> serves to mark a component as "do not stream anything till the
> end",
> > > or
> > > > >> stream the contents to an intermediate buffer... but what I way
> > above
> > > > >> might
> > > > >> not make sense as well.
> > > > >>
> > > > >>
> > > > >> On Mon, Oct 13, 2014 at 4:33 PM, Martin Grigorov <
> > > mgrigo...@apache.org>
> > > > >> wrote:
> > > > >>
> > > > >> > On Mon, Oct 13, 2014 at 5:09 PM, Ernesto Reinaldo Barreiro <
> > > > >> > reier...@gmail.com> wrote:
> > > > >> >
> > > > >> > > @Martin,
> > > > >> > >
> > > > >> > > Just a (maybe stupid) idea:
> > > > >> > >
> > > > >> > > 1- Mark some component as ISafeFail
> > > > >> > > 2- If rendering fails take Component_onfail.html and render it
> > > > >> > >
> > > > >> >
> > > > >> > As I said earlier this is not so trivial.
> > > > >> > The failure may happen in the middle of the rendering and the
> > > content
> > > > >> > collected so far in RequestCycle#getResponse() could be invalid
> > > HTML.
> > > > >> > Appending anything (loaded from a file or generated on the fly)
> is
> > > not
> > > > >> > really a solution.
> > > > >> >
> > > > >> >
> > > > >> > >
> > > > >> > > On Mon, Oct 13, 2014 at 4:02 PM, Martin Grigorov <
> > > > >> mgrigo...@apache.org>
> > > > >> > > wrote:
> > > > >> > >
> > > > >> > > > https://issues.apache.org/jira/browse/WICKET-4321
> > > > >> > > > this is the ticker I meant
> > > > >> > > > it suggests to restart the rendering completely for the
> whole
> > > page
> > > > >> and
> > > > >> > > this
> > > > >> > > > is not enough
> > > > >> > > > I'll see what kind of changes would be needed to accomplish
> > > this.
> > > > >> > > >
> > > > >> > > > Martin Grigorov
> > > > >> > > > Wicket Training and Consulting
> > > > >> > > > https://twitter.com/mtgrigorov
> > > > >> > > >
> > > > >> > > > On Fri, Oct 10, 2014 at 2:29 PM, Martin Grigorov <
> > > > >> mgrigo...@apache.org
> > > > >> > >
> > > > >> > > > wrote:
> > > > >> > > >
> > > > >> > > > > Hi,
> > > > >> > > > >
> > > > >> > > > > There is no support for this, even in 7.x.
> > > > >> > > > > I remember Carl-Eric Menzel asking for the same
> > functionality
> > > > >> before
> > > > >> > > ...
> > > > >> > > > > Behavior#onException() sounds like 

Re: Returning some default markup when rendering of a component (subtree) fails with a RuntimeException ?

2014-10-14 Thread Ernesto Reinaldo Barreiro
Martin,

PortletLike b = new PortletLike("b", Model.of("panel b"))... I can't
see a PortletLike...
on same package. Maybe a good way to use the behavior is: 1- Roll a
PorletLikeBehavior. and an Interface IPorletLike { CharSequence
getOnFailContents(); } to mark porlet like components. 2- Add a component
instantiation listener that if a component implement IPorletLike
automatically adds the behavior.

On Tue, Oct 14, 2014 at 10:14 AM, Martin Grigorov 
wrote:

> Hi Ernesto,
>
> I didn't get the question.
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Tue, Oct 14, 2014 at 1:10 PM, Ernesto Reinaldo Barreiro <
> reier...@gmail.com> wrote:
>
> > Thanks! Whose PortletLike on
> >
> >
> https://github.com/martin-g/component-rendering-default/blob/master/src/main/java/com/mycompany/HomePage.java
> > ?
> > PanelA?
> >
> > On Tue, Oct 14, 2014 at 9:03 AM, Martin Grigorov 
> > wrote:
> >
> > > Hi,
> > >
> > > Here is a demo app with Wicket 6.x:
> > > https://github.com/martin-g/component-rendering-default
> > >
> > > Martin Grigorov
> > > Wicket Training and Consulting
> > > https://twitter.com/mtgrigorov
> > >
> > > On Mon, Oct 13, 2014 at 6:13 PM, Martin Grigorov  >
> > > wrote:
> > >
> > > > Here is a possible solution *now*:
> > > >
> > > > portletLike.add(new AbstractTransformerBehavior() {
> > > >   @Override public CharSequence transform(Component c, CharSequence
> > > > output) {
> > > >  try {
> > > >c.internalRenderComponent();
> > > >  } catch (Exception x) {
> > > >return "default result";
> > > >  }
> > > >}
> > > > });
> > > >
> > > > Something like this should do it.
> > > >
> > > > Martin Grigorov
> > > > Wicket Training and Consulting
> > > > https://twitter.com/mtgrigorov
> > > >
> > > > On Mon, Oct 13, 2014 at 5:39 PM, Ernesto Reinaldo Barreiro <
> > > > reier...@gmail.com> wrote:
> > > >
> > > >> I see... you may have already streamed content --> Maybe same
> > interface
> > > >> serves to mark a component as "do not stream anything till the end",
> > or
> > > >> stream the contents to an intermediate buffer... but what I way
> above
> > > >> might
> > > >> not make sense as well.
> > > >>
> > > >>
> > > >> On Mon, Oct 13, 2014 at 4:33 PM, Martin Grigorov <
> > mgrigo...@apache.org>
> > > >> wrote:
> > > >>
> > > >> > On Mon, Oct 13, 2014 at 5:09 PM, Ernesto Reinaldo Barreiro <
> > > >> > reier...@gmail.com> wrote:
> > > >> >
> > > >> > > @Martin,
> > > >> > >
> > > >> > > Just a (maybe stupid) idea:
> > > >> > >
> > > >> > > 1- Mark some component as ISafeFail
> > > >> > > 2- If rendering fails take Component_onfail.html and render it
> > > >> > >
> > > >> >
> > > >> > As I said earlier this is not so trivial.
> > > >> > The failure may happen in the middle of the rendering and the
> > content
> > > >> > collected so far in RequestCycle#getResponse() could be invalid
> > HTML.
> > > >> > Appending anything (loaded from a file or generated on the fly) is
> > not
> > > >> > really a solution.
> > > >> >
> > > >> >
> > > >> > >
> > > >> > > On Mon, Oct 13, 2014 at 4:02 PM, Martin Grigorov <
> > > >> mgrigo...@apache.org>
> > > >> > > wrote:
> > > >> > >
> > > >> > > > https://issues.apache.org/jira/browse/WICKET-4321
> > > >> > > > this is the ticker I meant
> > > >> > > > it suggests to restart the rendering completely for the whole
> > page
> > > >> and
> > > >> > > this
> > > >> > > > is not enough
> > > >> > > > I'll see what kind of changes would be needed to accomplish
> > this.
> > > >> > > >
> > > >> > > > Martin Grigorov
> > > >> > > > Wicket Training and Consulting
> > > >> > > > https://twitter.com/mtgrigorov
> > > >> > > >
> > > >> > > > On Fri, Oct 10, 2014 at 2:29 PM, Martin Grigorov <
> > > >> mgrigo...@apache.org
> > > >> > >
> > > >> > > > wrote:
> > > >> > > >
> > > >> > > > > Hi,
> > > >> > > > >
> > > >> > > > > There is no support for this, even in 7.x.
> > > >> > > > > I remember Carl-Eric Menzel asking for the same
> functionality
> > > >> before
> > > >> > > ...
> > > >> > > > > Behavior#onException() sounds like something similar but
> there
> > > is
> > > >> no
> > > >> > > way
> > > >> > > > > to suppress the bubbling of the exception at the moment.
> > > >> > > > > The bigger problem is that the rendering can fail in the
> > middle,
> > > >> i.e.
> > > >> > > the
> > > >> > > > > component can have written some response already and then
> > fail.
> > > If
> > > >> > the
> > > >> > > > > written response is proper HTML then it is OKish. But if
> some
> > > tag
> > > >> is
> > > >> > > not
> > > >> > > > > closed then the rendering of the complete page may fail.
> > > >> > > > > So if we try to add this functionality we will have to use
> > > >> temporary
> > > >> > > > > Response objects for the rendering of each component to be
> > able
> > > to
> > > >> > > throw
> > > >> > > > > away whatever it has produced before failing.
> > > >> > > > >
> > > >> > > > > Usually the problem is related to the 

Re: Returning some default markup when rendering of a component (subtree) fails with a RuntimeException ?

2014-10-14 Thread Martin Grigorov
Hi Ernesto,

I didn't get the question.

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

On Tue, Oct 14, 2014 at 1:10 PM, Ernesto Reinaldo Barreiro <
reier...@gmail.com> wrote:

> Thanks! Whose PortletLike on
>
> https://github.com/martin-g/component-rendering-default/blob/master/src/main/java/com/mycompany/HomePage.java
> ?
> PanelA?
>
> On Tue, Oct 14, 2014 at 9:03 AM, Martin Grigorov 
> wrote:
>
> > Hi,
> >
> > Here is a demo app with Wicket 6.x:
> > https://github.com/martin-g/component-rendering-default
> >
> > Martin Grigorov
> > Wicket Training and Consulting
> > https://twitter.com/mtgrigorov
> >
> > On Mon, Oct 13, 2014 at 6:13 PM, Martin Grigorov 
> > wrote:
> >
> > > Here is a possible solution *now*:
> > >
> > > portletLike.add(new AbstractTransformerBehavior() {
> > >   @Override public CharSequence transform(Component c, CharSequence
> > > output) {
> > >  try {
> > >c.internalRenderComponent();
> > >  } catch (Exception x) {
> > >return "default result";
> > >  }
> > >}
> > > });
> > >
> > > Something like this should do it.
> > >
> > > Martin Grigorov
> > > Wicket Training and Consulting
> > > https://twitter.com/mtgrigorov
> > >
> > > On Mon, Oct 13, 2014 at 5:39 PM, Ernesto Reinaldo Barreiro <
> > > reier...@gmail.com> wrote:
> > >
> > >> I see... you may have already streamed content --> Maybe same
> interface
> > >> serves to mark a component as "do not stream anything till the end",
> or
> > >> stream the contents to an intermediate buffer... but what I way above
> > >> might
> > >> not make sense as well.
> > >>
> > >>
> > >> On Mon, Oct 13, 2014 at 4:33 PM, Martin Grigorov <
> mgrigo...@apache.org>
> > >> wrote:
> > >>
> > >> > On Mon, Oct 13, 2014 at 5:09 PM, Ernesto Reinaldo Barreiro <
> > >> > reier...@gmail.com> wrote:
> > >> >
> > >> > > @Martin,
> > >> > >
> > >> > > Just a (maybe stupid) idea:
> > >> > >
> > >> > > 1- Mark some component as ISafeFail
> > >> > > 2- If rendering fails take Component_onfail.html and render it
> > >> > >
> > >> >
> > >> > As I said earlier this is not so trivial.
> > >> > The failure may happen in the middle of the rendering and the
> content
> > >> > collected so far in RequestCycle#getResponse() could be invalid
> HTML.
> > >> > Appending anything (loaded from a file or generated on the fly) is
> not
> > >> > really a solution.
> > >> >
> > >> >
> > >> > >
> > >> > > On Mon, Oct 13, 2014 at 4:02 PM, Martin Grigorov <
> > >> mgrigo...@apache.org>
> > >> > > wrote:
> > >> > >
> > >> > > > https://issues.apache.org/jira/browse/WICKET-4321
> > >> > > > this is the ticker I meant
> > >> > > > it suggests to restart the rendering completely for the whole
> page
> > >> and
> > >> > > this
> > >> > > > is not enough
> > >> > > > I'll see what kind of changes would be needed to accomplish
> this.
> > >> > > >
> > >> > > > Martin Grigorov
> > >> > > > Wicket Training and Consulting
> > >> > > > https://twitter.com/mtgrigorov
> > >> > > >
> > >> > > > On Fri, Oct 10, 2014 at 2:29 PM, Martin Grigorov <
> > >> mgrigo...@apache.org
> > >> > >
> > >> > > > wrote:
> > >> > > >
> > >> > > > > Hi,
> > >> > > > >
> > >> > > > > There is no support for this, even in 7.x.
> > >> > > > > I remember Carl-Eric Menzel asking for the same functionality
> > >> before
> > >> > > ...
> > >> > > > > Behavior#onException() sounds like something similar but there
> > is
> > >> no
> > >> > > way
> > >> > > > > to suppress the bubbling of the exception at the moment.
> > >> > > > > The bigger problem is that the rendering can fail in the
> middle,
> > >> i.e.
> > >> > > the
> > >> > > > > component can have written some response already and then
> fail.
> > If
> > >> > the
> > >> > > > > written response is proper HTML then it is OKish. But if some
> > tag
> > >> is
> > >> > > not
> > >> > > > > closed then the rendering of the complete page may fail.
> > >> > > > > So if we try to add this functionality we will have to use
> > >> temporary
> > >> > > > > Response objects for the rendering of each component to be
> able
> > to
> > >> > > throw
> > >> > > > > away whatever it has produced before failing.
> > >> > > > >
> > >> > > > > Usually the problem is related to the component's model. A
> > >> workaround
> > >> > > for
> > >> > > > > you could be to use a wrapper Model that returns "empty data"
> > when
> > >> > the
> > >> > > > > underlying model throws an exception.
> > >> > > > >
> > >> > > > > Martin Grigorov
> > >> > > > > Wicket Training and Consulting
> > >> > > > > https://twitter.com/mtgrigorov
> > >> > > > >
> > >> > > > > On Fri, Oct 10, 2014 at 12:59 PM, Ernesto Reinaldo Barreiro <
> > >> > > > > reier...@gmail.com> wrote:
> > >> > > > >
> > >> > > > >> Hi,
> > >> > > > >>
> > >> > > > >> On Fri, Oct 10, 2014 at 11:50 AM, Tobias Gierke <
> > >> > > > >> tobias.gie...@voipfuture.com> wrote:
> > >> > > > >>
> > >> > > > >> > Hi,
> > >> > > > >> >
> > >> > > > >> >> Wouldn't it be possible to "embed"  th

Re: Returning some default markup when rendering of a component (subtree) fails with a RuntimeException ?

2014-10-14 Thread Ernesto Reinaldo Barreiro
Thanks! Whose PortletLike on
https://github.com/martin-g/component-rendering-default/blob/master/src/main/java/com/mycompany/HomePage.java?
PanelA?

On Tue, Oct 14, 2014 at 9:03 AM, Martin Grigorov 
wrote:

> Hi,
>
> Here is a demo app with Wicket 6.x:
> https://github.com/martin-g/component-rendering-default
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Mon, Oct 13, 2014 at 6:13 PM, Martin Grigorov 
> wrote:
>
> > Here is a possible solution *now*:
> >
> > portletLike.add(new AbstractTransformerBehavior() {
> >   @Override public CharSequence transform(Component c, CharSequence
> > output) {
> >  try {
> >c.internalRenderComponent();
> >  } catch (Exception x) {
> >return "default result";
> >  }
> >}
> > });
> >
> > Something like this should do it.
> >
> > Martin Grigorov
> > Wicket Training and Consulting
> > https://twitter.com/mtgrigorov
> >
> > On Mon, Oct 13, 2014 at 5:39 PM, Ernesto Reinaldo Barreiro <
> > reier...@gmail.com> wrote:
> >
> >> I see... you may have already streamed content --> Maybe same interface
> >> serves to mark a component as "do not stream anything till the end", or
> >> stream the contents to an intermediate buffer... but what I way above
> >> might
> >> not make sense as well.
> >>
> >>
> >> On Mon, Oct 13, 2014 at 4:33 PM, Martin Grigorov 
> >> wrote:
> >>
> >> > On Mon, Oct 13, 2014 at 5:09 PM, Ernesto Reinaldo Barreiro <
> >> > reier...@gmail.com> wrote:
> >> >
> >> > > @Martin,
> >> > >
> >> > > Just a (maybe stupid) idea:
> >> > >
> >> > > 1- Mark some component as ISafeFail
> >> > > 2- If rendering fails take Component_onfail.html and render it
> >> > >
> >> >
> >> > As I said earlier this is not so trivial.
> >> > The failure may happen in the middle of the rendering and the content
> >> > collected so far in RequestCycle#getResponse() could be invalid HTML.
> >> > Appending anything (loaded from a file or generated on the fly) is not
> >> > really a solution.
> >> >
> >> >
> >> > >
> >> > > On Mon, Oct 13, 2014 at 4:02 PM, Martin Grigorov <
> >> mgrigo...@apache.org>
> >> > > wrote:
> >> > >
> >> > > > https://issues.apache.org/jira/browse/WICKET-4321
> >> > > > this is the ticker I meant
> >> > > > it suggests to restart the rendering completely for the whole page
> >> and
> >> > > this
> >> > > > is not enough
> >> > > > I'll see what kind of changes would be needed to accomplish this.
> >> > > >
> >> > > > Martin Grigorov
> >> > > > Wicket Training and Consulting
> >> > > > https://twitter.com/mtgrigorov
> >> > > >
> >> > > > On Fri, Oct 10, 2014 at 2:29 PM, Martin Grigorov <
> >> mgrigo...@apache.org
> >> > >
> >> > > > wrote:
> >> > > >
> >> > > > > Hi,
> >> > > > >
> >> > > > > There is no support for this, even in 7.x.
> >> > > > > I remember Carl-Eric Menzel asking for the same functionality
> >> before
> >> > > ...
> >> > > > > Behavior#onException() sounds like something similar but there
> is
> >> no
> >> > > way
> >> > > > > to suppress the bubbling of the exception at the moment.
> >> > > > > The bigger problem is that the rendering can fail in the middle,
> >> i.e.
> >> > > the
> >> > > > > component can have written some response already and then fail.
> If
> >> > the
> >> > > > > written response is proper HTML then it is OKish. But if some
> tag
> >> is
> >> > > not
> >> > > > > closed then the rendering of the complete page may fail.
> >> > > > > So if we try to add this functionality we will have to use
> >> temporary
> >> > > > > Response objects for the rendering of each component to be able
> to
> >> > > throw
> >> > > > > away whatever it has produced before failing.
> >> > > > >
> >> > > > > Usually the problem is related to the component's model. A
> >> workaround
> >> > > for
> >> > > > > you could be to use a wrapper Model that returns "empty data"
> when
> >> > the
> >> > > > > underlying model throws an exception.
> >> > > > >
> >> > > > > Martin Grigorov
> >> > > > > Wicket Training and Consulting
> >> > > > > https://twitter.com/mtgrigorov
> >> > > > >
> >> > > > > On Fri, Oct 10, 2014 at 12:59 PM, Ernesto Reinaldo Barreiro <
> >> > > > > reier...@gmail.com> wrote:
> >> > > > >
> >> > > > >> Hi,
> >> > > > >>
> >> > > > >> On Fri, Oct 10, 2014 at 11:50 AM, Tobias Gierke <
> >> > > > >> tobias.gie...@voipfuture.com> wrote:
> >> > > > >>
> >> > > > >> > Hi,
> >> > > > >> >
> >> > > > >> >> Wouldn't it be possible to "embed"  the failing prone
> porlets
> >> > > inside
> >> > > > >> >> iframes so that each one is a Wicket page?
> >> > > > >> >>
> >> > > > >> > I already thought about this but the page uses quite a lot of
> >> > fancy
> >> > > > >> > CSS/Ajax/Javascript (portlets are rendered in a grid with
> >> > > configurable
> >> > > > >> > row/column count, drag'n'drop to move them around etc.) and
> I'd
> >> > > rather
> >> > > > >> not
> >> > > > >> > touch the existing code if there's a Java-side only solution
> >> ;-)
> >> > > > >> >
> >> > > > >>
> >> 

Re: ModalWindow - full screen

2014-10-14 Thread Martin Grigorov
Hi,

With #setCssClassName() (
https://github.com/apache/wicket/blob/master/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java#L513)
you can set your custom CSS class that should be applied on the main modal
window  element.
In your own .css file you can define CSS rules to show any element having
this custom CSS class as fullscreen.
I am not CSS master but I guess you have to play with "position", "top",
"left". "width" and "height" properties.

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

On Tue, Oct 14, 2014 at 11:32 AM, Marieke Vandamme  wrote:

> Hi,
>
> I know you can set initial width and height for a modalwindow,
> but we now get the requirement to open it full screen.
> Is this something built in already, or has somebody done this before?
>
> Thanks ! Kind Regards, Marieke Vandamme
>
> --
>
>
>  DISCLAIMER 
>
> http://www.tvh.com/glob/en/email-disclaimer
>
> "This message is delivered to all addressees subject to the conditions
> set forth in the attached disclaimer, which is an integral part of this
> message."
>


Re: Returning some default markup when rendering of a component (subtree) fails with a RuntimeException ?

2014-10-14 Thread Martin Grigorov
Hi,

Here is a demo app with Wicket 6.x:
https://github.com/martin-g/component-rendering-default

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

On Mon, Oct 13, 2014 at 6:13 PM, Martin Grigorov 
wrote:

> Here is a possible solution *now*:
>
> portletLike.add(new AbstractTransformerBehavior() {
>   @Override public CharSequence transform(Component c, CharSequence
> output) {
>  try {
>c.internalRenderComponent();
>  } catch (Exception x) {
>return "default result";
>  }
>}
> });
>
> Something like this should do it.
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Mon, Oct 13, 2014 at 5:39 PM, Ernesto Reinaldo Barreiro <
> reier...@gmail.com> wrote:
>
>> I see... you may have already streamed content --> Maybe same interface
>> serves to mark a component as "do not stream anything till the end", or
>> stream the contents to an intermediate buffer... but what I way above
>> might
>> not make sense as well.
>>
>>
>> On Mon, Oct 13, 2014 at 4:33 PM, Martin Grigorov 
>> wrote:
>>
>> > On Mon, Oct 13, 2014 at 5:09 PM, Ernesto Reinaldo Barreiro <
>> > reier...@gmail.com> wrote:
>> >
>> > > @Martin,
>> > >
>> > > Just a (maybe stupid) idea:
>> > >
>> > > 1- Mark some component as ISafeFail
>> > > 2- If rendering fails take Component_onfail.html and render it
>> > >
>> >
>> > As I said earlier this is not so trivial.
>> > The failure may happen in the middle of the rendering and the content
>> > collected so far in RequestCycle#getResponse() could be invalid HTML.
>> > Appending anything (loaded from a file or generated on the fly) is not
>> > really a solution.
>> >
>> >
>> > >
>> > > On Mon, Oct 13, 2014 at 4:02 PM, Martin Grigorov <
>> mgrigo...@apache.org>
>> > > wrote:
>> > >
>> > > > https://issues.apache.org/jira/browse/WICKET-4321
>> > > > this is the ticker I meant
>> > > > it suggests to restart the rendering completely for the whole page
>> and
>> > > this
>> > > > is not enough
>> > > > I'll see what kind of changes would be needed to accomplish this.
>> > > >
>> > > > Martin Grigorov
>> > > > Wicket Training and Consulting
>> > > > https://twitter.com/mtgrigorov
>> > > >
>> > > > On Fri, Oct 10, 2014 at 2:29 PM, Martin Grigorov <
>> mgrigo...@apache.org
>> > >
>> > > > wrote:
>> > > >
>> > > > > Hi,
>> > > > >
>> > > > > There is no support for this, even in 7.x.
>> > > > > I remember Carl-Eric Menzel asking for the same functionality
>> before
>> > > ...
>> > > > > Behavior#onException() sounds like something similar but there is
>> no
>> > > way
>> > > > > to suppress the bubbling of the exception at the moment.
>> > > > > The bigger problem is that the rendering can fail in the middle,
>> i.e.
>> > > the
>> > > > > component can have written some response already and then fail. If
>> > the
>> > > > > written response is proper HTML then it is OKish. But if some tag
>> is
>> > > not
>> > > > > closed then the rendering of the complete page may fail.
>> > > > > So if we try to add this functionality we will have to use
>> temporary
>> > > > > Response objects for the rendering of each component to be able to
>> > > throw
>> > > > > away whatever it has produced before failing.
>> > > > >
>> > > > > Usually the problem is related to the component's model. A
>> workaround
>> > > for
>> > > > > you could be to use a wrapper Model that returns "empty data" when
>> > the
>> > > > > underlying model throws an exception.
>> > > > >
>> > > > > Martin Grigorov
>> > > > > Wicket Training and Consulting
>> > > > > https://twitter.com/mtgrigorov
>> > > > >
>> > > > > On Fri, Oct 10, 2014 at 12:59 PM, Ernesto Reinaldo Barreiro <
>> > > > > reier...@gmail.com> wrote:
>> > > > >
>> > > > >> Hi,
>> > > > >>
>> > > > >> On Fri, Oct 10, 2014 at 11:50 AM, Tobias Gierke <
>> > > > >> tobias.gie...@voipfuture.com> wrote:
>> > > > >>
>> > > > >> > Hi,
>> > > > >> >
>> > > > >> >> Wouldn't it be possible to "embed"  the failing prone porlets
>> > > inside
>> > > > >> >> iframes so that each one is a Wicket page?
>> > > > >> >>
>> > > > >> > I already thought about this but the page uses quite a lot of
>> > fancy
>> > > > >> > CSS/Ajax/Javascript (portlets are rendered in a grid with
>> > > configurable
>> > > > >> > row/column count, drag'n'drop to move them around etc.) and I'd
>> > > rather
>> > > > >> not
>> > > > >> > touch the existing code if there's a Java-side only solution
>> ;-)
>> > > > >> >
>> > > > >>
>> > > > >> I do not know of any :-(
>> > > > >>
>> > > > >> Another possibility is build each client entirely on JavaScript
>> and
>> > > use
>> > > > >> Wicket just as a service layer... not very Wicket like but you
>> would
>> > > not
>> > > > >> have this problem.
>> > > > >>
>> > > > >>
>> > > > >> >
>> > > > >> > Cheers,
>> > > > >> > Tobias
>> > > > >> >
>> > > > >> >
>> > > > >> >> On Fri, Oct 10, 2014 at 11:12 AM, Tobias Gierke <
>> > > > >> >> tobias.gie...@voipfuture.com> wrote:
>> > > > >> >>
>>

ModalWindow - full screen

2014-10-14 Thread Marieke Vandamme
Hi,

I know you can set initial width and height for a modalwindow,
but we now get the requirement to open it full screen.
Is this something built in already, or has somebody done this before?

Thanks ! Kind Regards, Marieke Vandamme

-- 


 DISCLAIMER 

http://www.tvh.com/glob/en/email-disclaimer

"This message is delivered to all addressees subject to the conditions
set forth in the attached disclaimer, which is an integral part of this
message."