• Icon: Bug Report Bug Report
    • Resolution: Won't Fix
    • Icon: L3 - Default L3 - Default
    • None
    • None
    • engine, spin

      The current EL implementation does not consider the method parameter types and selects functions based on the number of method paramters. This leds to the problem that Spin can not use method overloading with the same number of parameters.

      Decide whether this can be fixed in the engine or all Spin methods names has to be unique considering the number of parameters.

        This is the controller panel for Smart Panels app

            [CAM-2529] EL Spin method matching

            Related Issue for JUEL:
            https://github.com/beckchr/juel/issues/72

            BeanELResolver#invoke [1] can be provided with an array of Class objects that are the parameter types of the method to invoke. However, methods must match these types exactly.

            [1] http://docs.oracle.com/javaee/6/api/javax/el/BeanELResolver.html#invoke%28javax.el.ELContext,%20java.lang.Object,%20java.lang.Object,%20java.lang.Class[],%20java.lang.Object[]%29

            Thorben Lindhauer added a comment - Related Issue for JUEL: https://github.com/beckchr/juel/issues/72 BeanELResolver#invoke [1] can be provided with an array of Class objects that are the parameter types of the method to invoke. However, methods must match these types exactly. [1] http://docs.oracle.com/javaee/6/api/javax/el/BeanELResolver.html#invoke%28javax.el.ELContext,%20java.lang.Object,%20java.lang.Object,%20java.lang.Class[],%20java.lang.Object[]%29

            Following methods can currently not be used in EL:

            • Spin.mapTo(String)
            • Spin.mapTo(Class)
            • SpinJsonNode.prop(String, XXX)
            • SpinXmlTreeElement.append(Collection)
            • SpinXmlTreeElement.append(SpinXmlTreeElement...)
            • SpinXmlTreeElement.remove(Collection)
            • SpinXmlTreeElement.remove(SpinXmlTreeElement...)

            We won't fix this for the moment because this are mainly modifying methods which will likely not be used
            in EL and can be replaced by simple javascript evaluation if needed.

            Sebastian Menski added a comment - Following methods can currently not be used in EL: Spin.mapTo(String) Spin.mapTo(Class) SpinJsonNode.prop(String, XXX) SpinXmlTreeElement.append(Collection) SpinXmlTreeElement.append(SpinXmlTreeElement...) SpinXmlTreeElement.remove(Collection) SpinXmlTreeElement.remove(SpinXmlTreeElement...) We won't fix this for the moment because this are mainly modifying methods which will likely not be used in EL and can be replaced by simple javascript evaluation if needed.

              sebastian.menski Sebastian Menski
              sebastian.menski Sebastian Menski
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: