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] [Commented] (PIVOT-987) Different handling of script return values in BXMLSerializer
Date Fri, 22 Apr 2016 17:23:12 GMT

    [ https://issues.apache.org/jira/browse/PIVOT-987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15254257#comment-15254257
] 

Roger Whitcomb commented on PIVOT-987:
--------------------------------------

Per separate email from Josh that these changes are what he would expect, I have committed
the change to "trunk":
Sending        core/src/org/apache/pivot/beans/BXMLSerializer.java
Transmitting file data .
Committed revision 1740570.

Merged also into "branches/2.0.x":
Sending        .
Sending        core/src/org/apache/pivot/beans/BXMLSerializer.java
Transmitting file data .
Committed revision 1740574.

(Note: this also includes the earlier change in "trunk" to return Boolean.FALSE instead of
"false" in the boolean return value case).

So, Josh, can you pull the 2.0.x branch and rebuild and test in your application?  I don't
have a test case in front of me, but I believe this should resolve your issue.  But if not,
can you let us know?!

Thanks.

> 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