PortletExternalContextImpl should massage RenderResponse.getNamespace() into
acceptable ID
------------------------------------------------------------------------------------------
Key: MYFACES-1358
URL: http://issues.apache.org/jira/browse/MYFACES-1358
Project: MyFaces Core
Type: Bug
Components: Portlet_Support
Versions: 1.1.3
Environment: MacOS X, JDK 5, GridSphere Portal
Reporter: Jason Novotny
Hi,
I've been testing the most basic portlet in our GridSphere framework and
ran into this error:
java.lang.IllegalArgumentException: Subsequent characters of component
identifier must be a letter, a digit, an underscore ('_'), or a dash ('-')! But
component identifier contains "#"
at
javax.faces.component.UIComponentBase.isIdValid(UIComponentBase.java:1049)
It appears that PortletExternalContextImpl is using the
RenderResponse.getNamespace() method which in our case will return a string
containing a #.
The JSR168 spec. does not specify any disallowed characters in getNamespace()
so I think this is a bug in the PortletExternalContextImpl class-- probably in
the
public String encodeNamespace(String name)
method, it should conert the response.getNamespace into a form that the
UIComponentBase.isValid method can deal with.
Thanks, Jason
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira