[ 
https://issues.apache.org/jira/browse/CLK-625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12880579#action_12880579
 ] 

Bob Schellink commented on CLK-625:
-----------------------------------

I agree, we should adhere to the spec on this and fail fast if the path does 
not start with a '/'. We can add the check to ClickServlet#createPage and 
update the javadoc of Context#createPage and ClickServlet#createPage to mention 
this.

> createPage makes htm-to-class duplicates
> ----------------------------------------
>
>                 Key: CLK-625
>                 URL: https://issues.apache.org/jira/browse/CLK-625
>             Project: Click
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 2.1.0
>            Reporter: Andrey Rybin
>
> We have 
> - ControlListenerType1Page.htm - in web root
> and
> ControlListenerType1Page.java with:
>   @Bindable protected ActionLink bugMaker = new ActionLink(this, "makeBug");
>   public boolean makeBug () {
>     Page p = getContext().createPage("ControlListenerType1Page.htm");// 
> without leading /
>     if (!(p instanceof ControlListenerType1Page)) { throw new Error("very 
> bad"); }
>     //successfully!  BUT now htm-to-class map contains two mappings for 
> ControlListenerType1Page.class: 
>     //  ControlListenerType1Page.htm->ControlListenerType1Page.class and 
>     //  /ControlListenerType1Page.htm->ControlListenerType1Page.class 
>     p = getContext().createPage(ControlListenerType1Page.class);
>     //^^^throws java.lang.IllegalArgumentException with message:
>     //Page class resolves to multiple paths: 
> net.sf.apr.cui.ControlListenerType1Page -> [/ControlListenerType1Page.htm, 
> ControlListenerType1Page.htm]
>     setForward(p);    return true;
>   }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to