You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Igor Drobiazko (JIRA)" <ji...@apache.org> on 2010/04/29 22:18:59 UTC

[jira] Updated: (TAP5-1112) Handle array types in property expressions

     [ https://issues.apache.org/jira/browse/TAP5-1112?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Igor Drobiazko updated TAP5-1112:
---------------------------------

    Issue Type: Improvement  (was: Bug)

> Handle array types in property expressions
> ------------------------------------------
>
>                 Key: TAP5-1112
>                 URL: https://issues.apache.org/jira/browse/TAP5-1112
>             Project: Tapestry 5
>          Issue Type: Improvement
>          Components: tapestry-core
>    Affects Versions: 5.1.0.5
>            Reporter: Adam
>            Assignee: Igor Drobiazko
>
> Passing an array as an argument currently does not work. I saw a TODO in PropertyConduitSourceImpl.java regarding this and made a patch.
> public class Test
> {
>   public String[] getArray()
>   {
>     return new String[4];
>   }
>   public String useArray(String[] array)
>   {
>     return "test";
>   }
> }
> <html 
>       xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"
>       xmlns:p="tapestry:parameter">
>     <p>${useArray(array)}</p>
> </html>
> diff -r tapestry5/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImpl.java tapestry5-mod/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImpl.java
> 914,915c914,920
> <             // TODO: handle arrays types
> <             return InternalUtils.lastTerm(type.getName());
> ---
> >             if (type.isArray())
> >             {
> >               Class<?> baseType = type.getComponentType();
> >               while (baseType.isArray()) baseType = baseType.getComponentType();
> >               return InternalUtils.lastTerm(baseType.getName());
> >             }
> >             else return InternalUtils.lastTerm(type.getName());

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.