ICEfaces
  1. ICEfaces
  2. ICE-9358

Automatic testing for Renderers with writable instance fields

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.3
    • Fix Version/s: EE-3.3.0.GA, 4.0.BETA, 4.0
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      All

      Description

      To ensure a complete resolution to ICE-9348 and ICE-9357, and remove the risk of future regressions, we will create automatic testing, during Development ProjectStage, of any Renderer being registered with our DOMRenderKit, that uses any field that is not static final. There is no easy way to test for fields being written to in a thread unsafe fashion, so we will use this method instead. A warning log message will be made at application deployment time if any are found.

        Activity

        Hide
        Mark Collette added a comment - - edited

        Testing with Mojarra showed that many com.sun Renderer classes use read-only non-static non-final fields, and so are technically alright, but fail this test, so the test specifically excludes classes whose package starts with "com.sun". MyFaces testing did not show a similar pattern.

        icefaces3 trunk
        Subversion 36237

        icefaces EE 3.3 branch tag
        Subversion 36239

        Show
        Mark Collette added a comment - - edited Testing with Mojarra showed that many com.sun Renderer classes use read-only non-static non-final fields, and so are technically alright, but fail this test, so the test specifically excludes classes whose package starts with "com.sun". MyFaces testing did not show a similar pattern. icefaces3 trunk Subversion 36237 icefaces EE 3.3 branch tag Subversion 36239

          People

          • Assignee:
            Mark Collette
            Reporter:
            Mark Collette
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: