[ 
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)

Reply via email to