You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@click.apache.org by "Adrian A. (JIRA)" <ji...@apache.org> on 2013/11/02 16:28:18 UTC
[jira] [Updated] (CLK-561) Page#setForward(Class) silently fails
for a non-existing .htm
[ https://issues.apache.org/jira/browse/CLK-561?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Adrian A. updated CLK-561:
--------------------------
Fix Version/s: 3.0.0
> Page#setForward(Class) silently fails for a non-existing .htm
> -------------------------------------------------------------
>
> Key: CLK-561
> URL: https://issues.apache.org/jira/browse/CLK-561
> Project: Click
> Issue Type: Bug
> Components: core
> Affects Versions: 2.1.0
> Reporter: WarnerJan Veldhuis
> Fix For: 3.0.0
>
>
> When setting a forward in a page, and the corresponding .htm is missing, Page#setForward(Class) will silently fail, and Page#getForward() will return null. Eventually, you will remain on the current page, since ClickServlet wasn't told otherwise.
> Example:
> IndexPage.java
> ...
> public boolean onLogin() {
> ...
> if ( isLoggedIn ) {
> setForward(HomePage.class);
> return false;
> }
> ...
> }
> If home.htm is missing, setForward will set the forward field to null, while I would expect it to barf with an IllegalArgumentException. The javadoc of ConfigService#getPagePath(Class) also says: "@throws IllegalArgumentException if the Page Class is not configured"
> Proposed solution:
> Instead of returning null in XmlConfigService#getPagePage(Class), throw an IAE.
--
This message was sent by Atlassian JIRA
(v6.1#6144)