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)