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"



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


      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.




            yura Yura Zenevich
            antranig Antranig Basman
            0 Vote for this issue
            2 Start watching this issue