You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by "Julie Zhuo (JIRA)" <de...@beehive.apache.org> on 2006/02/01 22:33:04 UTC
[jira] Closed: (BEEHIVE-964) callPageFlow and callMethod tags don't
handle arrays correctly
[ 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