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)