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.
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 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 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: Hi, In our web application we have a dashboard-like homepage that displays a number of user-configurable 'portlets' (which are really just ordinary Wicket components and have nothing to do with the Portlet spec). I'm looking for a way of preventing the application from becoming unusable in case one or more of these portlets continuously fail to render because of some internal error/bug. We're currently using a custom RequestCycleListener with the onException() method redirecting to a generic error page, thus when rendering of a 'portlet'
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 div 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 marieke.vanda...@tvh.com 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 ?
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. 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: Hi, In our web application we have a dashboard-like homepage that displays a number of user-configurable 'portlets' (which are really just ordinary Wicket components and have nothing to do with the Portlet
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 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. 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.
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 mgrigo...@apache.org 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. 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
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 mgrigo...@apache.org 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. 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
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 mgrigo...@apache.org 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 mgrigo...@apache.org 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. 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.
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 mgrigo...@apache.org 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 mgrigo...@apache.org 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. 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
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
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, 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
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 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 ?
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 tobias.gie...@voipfuture.com 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
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: WICKET-5727: PageAccessSynchronizer$PageLock.waitForRelease problem with opening pdf files
Hi, On Tue, Oct 14, 2014 at 3:36 PM, Marieke Vandamme marieke.vanda...@tvh.com 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.