You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Igor Vaynberg (JIRA)" <ji...@apache.org> on 2011/01/04 17:40:46 UTC
[jira] Assigned: (WICKET-3302) Endless recursion if
LoadableDetachableModel.load throws exception
[ https://issues.apache.org/jira/browse/WICKET-3302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Igor Vaynberg reassigned WICKET-3302:
-------------------------------------
Assignee: Igor Vaynberg
> Endless recursion if LoadableDetachableModel.load throws exception
> ------------------------------------------------------------------
>
> Key: WICKET-3302
> URL: https://issues.apache.org/jira/browse/WICKET-3302
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.5-M3
> Reporter: Willis Blackburn
> Assignee: Igor Vaynberg
>
> I don't know if there's any easy fix for this, but here's what happens:
> 1. Component subclass overrides isVisible with a new implementation that depends on the current model state.
> 2. The model is a LoadableDetachableModel.
> 3. On the initial render, the load method of the LoadableDetachableModel throws a RuntimeException for whatever reason. (In my case I was trying to throw a AbortWithHttpErrorCodeException.)
> 4. This gets caught in Component.getDefaultModelObject:
> log.error("Error while getting default model object for Component: " + this.toString(true));
> 5. The toString method that's invoked from the exception handler prints the component's state, including its visibility.
> 6. In order to resolve the visibility state, toString has to call isVisible--the same method that initially caused the exception.
> 7. The isVisible method again throws an exception, etc.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.