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 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' fails the user will never get to see the
> > homepage
> > > >> and
> > > >> > > > always
> > > >> > > > >> >>> end
> > > >> > > > >> >>> up on the error page - which is obviously not really
> > > >> desirable.
> > > >> > > > >> >>>
> > > >> > > > >> >>> Is there a way to to hook into Wicket's rendering cycle
> > so
> > > >> that
> > > >> > I
> > > >> > > > can
> > > >> > > > >> >>> provide some default markup in case rendering of a
> > > component
> > > >> > > > (subtree)
> > > >> > > > >> >>> fails with a RuntimeException ?
> > > >> > > > >> >>>
> > > >> > > > >> >>> I understand that this maybe be very tricky since the
> > > >> component
> > > >> > > > >> subtree
> > > >> > > > >> >>> might've rendered partially and thus internal state
> will
> > be
> > > >> > > > >> inconsistent.
> > > >> > > > >> >>> It would probably require serializing the initial state
> > of
> > > >> the
> > > >> > > > >> component
> > > >> > > > >> >>> (subtree) before rendering starts and reverting the
> > wholle
> > > >> > subtree
> > > >> > > > to
> > > >> > > > >> its
> > > >> > > > >> >>> initial state once a RuntimeException is thrown.
> > > >> > > > >> >>>
> > > >> > > > >> >>> We're running Wicket 1.5.12.
> > > >> > > > >> >>>
> > > >> > > > >> >>> Thanks in advance,
> > > >> > > > >> >>> Tobias
> > > >> > > > >> >>>
> > > >> > > > >> >>> --
> > > >> > > > >> >>> 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
> > > >> > > > >> >>>
> > > >> > > > >> >>>
> > > >> > > > >> >>>
> > > >> > > > >> >>
> > > >> > > > >> >
> > > >> > > > >> >
> > > >> > >
> > > ---------------------------------------------------------------------
> > > >> > > > >> > To unsubscribe, e-mail:
> > users-unsubscr...@wicket.apache.org
> > > >> > > > >> > For additional commands, e-mail:
> > > users-h...@wicket.apache.org
> > > >> > > > >> >
> > > >> > > > >> >
> > > >> > > > >>
> > > >> > > > >>
> > > >> > > > >> --
> > > >> > > > >> Regards - Ernesto Reinaldo Barreiro
> > > >> > > > >>
> > > >> > > > >
> > > >> > > > >
> > > >> > > >
> > > >> > >
> > > >> > >
> > > >> > >
> > > >> > > --
> > > >> > > Regards - Ernesto Reinaldo Barreiro
> > > >> > >
> > > >> >
> > > >>
> > > >>
> > > >>
> > > >> --
> > > >> Regards - Ernesto Reinaldo Barreiro
> > > >>
> > > >
> > > >
> > >
> >
> >
> >
> > --
> > Regards - Ernesto Reinaldo Barreiro
> >
>



-- 
Regards - Ernesto Reinaldo Barreiro

Reply via email to