pivot-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Roger Whitcomb (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (PIVOT-987) Different handling of script return values in BXMLSerializer
Date Fri, 12 Aug 2016 21:10:21 GMT

     [ https://issues.apache.org/jira/browse/PIVOT-987?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Roger Whitcomb closed PIVOT-987.
--------------------------------
    Resolution: Fixed

I'm going to close the issue, assuming that everything is okay.

Feel free to reopen if there are further problems.

> Different handling of script return values in BXMLSerializer
> ------------------------------------------------------------
>
>                 Key: PIVOT-987
>                 URL: https://issues.apache.org/jira/browse/PIVOT-987
>             Project: Pivot
>          Issue Type: Bug
>          Components: core-serialization
>    Affects Versions: 2.0.4
>         Environment: All
>            Reporter: Josh Highley
>            Assignee: Roger Whitcomb
>            Priority: Minor
>             Fix For: 2.1, 2.0.5
>
>         Attachments: 987.patch
>
>
> 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;



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message