You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pivot.apache.org by "Roger Whitcomb (JIRA)" <ji...@apache.org> on 2016/04/22 17:39:12 UTC
[jira] [Created] (PIVOT-987) Different handling of script return
values in BXMLSerializer
Roger Whitcomb created PIVOT-987:
------------------------------------
Summary: 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
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)