Uploaded image for project: 'Fluid Infusion'
  1. Fluid Infusion
  2. FLUID-4986

Allow use of standard IoC-contextualised EL references from within a renderer component's "protoTree"

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.4
    • Fix Version/s: 1.5
    • Component/s: IoC System, Renderer
    • Labels:
      None

      Description

      A long-standing grievance against the already awkward "protoComponent" system operated by the renderer expander is that it uses a completely different context system for resolving special strings which appear to be of the same form as the now standard IoC context references that we use elsewhere in configuration. When this system was designed, there was no IoC system and the implementations for resolution diverged somewhat, although sharing some of the same infrastructure.
      In the improved post-FLUID-4330 framework there should now be enough capability in the system to resolve this inconsistency and have any protoComponent references which appear to be contextualised to also bind onto IoC components. There has been a long-standing test in RendererUtilitiesTests.js which appeared to promise this capability but recently has acquired a comment explaining that this was never adequately possible, and the test was only there for illustrative purposes - it should now be possible to convert this to a genuine test - currently its protoTree reads as follows:

                  protoTree: {
                      decorated: {
                          decorators: {
                              type: "fluid",
                              func: "fluid.tests.rendererChild",
                              options: { decoratorValue: "decoratorValue" 
                              // "{rendererParent}.options.parentValue" - this type of reference can no longer be supported at all - 
                              // since FLUID-4129 was resolved, we can no longer fake out the grade resolution system and avoid the
                              // mergePolicy of "noexpand" applied to all protoTree material
                              }
                          }
      

      Discussion on this requirement was at http://wiki.fluidproject.org/display/fluid/fluid-tech+IRC+Logs-2013-04-24 originally in the context of implementing an improvement to the obscure "envAdd" system which allowed a component's styles (only) to be specially resolvable from the protoTreee.

        Attachments

          Activity

            People

            Assignee:
            yura Yura Zenevich
            Reporter:
            antranig Antranig Basman
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: