[ 
https://issues.apache.org/struts/browse/SHALE-445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_41174
 ] 

Ryan Lubke commented on SHALE-445:
----------------------------------

For now, I've created a private Schema for 1.1 documents and relaxed the 
restriction of managed-bean-name.  This seems to work ok.  

However, this should be kept in mind if the shale faces-config documents are 
moved to 1.2 or beyond, the managed-bean-name will not be valid.



> 'org.apache.shale.remoting.LOGGER' is not a valid managed-bean-name
> -------------------------------------------------------------------
>
>                 Key: SHALE-445
>                 URL: https://issues.apache.org/struts/browse/SHALE-445
>             Project: Shale
>          Issue Type: Bug
>    Affects Versions: 1.0.4
>         Environment: linux 2.6.x kernel
> JDK 1.5/1.6
>            Reporter: Ryan Lubke
>
> In order to portably support the validation of both DTD and Schema-based 
> faces-config documents in the RI,
> we've had to take the approach or transforming any 1.0/1.1 documents to 1.2 
> and perform schema validation
> (there is no portable way to validate using both schema and dtd).
> Doing so has brought up an interesting issue when deploying to a container 
> when validation is enabled.
> Consider the following shale managed bean entry:
> <managed-bean>
>   <!-- Default logging adapter implementation -->
>     <managed-bean-name>org.apache.shale.remoting.LOGGER</managed-bean-name>
>     <managed-bean-class>
>         org.apache.shale.remoting.logger.DefaultLogger
>     </managed-bean-class>
>     <managed-bean-scope>application</managed-bean-scope>
> </managed-bean> 
> This will fail to validate against the 1.2 schema with the following error:
> (cvc-pattern-valid: Value 'org.apache.shale.remoting.LOGGER' is not 
> facet-valid with respect to pattern '($|_|\p{L})(\p{L}|\p{Nd}|_|$)*' for type 
> 'null'.)
> I had talked to Craig off line about this.  Here are his comments:
> The spec language doesn't say anything, but the JSF 1.1 DTD comment regarding 
> <managed-bean-name> includes the comment 'It must be of type "Identifier"', 
> which references back to a "type description" above claiming that the content 
> must conform to the syntax of a valid Java identifier.  I suspect that, when 
> this DTD was translated into a schema, this requirement was taken literally.
> That creates an interesting backwards compatibility problem for Shale, but 
> also an interesting spec question regarding backwards compatibility ... the 
> RI for 1.2 is enforcing a requirement that the RI for 1.1 did not enforce, 
> which could be argued is a breakage.  But, in the mean time, I'm going to 
> look at what the impact would be of correcting these names in Shale. 
> We haven't released these changes yet, so this has no immediate impact, but 
> it would be good to get a discussion going on this and figure out what should 
> be done.

-- 
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