[ http://issues.apache.org/jira/browse/BEEHIVE-964?page=all ] Julie Zhuo closed BEEHIVE-964: ------------------------------
Verified with rev374070. It is working now as expected. Here is the output now, ----- HMMMM!!!! ----- Array Works!!!! ----- List Works!!!! > callPageFlow and callMethod tags don't handle arrays correctly > -------------------------------------------------------------- > > Key: BEEHIVE-964 > URL: http://issues.apache.org/jira/browse/BEEHIVE-964 > Project: Beehive > Type: Bug > Components: NetUI > Versions: V1 > Reporter: Eddie O'Neil > Assignee: Julie Zhuo > Fix For: 1.0.1 > > This was sent to me privately -- the NetUI callPageFlow (and all call method > tags) don't handle Java primitive / object arrays correctly. The problem is > that the String type name that the user specifies looks like: > java.lang.String[][] > but this is compared against the Java Class type name: > [[Ljava.lang.String; > and clearly, these two aren't equal. Fix is to reformat the latter into the > former and the do the String compare. > Repro: > index.jsp > <% > String[] includedProperties = {"TITLE", "DESCRIPTION", "LINK_URL"}; > pageContext.setAttribute("includedProperties", includedProperties); > pageContext.setAttribute("includedPropertiesList", > Arrays.asList(includedProperties)); > %> > <netui-data:callPageFlow method="thisIsATest" resultId="test1"> > <netui-data:methodParameter type="java.lang.String" value="HMMMM"/> > </netui-data:callPageFlow> > <c:out value="${test1}"/><br/> > <netui-data:callPageFlow method="thisIsAnotherTest" resultId="test2"> > <netui-data:methodParameter type="java.lang.String[]" > value="${includedProperties}"/> > </netui-data:callPageFlow> > <c:out value="${test2}"/><br/> > <netui-data:callPageFlow method="thisIsAListTest" resultId="test3"> > <netui-data:methodParameter type="java.util.List" > value="${includedPropertiesList}"/> > </netui-data:callPageFlow> > <c:out value="${test3}"/><br/> > Controller.jpf > public String thisIsATest(String test) > { > return test+"!!!!"; > } > public String thisIsAnotherTest(String[] test) > { > return "Array Works!!!!"; > } > public String thisIsAListTest(List test) > { > return "List Works!!!!"; > } > Final Output > HMMMM!!!! > Tag Error:1, Found in tag CallPageFlow] > List Works!!!! > Page Errors > Error Number Tag Type Error > 1 CallPageFlow Message Could not find operation "thisIsAnotherTest" with 1 > parameter(s) of type(s) (java.lang.String[]) on the current page flow. > The same thing happens with the 'callMethod' tag, -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
