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