Description
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 )
...
}
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.