What can i say Igor :)
Anyway i have looked at the patch and while i think it is going to
work and probably be a lot safer (in the meaning of us not forgetting
a catch(Abort) somewhere) i worry the wrapping of exceptions and thus
the generation of extra stacktraces will mean a sizable performance
hit. Not that this will happen on every request or will wrap like 10
layers but still :)

I'll get back to you after i tested the patch.

Maurice

On Mon, Apr 7, 2008 at 5:36 PM, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> you guys mean https://issues.apache.org/jira/browse/WICKET-1418 right? :)
>  who is going to link all 3?
>
>  i wrote up a patch for 1418 and posted for a review here but no one
>  seemed interesting in opining.
>
>  -igor
>
>
>
>  On Mon, Apr 7, 2008 at 4:02 AM, Johan Compagner <[EMAIL PROTECTED]> wrote:
>  > dont know if we can extend it from WRE as easy.
>  >  Because then we have to walk over all the checks because i can think of
>  >  things where we do:
>  >
>  >  try
>  >  {
>  >  }
>  >  catch(WRE)
>  >  {
>  >  }
>  >  catch(AbortException)
>  >  {
>  >  }
>  >
>  >  so then we need to check all our catch code carefully.
>  >
>  >  But didnt another also had an issue with this?
>  >  Also https://issues.apache.org/jira/browse/WICKET-1478
>  >  why does that abort exception work for him? (he has another problem but 
> the
>  >  abort works for him)
>  >
>  >  johan
>  >
>  >
>  >
>  >
>  >  On Mon, Apr 7, 2008 at 12:46 PM, Maurice Marrink <[EMAIL PROTECTED]> 
> wrote:
>  >
>  >  > Does anybody know of reasons not to allow throwing a RRAIPE during
>  >  > onBeforeRender?
>  >  > Currently this is not possible but perhaps we should support it.
>  >  > Consider the following use case
>  >  > A Page with a LDM containing object x.
>  >  > The Page has a link to delete x from the database, after delete
>  >  > another Page is set as the responsePage.
>  >  > Now if the user clicks on the backbutton of the browser the LDM tries
>  >  > to reload object x from the database, which will not work because we
>  >  > just deleted it.
>  >  > So we detect this situation in the LDM#load method and throw a RRAIPE.
>  >  > The problem is since load is triggered from onBeforeRender it is
>  >  > caught by MarkupContainer#onBeforeRenderChildren() which is nice
>  >  > enoygh to let all WicketRuntimeExceptions pass unmodified but wraps
>  >  > every other Exception inside a WRE.
>  >  > The problem here is that RRAIPE is not a WRE.
>  >  >
>  >  > Possible solutions are make AbortException extends WRE, make WRE an
>  >  > interface that is implemented by RRAIPE and modify the try-catch in
>  >  > MarkupContainer#onBeforeRenderChildren to also let the RRAIPE pass
>  >  > unmodified
>  >  >
>  >  > WDYT?
>  >  >
>  >  > Maurice
>  >  >
>  >
>

Reply via email to