You are viewing a plain text version of this content. The canonical link for it is here.
Posted to adffaces-issues@incubator.apache.org by "Scott O'Bryan (JIRA)" <ad...@incubator.apache.org> on 2007/04/04 17:26:32 UTC

[jira] Commented: (ADFFACES-438) Trinidad components don't use ViewHandler.getResourceUrl - custom ViewHandlers can fail due to this

    [ https://issues.apache.org/jira/browse/ADFFACES-438?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12486701 ] 

Scott O'Bryan commented on ADFFACES-438:
----------------------------------------

We have to be very careful about doing this.  In ADF_Faaces 10.1.3.2 (the code which became trinidad), doing this resulted in "doubly encoded" and "wrongly encoded" URL's...  And there are a few exceptions where URL's shouldn't be encoded at all.  If someone wants to take on this task, make sure that the enhancements work as-is with all the current golden files.

> Trinidad components don't use ViewHandler.getResourceUrl - custom ViewHandlers can fail due to this
> ---------------------------------------------------------------------------------------------------
>
>                 Key: ADFFACES-438
>                 URL: https://issues.apache.org/jira/browse/ADFFACES-438
>             Project: MyFaces ADF-Faces
>          Issue Type: Bug
>          Components: Components
>    Affects Versions: 1.0.1-incubating-core-SNAPSHOT
>            Reporter: Martin Marinschek
>         Assigned To: Martin Marinschek
>             Fix For: 1.0.1-incubating-core-SNAPSHOT
>
>
> Trinidad's components all call:
> CoreRenderer.toUri()
>  when they encode their resource-urls.
> This method does essentially the same as the JSF-Viewhandler's method getResourceUrl(), so there is no reason why the core-renderer shouldn't call this method. If the viewHandler's getResourceUrl() is not called, some other projects fail to work together with Trinidad, an example for this is Weblets by John Fallows which overwrites the ViewHandler's getResourceUrl() method.
> Changing toUri() method to:
>   static public String toUri(Object o)
>   {
>     if (o == null)
>       return null;
>     
>     String uri = o.toString();
>     // Treat two slashes as server-relative
>     if (uri.startsWith("//"))
>     {
>         uri = uri.substring(1);
>     }
>     return FacesContext.getCurrentInstance().getApplication().getViewHandler().getResourceURL(
>             FacesContext.getCurrentInstance(),uri);
>   }
> should fix the issue.
> regards,
> Martin

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