| Summary: | Incomplete TagData for custom tags in tag attribute regions | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [WebTools] WTP Source Editing | Reporter: | Nick Sandonato <nsand.dev> | ||||||
| Component: | jst.jsp | Assignee: | Nick Sandonato <nsand.dev> | ||||||
| Status: | RESOLVED FIXED | QA Contact: | Nick Sandonato <nsand.dev> | ||||||
| Severity: | normal | ||||||||
| Priority: | P2 | CC: | cbridgha, david_williams, thatnitind | ||||||
| Version: | 3.2.4 | Flags: | david_williams:
pmc_approved+
nsand.dev: pmc_approved? (raghunathan.srinivasan) nsand.dev: pmc_approved? (naci.dai) nsand.dev: pmc_approved? (deboer) nsand.dev: pmc_approved? (neil.hauge) nsand.dev: pmc_approved? (kaloyan) cbridgha: pmc_approved+ thatnitind: review+ |
||||||
| Target Milestone: | 3.2.4 | ||||||||
| Hardware: | All | ||||||||
| OS: | All | ||||||||
| Whiteboard: | PMC_approved | ||||||||
| Attachments: |
|
||||||||
Created attachment 194020 [details]
patch
Created attachment 194021 [details]
unit tests
Adding a unit test for this scenario
* Explain why you believe this is a stop-ship defect. Or, if it is a "hotbug" (requested by an adopter) please document it as such. Valid usage of custom tags is flagged with an extremely confusing error: isValid() == false. This error message is the default provided by the implementation of TagExtraInfo classes. * Is there a work-around? If so, why do you believe the work-around is insufficient? Use validation severities to configure TEI Validation Message severity to Ignore. This is insufficient because the default message is "isValid() == false". Unless someone was familiar with the implementation of TagExtraInfo, he/she might not realize that this is generated by the TagExtraInfo#validate(). WIthout knowing that, it wouldn't be easy to figure out that this validation setting controls that message. * How has the fix been tested? Is there a test case attached to the bugzilla record? Has a JUnit Test been added? Existing unit tests run along with a new unit test being added. Also, ad hoc testing has been done. * Give a brief technical overview. Who has reviewed this fix? Recently, our translation of embedded custom tags improved. This brought to light a problem in how we extracted attributes from these embedded custom tags for TagData to be used in TEI Validation. To correct the problem, we now appropriately find all of the dynamic content of attribute values for embedded custom tags so that we appropriately populate the TagData. Nitin reviewed the fix. * What is the risk associated with this fix? Low Should we respin our build this week to pick up this fix? I'm hoping this is our final build, except for serious regressions ... if this had to go in next week, I'm not sure there's sufficient time for adequate testing. (In reply to comment #4) > Should we respin our build this week to pick up this fix? I'm hoping this is > our final build, except for serious regressions ... if this had to go in next > week, I'm not sure there's sufficient time for adequate testing. Respin requested on wtp-releng. |
When creating custom tags, TagData is collected from the attributes to be used in TEI validation. For custom tags within attribute value regions, however, this collection can fail. For example, <div <c:forEach items="${ myList }">class="foo"</c:forEach>></div> At the moment, the dynamic content within the value of items causes the collection to be incomplete. The dynamic content is skipped over because it is not seen as a value for the attribute. Without a value, the item isn't added to the TagData mapping. The TagExtraInfo class for c:forEach validates the presence of items. When it is not found, a Problem is generated that reports, fairly generically, "isValid() == false" (this is the default message). Meanwhile, the markup is actually correct.