Details

    • Type: Sub-task Sub-task
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.0, 2.1
    • Fix Version/s: 2.2 Sprint 12
    • Component/s: Components/Renderers
    • Labels:
      None

      Description

      <paul_dijou> I have read about JSF 2.2 supporting HTML5, great news
      <paul_dijou> But I was wondering
      <paul_dijou> Does it includes support for custom tag attributes (like "data-xxx")

      1. 20120515-2322-i_spec_1089.patch
        185 kB
        Ed Burns
      2. 20120516-2342-i_spec_1089.patch
        205 kB
        Ed Burns
      3. 20120625-i_spec_1089-snapshot.patch
        22 kB
        Ed Burns
      4. 20120716-1550-i_spec_1089.patch
        40 kB
        Ed Burns
      5. 20120717-0052-i_spec_1089.patch
        58 kB
        Ed Burns

        Issue Links

          Activity

          Ed Burns logged work - 16/May/12 3:23 AM
          • Time Spent:
            5 hours
             
            Have it working and tested for outputText. Need to test it for the rest of the components.
          Ed Burns logged work - 16/May/12 10:48 AM
          • Time Spent:
            4 hours
             
            http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-1089

            - Add support for HTML5 data-* attributes to the HTML_BASIC renderkit.
              This attribute is valid on any h: component. Here is the specification.

            If the view being rendered is not HTML5, the value of this attribute
            must be ignored. Otherwise, determine the correct markup element to host
            the data- attribute(s). This markup element will always be the
            outer-most markup element corresponding precisely to this component
            instance. If necessary, a <div> or a <span> must be rendered to host the
            data- attribute(s), depending on whether or not the component is,
            itself, block or inline in nature.

            Interpret the value of the attribute as a JSON string.

            If none of the right hand side values in the JSON string is itself a
            JSON object, for each name : value pair in the JSON object output
            data-[name]="[value]", where name is the name from the name : value
            pair, and value is the value from the name : value pair.

            If any of the right hand side values in the JSON string is a JSON object
            render the attributes according to the following algorithm. Let
            nameStack be a stack data structure. Let jsonObj be a JSON object
            comprised of jsonName and jsonValue. Parse the value of the attribute as
            JSON into jsonObj. Push jsonName onto nameStack. If jsonValue is a JSON
            object, recursively apply the algorithm. Otherwise, render a data-
            attribute with the name data-stackExplode, where stackExplode is a
            printout of the entire stack, starting with the literal string "data-"
            and followed by each element in the stack, separated by "-". The value
            of such a data- attribute is jsonValue, enclosed in quotes. When all the
            values for the current jsonName have been handled, pop jsonName from the
            nameStack.

            Consider this example.

            <h:outputText data="{ a : { b : { c : { d : e, f : g }, h, { i : { j : { k : l } } } } } }" value="foo"/>

            This would be rendered as

             <span data-a-b-c-d="e" data-a-b-c-f="g" data-a-b-c="h"
             data-a-b-c-i-j-k="l">foo</span>

            SECTION: Modified Files
            ----------------------------
            M jsf-tools/src/main/java/com/sun/faces/generate/HtmlTaglib21Generator.java

            - Fix the component generation so that ivar names don't conflict with
              this new attribute.

            M jsf-ri/src/main/java/com/sun/faces/renderkit/html_basic/TextRenderer.java
            M jsf-ri/src/main/java/com/sun/faces/renderkit/RenderKitUtils.java
            M jsf-api/doc/standard-html-renderkit.xml
            M jsf-api/doc/core-props.xml

            - Implement this in the textrenderer.

            - Further work must be done to verify this works for all h: components.
              This is tracked in <http://java.net/jira/browse/JAVASERVERFACES-2418>.

            M jsf-ri/mojarra-jsf-impl.bnd
            M nbproject/project.xml
            M common/ant/dependencies.xml
            M common/ant/common.xml

            - Introduce dependency on jettison JSON software. This is acceptable
              because GlassFish is already using it.

            A + test/agnostic/renderKit/basic/src/test/java/com/sun/faces/test/agnostic/renderKit/basic/Issue1089IT.java
            A + test/agnostic/renderKit/basic/src/main/webapp/data-attributes.xhtml

            - Test in one case, h:outputText.
            Sending common/ant/common.xml
            Sending common/ant/dependencies.xml
            Sending jsf-api/doc/core-props.xml
            Sending jsf-api/doc/standard-html-renderkit.xml
            Sending jsf-ri/mojarra-jsf-impl.bnd
            Sending jsf-ri/src/main/java/com/sun/faces/renderkit/RenderKitUtils.java
            Sending jsf-ri/src/main/java/com/sun/faces/renderkit/html_basic/TextRenderer.java
            Sending jsf-tools/src/main/java/com/sun/faces/generate/HtmlTaglib21Generator.java
            Sending nbproject/project.xml
            Adding test/agnostic/renderKit/basic/src/main/webapp/data-attributes.xhtml
            Adding test/agnostic/renderKit/basic/src/test/java/com/sun/faces/test/agnostic/renderKit/basic/Issue1089IT.java
            Transmitting file data ...........
            Committed revision 9947.
          Ed Burns logged work - 16/May/12 4:29 PM
          • Time Spent:
            10 minutes
             
            http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-1089

            SECTION: Modified Files
            ----------------------------
            M jsf-ri/conf/share/tlddoc-resources/stylesheet.css

            - Make sure the changes for 1089 are attributed to the correct spec version.
            Sending jsf-ri/conf/share/tlddoc-resources/stylesheet.css
            Transmitting file data .
            Committed revision 9950.
          Ed Burns logged work - 17/May/12 4:23 AM
          • Time Spent:
            2 hours, 22 minutes
             
            http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-1089

            - Rework specification and implementation of data-* attributes per EG suggestions.

            - Dump JSON in favor of new <f:dataAttribute> element.

              Add an HTML5 data-* attribute to the enclosing component.

              Lazily create a java.util.Map store it in the component attributes map
              under the under the keygiven by the value of the symbolic constant
              UIComponent.DATA_ATTRIBUTES_KEY. Add an entryin the map
              with the name and value taken from the corresponding attributes on
              this element, preserving the ValueExpression nature of
              the name and value, if necessary.

              name

              The name of the data-* attribute. The value of name will be appended
              to the literal string "data-" (without the quotes) in the rendered
              markup for the component, as specified in the overview for the
              HTML_BASIC RenderKit.

              value

            - Specify how to handle this map. Add this text to the overview of the
              HTML_BASIC RenderKit.

            General notes regarding HTML5 support.

            The HTML_BASIC RenderKit supports HTML 5 where it makes sense to do so.

                Support for data-* attributes

                If the component to be encoded has an entry in its component
                attributes map under the key given by the value of the symbolic
                constant UIComponent.DATA_ATTRIBUTES_KEY, this entry must be a
                Map<Object, Object>. If an entry is present under that key, but its
                type is not as expected, a FacesException must be thrown. Otherwise,
                determine the correct markup element to host the data-
                attribute(s). Let this element be dataHostingElement. This markup
                element will always be the outer-most markup element corresponding
                precisely to this component instance. If necessary, a <div> or a
                <span> must be rendered to host the data- attribute(s), depending on
                whether or not the component is, itself, block or inline in
                nature. For each entry in the map, do the following.

                If the key is a ValueExpression get its value and append it to the
                literal string "data-", without the quotes. Otherwise get the string
                value of the key and append it to the literal string "data-" without
                the quotes. Let the result be dataAttributeName.

                If the value is a ValueExpression get its value. Otherwise get the
                string value of the entry's value. Let the result be
                dataAttributeValue.

                Render an attribute on dataHostingElement using
                ResponseWriter.writeAttribute(). The name of the attribute is
                dataAttributeName and the value of the attribute is
                dataAttributeValue. Also pass dataAttributeName as the last argument
                to ResponseWriter.writeAttribute().

            SECTION: Modified Files
            ----------------------------
            M jsf-api/doc/standard-html-renderkit-base.xml
            M jsf-api/doc/standard-html-renderkit.xml

            - Spec language.

            M jsf-api/src/main/java/javax/faces/component/UIComponent.java

            - Add DATA_ATTRIBUTES_KEY

              The value of this constant is used as the key in the component
              attributes Map for the Map<Object,Object> that renderers must use to
              render the HTML 5 data-* attributes.

            A + jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/DataAttributeHandler.java
            M jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/CoreLibrary.java

            - Populate the DATA_ATTRIBUTES data structure.

            M jsf-ri/src/main/java/com/sun/faces/renderkit/html_basic/TextRenderer.java

            - Render the DATA_ATTRIBUTES data structure

            M jsf-tools/src/main/java/com/sun/faces/generate/HtmlTaglib21Generator.java
            M jsf-ri/mojarra-jsf-impl.bnd
            M nbproject/project.xml
            M common/ant/dependencies.xml
            M common/ant/common.xml
            M jsf-api/doc/core-props.xml

            - Roll back previous approach

            M jsf-ri/conf/share/facelets_jsf_core.tld

            - Specify how to populate the DATA_ATTRIBUTES data structure.

            M jsf-tools/src/main/resources/com/sun/faces/generate/facesdoc/renderkit-summary.top

            - Fix stylesheet link.

            M jsf-ri/conf/share/tlddoc-resources/stylesheet.css

            - Attribute f:dataAttribute to this version

            M jsf-ri/src/main/java/com/sun/faces/renderkit/RenderKitUtils.java
            M jsf-ri/src/main/java/com/sun/faces/util/Util.java

            - Rework approach

            M test/agnostic/renderKit/basic/src/test/java/com/sun/faces/test/agnostic/renderKit/basic/Issue1089IT.java
            M test/agnostic/renderKit/basic/src/main/webapp/data-attributes.xhtml

            - New test content.
            Sending common/ant/common.xml
            Sending common/ant/dependencies.xml
            Sending jsf-api/doc/core-props.xml
            Sending jsf-api/doc/standard-html-renderkit-base.xml
            Sending jsf-api/doc/standard-html-renderkit.xml
            Sending jsf-api/src/main/java/javax/faces/component/UIComponent.java
            Sending jsf-ri/conf/share/facelets_jsf_core.tld
            Sending jsf-ri/conf/share/tlddoc-resources/stylesheet.css
            Sending jsf-ri/mojarra-jsf-impl.bnd
            Sending jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/CoreLibrary.java
            Adding jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/DataAttributeHandler.java
            Sending jsf-ri/src/main/java/com/sun/faces/renderkit/RenderKitUtils.java
            Sending jsf-ri/src/main/java/com/sun/faces/renderkit/html_basic/TextRenderer.java
            Sending jsf-ri/src/main/java/com/sun/faces/util/Util.java
            Sending jsf-tools/src/main/java/com/sun/faces/generate/HtmlTaglib21Generator.java
            Sending jsf-tools/src/main/resources/com/sun/faces/generate/facesdoc/renderkit-summary.top
            Sending nbproject/project.xml
            Sending test/agnostic/renderKit/basic/src/main/webapp/data-attributes.xhtml
            Sending test/agnostic/renderKit/basic/src/test/java/com/sun/faces/test/agnostic/renderKit/basic/Issue1089IT.java
            Transmitting file data ...................
            Committed revision 9960.
          Ed Burns logged work - 22/Jun/12 4:31 AM
          • Time Spent:
            3 hours
             
            http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-1089


            SECTION: Specification changes
            ----------------------------
            M jsf-api/src/main/java/javax/faces/component/UIComponent.java
            M jsf-api/src/main/java/javax/faces/component/UIComponentBase.java

            - delete DATA_ATTRIBUTES_KEY.

            + /**
            + * <p class="changed_added_2_2">Return a data structure containing the attributes
            + * of this component that should be rendered directly to the output without
            + * interpretation by the {@link javax.faces.render.Renderer}. This method must
            + * never return {@code null}. The returned
            + * {@code Map} implementation must support all of the standard and optional
            + * {@code Map} methods, plus support the following additional requirements.</p>
            + *
            + * <div class="changed_added_2_2">
            + *
            + * <p>The {@code Map} implementation must implement {@code java.io.Serializable}.</p>
            + *
            + * <p>Any attempt to add a {@code null} key or value must throw a {@code NullPointerException}.</p>
            + *
            + * <p>Any attempt to add a key that is not a {@code String} must
            + * throw an {@code IllegalArgumentException}.</p>
            + *
            + * </div>
            + *
            + * @since 2.2
            + */
            +
            + public abstract Map<String, Object> getPassThroughAttributes();
                 
            +
            + /**
            + * <p class="changed_added_2_2">This method has the same specification as
            + * {@link #getPassThroughAttributes() } except that it is allowed to return
            + * {@code null} if and only if the argument {@code param} is {@code false}
            + * and no pass through attribute data structure exists for this instance.</p>
            +
            + * @param create if <code>true</code>, a new {@code Map}
            + * instance will be created if it does not exist already. If
            + * <code>false</code>, and there is no existing
            + * <code>Map</code> instance, one will not be created and
            + * <code>null</code> will be returned.
            + * @return A {@code Map} instance, or {@code null}.
            + *
            + * @since 2.2
            + */
            +
            + public abstract Map<String, Object> getPassThroughAttributes(boolean create);

            - new methods.

            M jsf-api/src/main/java/javax/faces/context/PartialResponseWriter.java

            - remove unnecessary import

            M jsf-ri/conf/share/facelets_jsf_core.tld

            - change f:dataAttribute to be f:passthroughAttribute.

            SECTION: Implementation changes

            M jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/CoreLibrary.java
            A + jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/PassThroughAttributeHandler.java
            D jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/DataAttributeHandler.java

            - change f:dataAttribute to be f:passthroughAttribute.

            M jsf-ri/src/main/java/com/sun/faces/facelets/tag/composite/BehaviorHolderWrapper.java

            - implement new UIComponent methods.

            M jsf-ri/src/main/java/com/sun/faces/renderkit/html_basic/TextRenderer.java

            - Ensure that passthroughAttributes cause the <span> to be rendered.

            M jsf-ri/src/main/java/com/sun/faces/renderkit/html_basic/HtmlResponseWriter.java

            - Implement the spec.

            M jsf-ri/src/main/java/com/sun/faces/renderkit/RenderKitUtils.java

            - Drop renderDataAttributes() and call site thereof.

            M jsf-ri/src/main/java/com/sun/faces/util/Util.java

            - Drop getDataAttributes

            M test/agnostic/renderKit/basic/src/main/webapp/data-attributes.xhtml

            - The "data" is now where it should be, on the attribute names.
            Authentication realm: <https://svn.java.net:443> Subversion Repository
            Username: edburns
            Password for 'edburns':
            Sending jsf-api/src/main/java/javax/faces/component/UIComponent.java
            Sending jsf-api/src/main/java/javax/faces/component/UIComponentBase.java
            Sending jsf-api/src/main/java/javax/faces/context/PartialResponseWriter.java
            Sending jsf-ri/conf/share/facelets_jsf_core.tld
            Sending jsf-ri/src/main/java/com/sun/faces/facelets/tag/composite/BehaviorHolderWrapper.java
            Sending jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/CoreLibrary.java
            Deleting jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/DataAttributeHandler.java
            Adding jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/PassThroughAttributeHandler.java
            Sending jsf-ri/src/main/java/com/sun/faces/renderkit/RenderKitUtils.java
            Sending jsf-ri/src/main/java/com/sun/faces/renderkit/html_basic/HtmlResponseWriter.java
            Sending jsf-ri/src/main/java/com/sun/faces/renderkit/html_basic/TextRenderer.java
            Sending jsf-ri/src/main/java/com/sun/faces/util/Util.java
            Sending test/agnostic/renderKit/basic/src/main/webapp/data-attributes.xhtml
            Transmitting file data ............
            Committed revision 10108.
          Ed Burns logged work - 22/Jun/12 8:13 PM
          • Time Spent:
            1 hour
             
            http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-1089

            SECTION: Modified Files
            ----------------------------
            M jsf-tools/src/main/java/com/sun/faces/config/rules/FacesConfigRuleSet.java
            M jsf-tools/src/main/java/com/sun/faces/generate/RenderKitSpecificationGenerator.java
            M jsf-api/doc/focus-props.xml
            M jsf-api/doc/command-button-props.xml
            M jsf-api/doc/selectmany-checkbox-props.xml
            M jsf-api/doc/panel-group-props.xml
            M jsf-api/doc/link-props.xml
            M jsf-api/doc/input-props-nochange.xml
            M jsf-api/doc/events-props-noclick.xml
            M jsf-api/doc/text-props.xml
            M jsf-api/doc/image-button-props.xml
            M jsf-api/doc/graphic-image-props.xml
            M jsf-api/doc/form-form-props.xml
            M jsf-api/doc/events-props.xml
            M jsf-api/doc/i18n-props.xml
            M jsf-api/doc/table-props.xml
            M jsf-api/doc/standard-html-renderkit.xml
            M jsf-api/doc/core-props.xml
            M jsf-api/doc/input-props.xml
            M jsf-api/doc/doctype-props.xml
            M jsf-api/doc/input-textarea-props.xml
            M jsf-api/doc/events-valueChanged-click.xml
            M jsf-api/doc/selectone-radio-props.xml
            M jsf-api/doc/document-props.xml

            - At Manfred Riem's request, purge "pass-through" from the spec except
              for the one use in the new "f:passThroughAttribute" element.

            M jsf-api/doc/standard-html-renderkit-base.xml

            - Document how to handle pass through elements.
            Authentication realm: <https://svn.java.net:443> Subversion Repository
            Username: edburns
            Password for 'edburns':
            Sending jsf-api/doc/command-button-props.xml
            Sending jsf-api/doc/core-props.xml
            Sending jsf-api/doc/doctype-props.xml
            Sending jsf-api/doc/document-props.xml
            Sending jsf-api/doc/events-props-noclick.xml
            Sending jsf-api/doc/events-props.xml
            Sending jsf-api/doc/events-valueChanged-click.xml
            Sending jsf-api/doc/focus-props.xml
            Sending jsf-api/doc/form-form-props.xml
            Sending jsf-api/doc/graphic-image-props.xml
            Sending jsf-api/doc/i18n-props.xml
            Sending jsf-api/doc/image-button-props.xml
            Sending jsf-api/doc/input-props-nochange.xml
            Sending jsf-api/doc/input-props.xml
            Sending jsf-api/doc/input-textarea-props.xml
            Sending jsf-api/doc/link-props.xml
            Sending jsf-api/doc/panel-group-props.xml
            Sending jsf-api/doc/selectmany-checkbox-props.xml
            Sending jsf-api/doc/selectone-radio-props.xml
            Sending jsf-api/doc/standard-html-renderkit-base.xml
            Sending jsf-api/doc/standard-html-renderkit.xml
            Sending jsf-api/doc/table-props.xml
            Sending jsf-api/doc/text-props.xml
            Sending jsf-tools/src/main/java/com/sun/faces/config/rules/FacesConfigRuleSet.java
            Sending jsf-tools/src/main/java/com/sun/faces/generate/RenderKitSpecificationGenerator.java
            Transmitting file data .........................
            Committed revision 10109.
          Ed Burns logged work - 22/Jun/12 9:14 PM
          • Time Spent:
            20 minutes
             
            http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-1089


            SECTION: Modified Files
            ----------------------------
            M jsf-ri/conf/share/tlddoc-resources/stylesheet.css
            M jsf-ri/conf/share/facelets_jsf_core.tld
            M jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/CoreLibrary.java
            A + jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/PassThroughAttributesHandler.java

            - Add <f:passthroughAttributes />

            M jsf-api/src/main/java/javax/faces/context/ResponseWriter.java

            - Specify that the component argument to startElement() actually does
              something now. Note: this is that a rare example of adding
              functionality to an API that was crafted over ten years ago.

            M test/agnostic/renderKit/basic/src/test/java/com/sun/faces/test/agnostic/renderKit/basic/Issue1089IT.java
            M test/agnostic/renderKit/basic/src/main/java/com/sun/faces/test/agnostic/renderKit/basic/Bean.java
            A + test/agnostic/renderKit/basic/src/main/webapp/passThroughAttributes.xhtml

            - test content
            Authentication realm: <https://svn.java.net:443> Subversion Repository
            Username: edburns
            Password for 'edburns':
            Sending jsf-api/src/main/java/javax/faces/context/ResponseWriter.java
            Sending jsf-ri/conf/share/facelets_jsf_core.tld
            Sending jsf-ri/conf/share/tlddoc-resources/stylesheet.css
            Sending jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/CoreLibrary.java
            Adding jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/PassThroughAttributesHandler.java
            Sending test/agnostic/renderKit/basic/src/main/java/com/sun/faces/test/agnostic/renderKit/basic/Bean.java
            Adding test/agnostic/renderKit/basic/src/main/webapp/passThroughAttributes.xhtml
            Sending test/agnostic/renderKit/basic/src/test/java/com/sun/faces/test/agnostic/renderKit/basic/Issue1089IT.java
            Transmitting file data ........
            Committed revision 10118.
          Ed Burns logged work - 22/Jun/12 9:53 PM
          • Time Spent:
            35 minutes
             

            Rhombus2:i_spec_1089 ejburns$ svncom
            http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-1089

            SECTION: Modified Files
            ----------------------------
            M jsf-ri/conf/share/tlddoc-resources/stylesheet.css
            M jsf-ri/conf/share/facelets_jsf_core.tld
            M jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/CoreLibrary.java
            A + jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/AttributesHandler.java

            - add <f:attributes> and specification.

            M test/agnostic/renderKit/basic/src/test/java/com/sun/faces/test/agnostic/renderKit/basic/Issue1089IT.java
            M test/agnostic/renderKit/basic/src/main/java/com/sun/faces/test/agnostic/renderKit/basic/Bean.java
            A + test/agnostic/renderKit/basic/src/main/webapp/attributes.xhtml

            - Test content
            Authentication realm: <https://svn.java.net:443> Subversion Repository
            Username: edburns
            Password for 'edburns':
            Sending jsf-ri/conf/share/facelets_jsf_core.tld
            Sending jsf-ri/conf/share/tlddoc-resources/stylesheet.css
            Adding jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/AttributesHandler.java
            Sending jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/core/CoreLibrary.java
            Sending test/agnostic/renderKit/basic/src/main/java/com/sun/faces/test/agnostic/renderKit/basic/Bean.java
            Adding test/agnostic/renderKit/basic/src/main/webapp/attributes.xhtml
            Sending test/agnostic/renderKit/basic/src/test/java/com/sun/faces/test/agnostic/renderKit/basic/Issue1089IT.java
            Transmitting file data .......
            Committed revision 10119.
          Ed Burns logged work - 25/Jun/12 7:55 PM
          • Time Spent:
            1 hour, 41 minutes
             
            checkpoint.
          Ed Burns logged work - 26/Jun/12 1:50 AM
          • Time Spent:
            2 hours, 45 minutes
             
            http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-1089

            SECTION: Modified Files
            ----------------------------
            M jsf-ri/conf/share/tlddoc-resources/stylesheet.css

            - Style the new tag library as new.

            A jsf-ri/conf/share/facelets_passthrough.tld

            - Very simply documentation for a very simple library.

            M jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/ComponentSupport.java

            - New method to copy the passthrough attributes to the passthrough attributes map.

            M jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/ComponentTagHandlerDelegateImpl.java
            M jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/BehaviorTagHandlerDelegateImpl.java
            M jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/ConverterTagHandlerDelegateImpl.java
            M jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/ValidatorTagHandlerDelegateImpl.java

            - Callsite for the new method.

            M jsf-ri/src/main/java/com/sun/faces/application/ApplicationAssociate.java
            M jsf-ri/build.xml

            - Cause the new taglibrary to be rendered.

            M test/agnostic/renderKit/basic/src/test/java/com/sun/faces/test/agnostic/renderKit/basic/Issue1089IT.java
            M test/agnostic/renderKit/basic/src/main/webapp/passThroughAttributes.xhtml

            - Test content

            A + jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/PassThroughAttributeLibrary.java

            - Make it so the Pass through library is not rendered to the output.
            Authentication realm: <https://svn.java.net:443> Subversion Repository
            Username: edburns
            Password for 'edburns':
            Sending jsf-api/src/main/java/javax/faces/view/facelets/TagHandlerDelegate.java
            Sending jsf-ri/build.xml
            Adding jsf-ri/conf/share/facelets_passthrough.tld
            Sending jsf-ri/conf/share/tlddoc-resources/stylesheet.css
            Sending jsf-ri/src/main/java/com/sun/faces/application/ApplicationAssociate.java
            Sending jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/BehaviorTagHandlerDelegateImpl.java
            Sending jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/ComponentSupport.java
            Sending jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/ComponentTagHandlerDelegateImpl.java
            Sending jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/ConverterTagHandlerDelegateImpl.java
            Adding jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/PassThroughAttributeLibrary.java
            Sending jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/ValidatorTagHandlerDelegateImpl.java
            Sending test/agnostic/renderKit/basic/src/main/webapp/passThroughAttributes.xhtml
            Sending test/agnostic/renderKit/basic/src/test/java/com/sun/faces/test/agnostic/renderKit/basic/Issue1089IT.java
            Transmitting file data .............
            Committed revision 10125.
          Ed Burns logged work - 26/Jun/12 3:31 AM
          • Time Spent:
            1 hour, 39 minutes
             
            dhcp-adc-twvpn-3-vpnpool-10-154-108-59:chaff ejburns$ cdw
            dhcp-adc-twvpn-3-vpnpool-10-154-108-59:workareas ejburns$ cd i_spec_1089
            dhcp-adc-twvpn-3-vpnpool-10-154-108-59:i_spec_1089 ejburns$ svncom
            http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-1089


            SECTION: Modified Files
            ----------------------------
            M jsf-ri/mojarra-jsf-impl.bnd
            M nbproject/project.xml
            M common/ant/dependencies.xml
            M common/ant/common.xml

            - Re-introduce dependency on jettison JSON library. Again, this is OK
              because GlassFish already uses it.

            M jsf-ri/conf/share/tlddoc-resources/stylesheet.css
            M jsf-ri/conf/share/facelets_passthrough.tld

            - Document the new EL function jsonToMap()

            M jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/PassThroughAttributeLibrary.java

            - Implement the EL function with code from the first incarnation of this
              feature, back on 17 May!

            M test/agnostic/renderKit/basic/src/test/java/com/sun/faces/test/agnostic/renderKit/basic/Issue1089IT.java
            M test/agnostic/renderKit/basic/src/main/java/com/sun/faces/test/agnostic/renderKit/basic/Bean.java
            M test/agnostic/renderKit/basic/src/main/webapp/passThroughAttributes.xhtml

            - Automated test fodder.
            Authentication realm: <https://svn.java.net:443> Subversion Repository
            Username: edburns
            Password for 'edburns':
            Sending common/ant/common.xml
            Sending common/ant/dependencies.xml
            Sending jsf-ri/conf/share/facelets_passthrough.tld
            Sending jsf-ri/conf/share/tlddoc-resources/stylesheet.css
            Sending jsf-ri/mojarra-jsf-impl.bnd
            Sending jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/PassThroughAttributeLibrary.java
            Sending nbproject/project.xml
            Sending test/agnostic/renderKit/basic/src/main/java/com/sun/faces/test/agnostic/renderKit/basic/Bean.java
            Sending test/agnostic/renderKit/basic/src/main/webapp/passThroughAttributes.xhtml
            Sending test/agnostic/renderKit/basic/src/test/java/com/sun/faces/test/agnostic/renderKit/basic/Issue1089IT.java
            Transmitting file data ..........
            Committed revision 10126.
            dhcp-adc-twvpn-3-vpnpool-10-154-108-59:i_spec_1089 ejburns$
          Ed Burns logged work - 17/Jul/12 2:23 PM
          • Time Spent:
            8 hours, 43 minutes
             
            - Provide for correct handling of passThroughAttributes on
              <f:selectItem> and <f:selectItems>.

            - Use Bob Lee's DebugObjectOutputStream to make it a little easier to
              reason about serialization problems regarding state saving.

            SECTION: Modified Files
            ----------------------------
            M jsf-api/doc/standard-html-renderkit-base.xml
            M jsf-api/doc/standard-html-renderkit.xml
            M jsf-ri/src/main/java/com/sun/faces/renderkit/RenderKitUtils.java
            M jsf-ri/src/main/java/com/sun/faces/renderkit/SelectItemsIterator.java
            M jsf-ri/src/main/java/com/sun/faces/renderkit/html_basic/MenuRenderer.java

            - Inspired by Frank Caputo's 20120626 JSR-344 EG post, provide for
              passThroughAttribute rendering on <f:selectItem> and <f:selectItems>.

            M jsf-ri/src/main/java/com/sun/faces/renderkit/ClientSideStateHelper.java
            M jsf-ri/src/main/java/com/sun/faces/config/WebConfiguration.java
            M jsf-ri/src/main/java/com/sun/faces/util/DebugUtil.java
            A jsf-ri/src/main/java/com/sun/faces/util/DebugObjectOutputStream.java

            - Serialization debugging help.

            M test/agnostic/pom.xml

            - Default value for client state debugging is false, but this only even
              matters for tests that want to provide for that capability.

            M test/agnostic/renderKit/basic/nbactions.xml
            M test/agnostic/renderKit/basic/src/test/java/com/sun/faces/test/agnostic/renderKit/basic/Issue1089IT.java
            A test/agnostic/renderKit/basic/src/main/java/com/sun/faces/test/agnostic/renderKit/basic/SelectMany05Bean.java
            A test/agnostic/renderKit/basic/src/main/java/com/sun/faces/test/agnostic/renderKit/basic/HobbitConverter.java
            M test/agnostic/renderKit/basic/src/main/java/com/sun/faces/test/agnostic/renderKit/basic/Bean.java
            M test/agnostic/renderKit/basic/src/main/webapp/WEB-INF/web.xml
            A test/agnostic/renderKit/basic/src/main/webapp/passThroughAttributesSelect.xhtml
            A test/agnostic/renderKit/basic/src/main/webapp/resources
            A test/agnostic/renderKit/basic/src/main/webapp/resources/css
            A test/agnostic/renderKit/basic/src/main/webapp/resources/css/main.css

            - New content in basic renderKit test.

            M test/agnostic/lifecycle/pom.xml
            A test/agnostic/lifecycle/debugObjectOutputStream
            A test/agnostic/lifecycle/debugObjectOutputStream/nbactions.xml
            A test/agnostic/lifecycle/debugObjectOutputStream/src
            A test/agnostic/lifecycle/debugObjectOutputStream/src/test
            A test/agnostic/lifecycle/debugObjectOutputStream/src/test/java
            A test/agnostic/lifecycle/debugObjectOutputStream/src/test/java/com
            A test/agnostic/lifecycle/debugObjectOutputStream/src/test/java/com/sun
            A test/agnostic/lifecycle/debugObjectOutputStream/src/test/java/com/sun/faces
            A test/agnostic/lifecycle/debugObjectOutputStream/src/test/java/com/sun/faces/test
            A test/agnostic/lifecycle/debugObjectOutputStream/src/test/java/com/sun/faces/test/agnostic
            A test/agnostic/lifecycle/debugObjectOutputStream/src/test/java/com/sun/faces/test/agnostic/lifeycle
            A test/agnostic/lifecycle/debugObjectOutputStream/src/test/java/com/sun/faces/test/agnostic/lifeycle/debugObjectOutputStream
            A test/agnostic/lifecycle/debugObjectOutputStream/src/test/java/com/sun/faces/test/agnostic/lifeycle/debugObjectOutputStream/Issue2466IT.java
            A test/agnostic/lifecycle/debugObjectOutputStream/src/main
            A test/agnostic/lifecycle/debugObjectOutputStream/src/main/java
            A test/agnostic/lifecycle/debugObjectOutputStream/src/main/resources
            A test/agnostic/lifecycle/debugObjectOutputStream/src/main/webapp
            A test/agnostic/lifecycle/debugObjectOutputStream/src/main/webapp/index.xhtml
            A test/agnostic/lifecycle/debugObjectOutputStream/src/main/webapp/WEB-INF
            A test/agnostic/lifecycle/debugObjectOutputStream/src/main/webapp/WEB-INF/web.xml
            A test/agnostic/lifecycle/debugObjectOutputStream/pom.xml

            - new test to verify that DebugObjectOutputStream doesn't break normal
              app operation.
            Sending jsf-api/doc/standard-html-renderkit-base.xml
            Sending jsf-api/doc/standard-html-renderkit.xml
            Sending jsf-ri/src/main/java/com/sun/faces/config/WebConfiguration.java
            Sending jsf-ri/src/main/java/com/sun/faces/renderkit/ClientSideStateHelper.java
            Sending jsf-ri/src/main/java/com/sun/faces/renderkit/RenderKitUtils.java
            Sending jsf-ri/src/main/java/com/sun/faces/renderkit/SelectItemsIterator.java
            Sending jsf-ri/src/main/java/com/sun/faces/renderkit/html_basic/MenuRenderer.java
            Adding jsf-ri/src/main/java/com/sun/faces/util/DebugObjectOutputStream.java
            Sending jsf-ri/src/main/java/com/sun/faces/util/DebugUtil.java
            Adding test/agnostic/lifecycle/debugObjectOutputStream
            Adding test/agnostic/lifecycle/debugObjectOutputStream/nbactions.xml
            Adding test/agnostic/lifecycle/debugObjectOutputStream/pom.xml
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src/main
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src/main/java
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src/main/resources
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src/main/webapp
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src/main/webapp/WEB-INF
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src/main/webapp/WEB-INF/web.xml
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src/main/webapp/index.xhtml
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src/test
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src/test/java
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src/test/java/com
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src/test/java/com/sun
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src/test/java/com/sun/faces
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src/test/java/com/sun/faces/test
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src/test/java/com/sun/faces/test/agnostic
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src/test/java/com/sun/faces/test/agnostic/lifeycle
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src/test/java/com/sun/faces/test/agnostic/lifeycle/debugObjectOutputStream
            Adding test/agnostic/lifecycle/debugObjectOutputStream/src/test/java/com/sun/faces/test/agnostic/lifeycle/debugObjectOutputStream/Issue2466IT.java
            Sending test/agnostic/lifecycle/pom.xml
            Sending test/agnostic/pom.xml
            Sending test/agnostic/renderKit/basic/nbactions.xml
            Sending test/agnostic/renderKit/basic/src/main/java/com/sun/faces/test/agnostic/renderKit/basic/Bean.java
            Adding test/agnostic/renderKit/basic/src/main/java/com/sun/faces/test/agnostic/renderKit/basic/HobbitConverter.java
            Adding test/agnostic/renderKit/basic/src/main/java/com/sun/faces/test/agnostic/renderKit/basic/SelectMany05Bean.java
            Sending test/agnostic/renderKit/basic/src/main/webapp/WEB-INF/web.xml
            Adding test/agnostic/renderKit/basic/src/main/webapp/passThroughAttributesSelect.xhtml
            Adding test/agnostic/renderKit/basic/src/main/webapp/resources
            Adding test/agnostic/renderKit/basic/src/main/webapp/resources/css
            Adding test/agnostic/renderKit/basic/src/main/webapp/resources/css/main.css
            Sending test/agnostic/renderKit/basic/src/test/java/com/sun/faces/test/agnostic/renderKit/basic/Issue1089IT.java
            Transmitting file data ........................
            Committed revision 10288.

            People

            • Assignee:
              Ed Burns
              Reporter:
              Ed Burns
            • Votes:
              8 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 3 days
                3d
                Remaining:
                Time Spent - 1 day, 7 hours, 15 minutes Remaining Estimate - 1 day, 16 hours, 45 minutes
                1d 16h 45m
                Logged:
                Time Spent - 1 day, 7 hours, 15 minutes Remaining Estimate - 1 day, 16 hours, 45 minutes
                1d 7h 15m