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 created issue -
          Hide
          Ed Burns added a comment -

          <paul_dijou> Another idea would be that JSF component have a "data" attribute
          <paul_dijou> Which could accepte Map<String,String> or JSon or just plain String correctly formated
          <paul_dijou> And so <h:graphicImage src="..." data="

          {tooltip:value, test:test}

          "/> would produce <img src="..." data-tooltip="value" data-test="test"/>
          <paul_dijou> (I think HAML syntax do something no far away from that)

          <paul_dijou> Here you go :

          http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#html5_custom_data_attributes

          <paul_dijou> Of course, you can have nested properties :data => {:test => {:sub1 => "val1", :sub2 => "val2"}} will result in : data-test-sub1="val1" data-test-sub2="val2"

          Show
          Ed Burns added a comment - <paul_dijou> Another idea would be that JSF component have a "data" attribute <paul_dijou> Which could accepte Map<String,String> or JSon or just plain String correctly formated <paul_dijou> And so <h:graphicImage src="..." data=" {tooltip:value, test:test} "/> would produce <img src="..." data-tooltip="value" data-test="test"/> <paul_dijou> (I think HAML syntax do something no far away from that) <paul_dijou> Here you go : http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#html5_custom_data_attributes <paul_dijou> Of course, you can have nested properties :data => {:test => {:sub1 => "val1", :sub2 => "val2"}} will result in : data-test-sub1="val1" data-test-sub2="val2"
          Ed Burns made changes -
          Field Original Value New Value
          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")
          Hide
          Frank Caputo added a comment -

          I've already done it in a project by simply wrapping the ResponseWriter. Not that flexible and a bit hacky:

          public class Html5ResponseWriter extends ResponseWriterWrapper {

          private ResponseWriter wrapped;

          public Html5ResponseWriter(ResponseWriter wrapped)

          { this.wrapped = wrapped; }

          @Override
          public ResponseWriter getWrapped()

          { return wrapped; }

          @Override
          public ResponseWriter cloneWithWriter(Writer writer)

          { return new Html5ResponseWriter(super.cloneWithWriter(writer)); }

          @Override
          public void startElement(String name, UIComponent component) throws IOException {
          super.startElement(name, component);
          if(component == null)

          { return; }

          Map<String,Object> attributes = component.getAttributes();
          for (Map.Entry<String, Object> entry : attributes.entrySet()) {
          String key = entry.getKey();

          if(key.startsWith("data-") || key.equals("placeholder") || key.equals("pattern")) {
          Object value = entry.getValue();
          if(value != null)

          { writeAttribute(key, value, key); }

          }
          }
          }
          }

          Show
          Frank Caputo added a comment - I've already done it in a project by simply wrapping the ResponseWriter. Not that flexible and a bit hacky: public class Html5ResponseWriter extends ResponseWriterWrapper { private ResponseWriter wrapped; public Html5ResponseWriter(ResponseWriter wrapped) { this.wrapped = wrapped; } @Override public ResponseWriter getWrapped() { return wrapped; } @Override public ResponseWriter cloneWithWriter(Writer writer) { return new Html5ResponseWriter(super.cloneWithWriter(writer)); } @Override public void startElement(String name, UIComponent component) throws IOException { super.startElement(name, component); if(component == null) { return; } Map<String,Object> attributes = component.getAttributes(); for (Map.Entry<String, Object> entry : attributes.entrySet()) { String key = entry.getKey(); if(key.startsWith("data-") || key.equals("placeholder") || key.equals("pattern")) { Object value = entry.getValue(); if(value != null) { writeAttribute(key, value, key); } } } } }
          Ed Burns made changes -
          Parent JAVASERVERFACES_SPEC_PUBLIC-1090 [ 112356 ]
          Issue Type New Feature [ 2 ] Sub-task [ 5 ]
          Ed Burns made changes -
          Assignee rogerk [ rogerk ] Ed Burns [ edburns ]
          Hide
          Ed Burns added a comment -

          snapshot

          Show
          Ed Burns added a comment - snapshot
          Ed Burns made changes -
          Attachment 20120515-2322-i_spec_1089.patch [ 50083 ]
          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 made changes -
          Remaining Estimate 3 days [ 259200 ] 2 days, 19 hours [ 241200 ]
          Time Spent 5 hours [ 18000 ]
          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 made changes -
          Remaining Estimate 2 days, 19 hours [ 241200 ] 2 days, 15 hours [ 226800 ]
          Time Spent 5 hours [ 18000 ] 9 hours [ 32400 ]
          Ed Burns made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Fix Version/s 2.2 Sprint 12 [ 15351 ]
          Resolution Fixed [ 1 ]
          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 made changes -
          Remaining Estimate 2 days, 15 hours [ 226800 ] 2 days, 14 hours, 50 minutes [ 226200 ]
          Time Spent 9 hours [ 32400 ] 9 hours, 10 minutes [ 33000 ]
          Hide
          Ed Burns added a comment -

          AS> Ed -
          AS> I find the use of JSON here very confusing and unnecessarily complex.

          AS> Two simpler options that I would prefer:

          AS> 1. Enhance f:attribute to allow pass-thru of data- attributes, eg:

          AS> <h:outputText>
          AS> <f:attribute name="data-andy-rocks" value="false"/>
          AS> </h:outputText>

          AS> Thinking the <f:attribute> handler would populate a map that hangs off
          AS> of the component's attribute map. Renderers would be required to
          AS> iterate over this map and blast out all of attributes.

          AS> 2. Add a new f:dataAttribute tag, eg:

          AS> If we prefer not to complicate <f:attribute>, we could do:

          AS> <h:outputText>
          AS> <f:dataAttribute name="andy-rocks" value="false"/>
          AS> </h:outputText>

          AS> With a similar implementation.

          AS> Ideally either/both of these would support EL-binding, eg:

          AS> <h:outputText>
          AS> <f:dataAttribute name="andy-rocks" value="#

          {bean.doesAndyRockYet}

          "/>
          AS> </h:outputText>

          AS> Regarding:

          >> If the view being rendered is not HTML5, the value of this attribute
          >> must be ignored.

          AS> I would lean towards passing these through regardless of the target
          AS> markup language. Although data- attributes are not strictly valid
          AS> pre-HTML5, simply dropping these might make life more difficult for an
          AS> app developer who needs to target a range of browsers (including both
          AS> HTML5 and pre-HTML5 browsers).

          Show
          Ed Burns added a comment - AS> Ed - AS> I find the use of JSON here very confusing and unnecessarily complex. AS> Two simpler options that I would prefer: AS> 1. Enhance f:attribute to allow pass-thru of data- attributes, eg: AS> <h:outputText> AS> <f:attribute name="data-andy-rocks" value="false"/> AS> </h:outputText> AS> Thinking the <f:attribute> handler would populate a map that hangs off AS> of the component's attribute map. Renderers would be required to AS> iterate over this map and blast out all of attributes. AS> 2. Add a new f:dataAttribute tag, eg: AS> If we prefer not to complicate <f:attribute>, we could do: AS> <h:outputText> AS> <f:dataAttribute name="andy-rocks" value="false"/> AS> </h:outputText> AS> With a similar implementation. AS> Ideally either/both of these would support EL-binding, eg: AS> <h:outputText> AS> <f:dataAttribute name="andy-rocks" value="# {bean.doesAndyRockYet} "/> AS> </h:outputText> AS> Regarding: >> If the view being rendered is not HTML5, the value of this attribute >> must be ignored. AS> I would lean towards passing these through regardless of the target AS> markup language. Although data- attributes are not strictly valid AS> pre-HTML5, simply dropping these might make life more difficult for an AS> app developer who needs to target a range of browsers (including both AS> HTML5 and pre-HTML5 browsers).
          Ed Burns made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Ed Burns made changes -
          Attachment 20120516-2342-i_spec_1089.patch [ 50095 ]
          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.
          Hide
          paul_dijou added a comment -

          I agree that having <f:attribute> is easier to read and to understand but it's have its own problem :

          • it's quite verbose
          • it's not really dynamic if you need to put condition on what you should pass to the data attribute. You would probably need a "rendered" attribute on the <f:attribute>, and it would become quite heavy.
          • why does most of attributes are in the original tag and just some of them need to use <f:attribute> ?
          • should the <f:attribute> support any attribute ?

          I'm fine with the "data" attribute and I like the current patch. However, does the current implementation support EL ?

          <h:outputText value="Test" data="{toggle: #{bean.dataToggle}, hide: #{bean.hide}}" />
          

          IMO, it should be ok to write this code.

          For the record, I was discussing the subject with RichFaces guys, here is a summary : https://issues.jboss.org/browse/RF-12177

          Show
          paul_dijou added a comment - I agree that having <f:attribute> is easier to read and to understand but it's have its own problem : it's quite verbose it's not really dynamic if you need to put condition on what you should pass to the data attribute. You would probably need a "rendered" attribute on the <f:attribute>, and it would become quite heavy. why does most of attributes are in the original tag and just some of them need to use <f:attribute> ? should the <f:attribute> support any attribute ? I'm fine with the "data" attribute and I like the current patch. However, does the current implementation support EL ? <h:outputText value= "Test" data= "{toggle: #{bean.dataToggle}, hide: #{bean.hide}}" /> IMO, it should be ok to write this code. For the record, I was discussing the subject with RichFaces guys, here is a summary : https://issues.jboss.org/browse/RF-12177
          Ed Burns made changes -
          Remaining Estimate 2 days, 14 hours, 50 minutes [ 226200 ] 2 days, 12 hours, 28 minutes [ 217680 ]
          Time Spent 9 hours, 10 minutes [ 33000 ] 11 hours, 32 minutes [ 41520 ]
          Ed Burns made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Ed Burns made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Ed Burns made changes -
          Summary Support for HTML5 data-xxx attributes Support for HTML5 passthru attributes (including data-* and accessibilit)
          Hide
          Kim Haase added a comment -

          It's important for accessibility that generated layout tables should support the role attribute, particularly role="presentation", which indicates to screen readers that the table is used for layout rather than data. If the panelGrid tag doesn't specifically support the tag, it should be allowed on a pass-through basis.

          This requirement is based on section 1194.22(a) of the 508 requirement, "A text equivalent for every non-text element shall be provided (e.g., via "alt", "longdesc", or in element content)." (See http://www.access-board.gov/sec508/guide/1194.22.htm#%28a%29.) Oracle has a number of specific requirements that implement this rule, including the rule about the role="presentation" attribute; I imagine other companies do too.

          Show
          Kim Haase added a comment - It's important for accessibility that generated layout tables should support the role attribute, particularly role="presentation", which indicates to screen readers that the table is used for layout rather than data. If the panelGrid tag doesn't specifically support the tag, it should be allowed on a pass-through basis. This requirement is based on section 1194.22(a) of the 508 requirement, "A text equivalent for every non-text element shall be provided (e.g., via "alt", "longdesc", or in element content)." (See http://www.access-board.gov/sec508/guide/1194.22.htm#%28a%29 .) Oracle has a number of specific requirements that implement this rule, including the rule about the role="presentation" attribute; I imagine other companies do too.
          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 made changes -
          Remaining Estimate 2 days, 12 hours, 28 minutes [ 217680 ] 2 days, 9 hours, 28 minutes [ 206880 ]
          Time Spent 11 hours, 32 minutes [ 41520 ] 14 hours, 32 minutes [ 52320 ]
          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 made changes -
          Remaining Estimate 2 days, 9 hours, 28 minutes [ 206880 ] 2 days, 8 hours, 28 minutes [ 203280 ]
          Time Spent 14 hours, 32 minutes [ 52320 ] 15 hours, 32 minutes [ 55920 ]
          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 made changes -
          Remaining Estimate 2 days, 8 hours, 28 minutes [ 203280 ] 2 days, 8 hours, 8 minutes [ 202080 ]
          Time Spent 15 hours, 32 minutes [ 55920 ] 15 hours, 52 minutes [ 57120 ]
          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 made changes -
          Remaining Estimate 2 days, 8 hours, 8 minutes [ 202080 ] 2 days, 7 hours, 33 minutes [ 199980 ]
          Time Spent 15 hours, 52 minutes [ 57120 ] 16 hours, 27 minutes [ 59220 ]
          Ed Burns made changes -
          Link This issue blocks JAVASERVERFACES-2449 [ JAVASERVERFACES-2449 ]
          Hide
          Ed Burns added a comment -

          Simple implementation in place. Please see JAVASERVERFACES-2449 for complete test coverage.

          Show
          Ed Burns added a comment - Simple implementation in place. Please see JAVASERVERFACES-2449 for complete test coverage.
          Ed Burns made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          Ed Burns added a comment -

          I can't get this to stay closed. People keep coming up with new features.

          Show
          Ed Burns added a comment - I can't get this to stay closed. People keep coming up with new features.
          Ed Burns made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Ed Burns logged work - 25/Jun/12 7:55 PM
          • Time Spent:
            1 hour, 41 minutes
             
            checkpoint.
          Ed Burns made changes -
          Remaining Estimate 2 days, 7 hours, 33 minutes [ 199980 ] 2 days, 5 hours, 52 minutes [ 193920 ]
          Time Spent 16 hours, 27 minutes [ 59220 ] 18 hours, 8 minutes [ 65280 ]
          Ed Burns made changes -
          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 made changes -
          Remaining Estimate 2 days, 5 hours, 52 minutes [ 193920 ] 2 days, 3 hours, 7 minutes [ 184020 ]
          Time Spent 18 hours, 8 minutes [ 65280 ] 20 hours, 53 minutes [ 75180 ]
          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 made changes -
          Remaining Estimate 2 days, 3 hours, 7 minutes [ 184020 ] 2 days, 1 hour, 28 minutes [ 178080 ]
          Time Spent 20 hours, 53 minutes [ 75180 ] 22 hours, 32 minutes [ 81120 ]
          Hide
          Ed Burns added a comment -

          Let's see if it stays closed now!

          Show
          Ed Burns added a comment - Let's see if it stays closed now!
          Ed Burns made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          Ed Burns added a comment -

          Additional work required for f:selectItem and f:selectItems

          Show
          Ed Burns added a comment - Additional work required for f:selectItem and f:selectItems
          Ed Burns made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Ed Burns made changes -
          Attachment 20120716-1550-i_spec_1089.patch [ 50598 ]
          Hide
          Ed Burns added a comment -

          snapshot

          Show
          Ed Burns added a comment - snapshot
          Ed Burns made changes -
          Attachment 20120717-0052-i_spec_1089.patch [ 50600 ]
          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.
          Ed Burns made changes -
          Remaining Estimate 2 days, 1 hour, 28 minutes [ 178080 ] 1 day, 16 hours, 45 minutes [ 146700 ]
          Time Spent 22 hours, 32 minutes [ 81120 ] 1 day, 7 hours, 15 minutes [ 112500 ]
          Hide
          Ed Burns added a comment -

          Revision 10288 seems to have the required fixes for f:selectItem and f:selectItems.

          Show
          Ed Burns added a comment - Revision 10288 seems to have the required fixes for f:selectItem and f:selectItems.
          Ed Burns made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          Manfred Riem added a comment -

          Closing resolved issue out

          Show
          Manfred Riem added a comment - Closing resolved issue out
          Manfred Riem made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            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