Uploaded image for project: 'Pivot'
  1. Pivot
  2. PIVOT-987

Different handling of script return values in BXMLSerializer

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.0.4
    • Fix Version/s: 2.1, 2.0.5
    • Component/s: core-serialization
    • Labels:
      None
    • Environment:
      All

      Description

      In my bxml, I defined a TextInputContentListener method for previewInsertText in script. The method was getting invoked, but my returned Vote seemed to get ignored. Stepping through the code, I found that BXMLSerializer never assigns the result variable and ignores the returned value when the method is specified as an attribute but not when it's a child element. Is there a reason for this, or is this a bug?

      I'm using 2.0.4, but the same code is in trunk

      BXMLSerializer:

      inner class AttributeInvocationHandler, method invoke(Object proxy, Method method, Object[] args)
      ....
      // If the function didn't return a value, return the default
      Class<?> returnType = method.getReturnType();
      if (returnType == Vote.class)

      { result = Vote.APPROVE; }

      else if (returnType == Boolean.TYPE)

      { result = false; }

      return result;

      inner class ElementInvocationHandler, method invoke(Object proxy, Method method, Object[] args)
      .....
      // If the function didn't return a value, return the default
      if (result == null) {
      Class<?> returnType = method.getReturnType();
      if (returnType == Vote.class)

      { result = Vote.APPROVE; }

      else if (returnType == Boolean.TYPE)

      { result = false; }

      }

      return result;

        Attachments

        1. 987.patch
          1 kB
          Roger Whitcomb

          Activity

            People

            • Assignee:
              rwhitcomb Roger Whitcomb
              Reporter:
              joshhighley Josh Highley
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: