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

        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.
        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.
        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.
        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).
        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?
        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.
        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 .

          People

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

            Dates

            • Created:
              Updated:
              Resolved: