ICEfaces
  1. ICEfaces
  2. ICE-11174

Modify generator for tlddoc to include passthrough attributes on components already supporting them

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: EE-4.1.0.GA, EE-3.3.0.GA_P04
    • Fix Version/s: 4.2
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      jsf2 ace generator

      Description

      The currently generated tlddocs do not include passthrough attributes for components which support passthrough attributes. For example ace:pushButton does not show that the "onclick", "onblur" etc attributes are supported.

      See h:commandButton tlddoc:-
      https://docs.oracle.com/cd/E17802_01/j2ee/javaee/javaserverfaces/2.0/docs/pdldocs/facelets/

      <ace:pushButton> <ace:linkButton> <ace:textEntry> are three such components.

        Activity

        Judy Guglielmin created issue -
        Judy Guglielmin made changes -
        Field Original Value New Value
        Assignee Ken Fyten [ ken.fyten ]
        Ken Fyten made changes -
        Fix Version/s 4.2 [ 12870 ]
        Priority Major [ 3 ] Minor [ 4 ]
        Affects Documentation (User Guide, Ref. Guide, etc.) [ 10003 ]
        Ken Fyten made changes -
        Assignee Ken Fyten [ ken.fyten ] Judy Guglielmin [ judy.guglielmin ]
        Assignee Priority P2 [ 10011 ]
        Ken Fyten made changes -
        Assignee Judy Guglielmin [ judy.guglielmin ] Mircea Toma [ mircea.toma ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #50014 Thu Jan 12 16:50:58 MST 2017 mircea.toma ICE-11174 Introduce PassthroughAttributes annotation to specify the list of component attributes that are passed through as HTML attributes by the renderer. Modify component and tld generators to make use of the annotation.
        Files Changed
        Commit graph ADD /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/PassthroughAttributes.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/generator/src/org/icefaces/ace/generator/xmlbuilder/FaceletTagLibBuilder.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/generator/src/org/icefaces/ace/generator/utils/PropertyValues.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/generator/src/org/icefaces/ace/generator/artifacts/ComponentArtifact.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/generator/src/org/icefaces/ace/generator/context/MetaContext.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #50015 Thu Jan 12 17:24:16 MST 2017 mircea.toma ICE-11174 Updated components that pass attributes through to use the annotations.
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/radiobutton/RadioButtonRenderer.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/pushbutton/PushButtonMeta.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/checkboxbutton/CheckboxButtonMeta.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/radiobutton/RadioButtonMeta.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/linkbutton/LinkButtonMeta.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/pushbutton/PushButtonRenderer.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/linkbutton/LinkButtonRenderer.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/checkboxbutton/CheckboxButtonRenderer.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #50016 Thu Jan 12 17:44:13 MST 2017 mircea.toma ICE-11174 Move PassthroughAttributes into core to avoid circular dependency between code generation and components. Add tlddoc and javadocs fields to the annotation so that it can be modified when it is used.
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/radiobutton/RadioButtonRenderer.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/pushbutton/PushButtonMeta.java
        Commit graph DEL /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/PassthroughAttributes.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/checkboxbutton/CheckboxButtonMeta.java
        Commit graph ADD /icefaces4/trunk/icefaces/core/src/main/java/org/icefaces/component/PassthroughAttributes.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/radiobutton/RadioButtonMeta.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/generator/src/org/icefaces/ace/generator/artifacts/ComponentArtifact.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/linkbutton/LinkButtonMeta.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/pushbutton/PushButtonRenderer.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/linkbutton/LinkButtonRenderer.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/generator/src/org/icefaces/ace/generator/context/MetaContext.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/checkboxbutton/CheckboxButtonRenderer.java
        Hide
        Mircea Toma added a comment -

        Introduced PassthroughAttributes annotation to specify the list of component attributes that are passed through as HTML attributes by the renderer. Modified component and tld generators to make use of the annotation. Updated components that pass attributes through to use the new annotations.

        Show
        Mircea Toma added a comment - Introduced PassthroughAttributes annotation to specify the list of component attributes that are passed through as HTML attributes by the renderer. Modified component and tld generators to make use of the annotation. Updated components that pass attributes through to use the new annotations.
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Carmen Cristurean added a comment -

        On the latest IF4 trunk Jenkins build (#2318), showcase and the other sample apps cannot be deployed because of server errors; this was not an issue on Jenkins Build #2315.

        Jan 13, 2017 10:26:25 AM org.icefaces.impl.renderkit.DOMRenderKit <clinit>
        INFO:
        ICEsoft Technologies Inc.
        ICEfaces 4.2.0.SNAPSHOT
        Build number: 2318
        Build date: 170112
        Revision: 50016

        Jan 13, 2017 10:26:25 AM com.sun.faces.config.ConfigureListener contextInitialized
        SEVERE: Critical error during deployment:
        java.lang.ExceptionInInitializerError
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at com.sun.faces.util.Util.loadClass(Util.java:364)
        at com.sun.faces.config.processor.AbstractConfigProcessor.loadClass(AbstractConfigProcessor.java:420)
        at com.sun.faces.config.processor.AbstractConfigProcessor.createInstance(AbstractConfigProcessor.java:301)
        at com.sun.faces.config.processor.AbstractConfigProcessor.createInstance(AbstractConfigProcessor.java:288)
        at com.sun.faces.config.processor.RenderKitConfigProcessor.addRenderers(RenderKitConfigProcessor.java:313)
        at com.sun.faces.config.processor.RenderKitConfigProcessor.process(RenderKitConfigProcessor.java:179)
        at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
        at com.sun.faces.config.processor.ManagedBeanConfigProcessor.process(ManagedBeanConfigProcessor.java:270)
        at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
        at com.sun.faces.config.processor.ValidatorConfigProcessor.process(ValidatorConfigProcessor.java:120)
        at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
        at com.sun.faces.config.processor.ConverterConfigProcessor.process(ConverterConfigProcessor.java:126)
        at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
        at com.sun.faces.config.processor.ComponentConfigProcessor.process(ComponentConfigProcessor.java:117)
        at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
        at com.sun.faces.config.processor.ApplicationConfigProcessor.process(ApplicationConfigProcessor.java:362)
        at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
        at com.sun.faces.config.processor.LifecycleConfigProcessor.process(LifecycleConfigProcessor.java:137)
        at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)
        at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:239)
        at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:439)
        at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:227)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4937)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:983)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1660)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
        Caused by: java.lang.NullPointerException
        at org.icefaces.ace.component.radiobutton.RadioButtonRenderer.<clinit>(RadioButtonRenderer.java:48)
        ... 37 more

        Jan 13, 2017 10:26:25 AM org.apache.catalina.core.StandardContext startInternal
        SEVERE: Error listenerStart
        Jan 13, 2017 10:26:25 AM org.apache.catalina.core.StandardContext startInternal
        SEVERE: Context [/showcase] startup failed due to previous errors
        Jan 13, 2017 10:26:25 AM org.icesoft.notify.cloud.core.LoggerNotificationProvider$AutoRegistration contextDestroyed
        INFO: Logger Notification Provider unregistered successfully.

        Show
        Carmen Cristurean added a comment - On the latest IF4 trunk Jenkins build (#2318), showcase and the other sample apps cannot be deployed because of server errors; this was not an issue on Jenkins Build #2315. Jan 13, 2017 10:26:25 AM org.icefaces.impl.renderkit.DOMRenderKit <clinit> INFO: ICEsoft Technologies Inc. ICEfaces 4.2.0.SNAPSHOT Build number: 2318 Build date: 170112 Revision: 50016 Jan 13, 2017 10:26:25 AM com.sun.faces.config.ConfigureListener contextInitialized SEVERE: Critical error during deployment: java.lang.ExceptionInInitializerError at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:340) at com.sun.faces.util.Util.loadClass(Util.java:364) at com.sun.faces.config.processor.AbstractConfigProcessor.loadClass(AbstractConfigProcessor.java:420) at com.sun.faces.config.processor.AbstractConfigProcessor.createInstance(AbstractConfigProcessor.java:301) at com.sun.faces.config.processor.AbstractConfigProcessor.createInstance(AbstractConfigProcessor.java:288) at com.sun.faces.config.processor.RenderKitConfigProcessor.addRenderers(RenderKitConfigProcessor.java:313) at com.sun.faces.config.processor.RenderKitConfigProcessor.process(RenderKitConfigProcessor.java:179) at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152) at com.sun.faces.config.processor.ManagedBeanConfigProcessor.process(ManagedBeanConfigProcessor.java:270) at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152) at com.sun.faces.config.processor.ValidatorConfigProcessor.process(ValidatorConfigProcessor.java:120) at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152) at com.sun.faces.config.processor.ConverterConfigProcessor.process(ConverterConfigProcessor.java:126) at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152) at com.sun.faces.config.processor.ComponentConfigProcessor.process(ComponentConfigProcessor.java:117) at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152) at com.sun.faces.config.processor.ApplicationConfigProcessor.process(ApplicationConfigProcessor.java:362) at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152) at com.sun.faces.config.processor.LifecycleConfigProcessor.process(LifecycleConfigProcessor.java:137) at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152) at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:239) at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:439) at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:227) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4937) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:983) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1660) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NullPointerException at org.icefaces.ace.component.radiobutton.RadioButtonRenderer.<clinit>(RadioButtonRenderer.java:48) ... 37 more Jan 13, 2017 10:26:25 AM org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerStart Jan 13, 2017 10:26:25 AM org.apache.catalina.core.StandardContext startInternal SEVERE: Context [/showcase] startup failed due to previous errors Jan 13, 2017 10:26:25 AM org.icesoft.notify.cloud.core.LoggerNotificationProvider$AutoRegistration contextDestroyed INFO: Logger Notification Provider unregistered successfully.
        Carmen Cristurean made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Ken Fyten made changes -
        Assignee Priority P2 [ 10011 ] P1 [ 10010 ]
        Hide
        Mircea Toma added a comment - - edited

        Added back @Inherited attribute to the @PassthroughAttributes annotation.

        Show
        Mircea Toma added a comment - - edited Added back @Inherited attribute to the @PassthroughAttributes annotation.
        Mircea Toma made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Carmen Cristurean added a comment -

        The server error has been resolved (IF4 trunk r 50017/Tomcat7).

        Show
        Carmen Cristurean added a comment - The server error has been resolved (IF4 trunk r 50017/Tomcat7).
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #50017 Fri Jan 13 16:12:55 MST 2017 mircea.toma ICE-11174 Added back @Inherited attribute to the PassthroughAttributes annotation.
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/core/src/main/java/org/icefaces/component/PassthroughAttributes.java
        Hide
        Carmen Cristurean added a comment -

        IF trunk r50017: the "onclick", "onblur" etc. attributes cannot be found in tlddoc for ace:textEntry. Have they been missed?

        Show
        Carmen Cristurean added a comment - IF trunk r50017: the "onclick", "onblur" etc. attributes cannot be found in tlddoc for ace:textEntry. Have they been missed?
        Carmen Cristurean made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Hide
        Mircea Toma added a comment -

        No, they have not been missed. Not according to ace:textEntry renderer.

        Show
        Mircea Toma added a comment - No, they have not been missed. Not according to ace:textEntry renderer.
        Hide
        Mircea Toma added a comment -

        Yes, I did check. "onclick" and "onblur" are not passed through by the component's renderer. There are other attributes that are passed through but they are redundantly rendered because the component defines those attributes as its own.

        Show
        Mircea Toma added a comment - Yes, I did check. "onclick" and "onblur" are not passed through by the component's renderer. There are other attributes that are passed through but they are redundantly rendered because the component defines those attributes as its own.
        Mircea Toma made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Ken Fyten added a comment -

        Note, a new JIRA has been created to add passthrough attribute support to additional ACE components: ICE-11216.

        Show
        Ken Fyten added a comment - Note, a new JIRA has been created to add passthrough attribute support to additional ACE components: ICE-11216 .
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Judy Guglielmin
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: