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

Reply via email to