Re: WICKET-5727: PageAccessSynchronizer$PageLock.waitForRelease problem with opening pdf files
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
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 ?
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 ?
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 ?
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 ?
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 ?
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 ?
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 ?
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 ?
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 ?
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 ?
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 ?
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
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 ?
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
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."