Christopher Meyer created MYFACES-3988:
------------------------------------------

             Summary: An empty tag in a custom tag-lib causes an Exception
                 Key: MYFACES-3988
                 URL: https://issues.apache.org/jira/browse/MYFACES-3988
             Project: MyFaces Core
          Issue Type: Bug
          Components: JSR-344
    Affects Versions: 2.2.8
            Reporter: Christopher Meyer
            Priority: Minor


While developing a custom tag library we added an empty renderer-type tag like 
this:

<tag>
     <tag-name>myinput</tag-name>
     <component>
           <component-type>my.test.MyInput</component-type>
          <renderer-type></renderer-type>
     </component>
</tag>

This causes the following exception:

Caused by: java.lang.Exception: Value Cannot be Empty
        at 
org.apache.myfaces.view.facelets.compiler.TagLibraryConfigUnmarshallerImpl$LibraryHandler.endElement(TagLibraryConfigUnmarshallerImpl.java:395)
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown 
Source)
        at 
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
 Source)
...

This appears to be expected based on the code in 
TagLibraryConfigUnmarshallerImpl. From what I can see the exception appears to 
be thrown on elements which are used in another spot. If any of them are empty 
they will throw the above exception. Wildfly/Glassfish does not have the same 
behavior, so my assumption is they just ignore it.

Should the MyFaces code be modified to just continue on without the exception, 
based on the reference implementation? I can quickly create something if so, I 
just wanted to bring this up to the community at large since I don't know the 
reasoning behind the difference of the implementations.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to