ibatis-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brandon Goodin <brandon.goo...@gmail.com>
Subject Re: [jira] Commented: (IBATIS-131) Fix use of list[]-notation in propertyattributes of dynamic tags
Date Sat, 06 Aug 2005 18:26:25 GMT
I'll check in to this and post my findings here. I am only partially
online right now (using my neighbor's wireless bandwidth... with
permission :p). But, I will post my findings and a solution. Then one
of you guys can commit it.

Brandon

On 8/4/05, Niels Beekman (JIRA) <ibatis-dev@incubator.apache.org> wrote:
>     [ http://issues.apache.org/jira/browse/IBATIS-131?page=comments#action_12317664 ]
> 
> Niels Beekman commented on IBATIS-131:
> --------------------------------------
> 
> I also believe it is still broken, I checked the JUnit-tests but none of them is using
a property containing []-syntax. If you use my example or just extend the JUnit-test you'll
notice the failure. I adapted the statement 'dynamicIterate' in DynamicAccount.xml which is
called from IterateTest.java:
> 
>   <select id="dynamicIterateInConditional"
>     parameterClass="list"
>     resultClass="testdomain.Account">
>     select
>       ACC_ID          as id,
>       ACC_FIRST_NAME  as firstName,
>       ACC_LAST_NAME   as lastName,
>       ACC_EMAIL       as emailAddress
>     from ACCOUNT
>     WHERE ACC_ID IN
>     <iterate open="(" close=")" conjunction=",">
>         <isEqual property="[]" compareValue="1">
>             #[]#
>         </isEqual>
>     </iterate>
>   </select>
> 
>   public void testIterateInConditional() throws SQLException {
>     List params = Arrays.asList(new Integer[]{new Integer(1), new Integer(2), new Integer(3)});
>     List list = sqlMap.queryForList("dynamicIterateInConditional", params);
>     assertEquals(1, list.size());
>     assertAccount1((Account) list.get(0));
>   }
> 
> This query should produce Account1, instead it crashes.
> 
> > Fix use of list[]-notation in propertyattributes of dynamic tags
> > ----------------------------------------------------------------
> >
> >          Key: IBATIS-131
> >          URL: http://issues.apache.org/jira/browse/IBATIS-131
> >      Project: iBatis for Java
> >         Type: Bug
> >   Components: SQL Maps
> >  Environment: All are affected.
> >     Reporter: Niels Beekman
> >     Assignee: Brandon Goodin
> >      Fix For: 2.1.5
> 
> >
> > When using an iterate-tag to loop a list, one cannot point to the current element
in attributes of inner tags, for example, the following fails:
> > <iterate property="myList">
> >   <isEqual property="myList[].someProperty" compareValue="true">
> >     $myList[].anotherProperty$
> >   </isEqual>
> > </iterate>
> > iBATIS tries to index the property myList with an empty string, but it should use
the current element (the []-notation works fine within inner tags), when an index is supplied
it works just fine...
> 
> --
> 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
> 
>

Mime
View raw message