You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ibatis.apache.org by "Brandon Goodin (JIRA)" <ib...@incubator.apache.org> on 2005/04/18 11:11:03 UTC

[jira] Resolved: (IBATIS-42) ProbeException when iterate tag contains dynamic tags

     [ http://issues.apache.org/jira/browse/IBATIS-42?page=all ]
     
Brandon Goodin resolved IBATIS-42:
----------------------------------

     Resolution: Fixed
    Fix Version: 2.1.0

added ability to nest dynamic tags in iterate. added 1 sqlmap test that succeeds.

> ProbeException when iterate tag contains dynamic tags
> -----------------------------------------------------
>
>          Key: IBATIS-42
>          URL: http://issues.apache.org/jira/browse/IBATIS-42
>      Project: iBatis for Java
>         Type: Bug
>   Components: SQL Maps
>     Versions: 2.1.0
>  Environment: JDK 1.4.2_06
> Windows 2000 SP4
>     Reporter: Jerome Jacobsen
>     Assignee: Brandon Goodin
>      Fix For: 2.1.0
>  Attachments: DynamicAccount.xml, IterateTest.java, IterateTest_JUnit.out
>
> When upgrading my project from SqlMaps 1.3.1 to 2.0.9 I encountered this bug.  I modified the IterateTest JUnit test to reproduce it there.
> I've added this to DynamicAccount.xml:
>   <select id="dynamicQueryByExample2"
>     parameterClass="testdomain.Account"
>     resultClass="testdomain.Account">
>     select
>       ACC_ID          as id,
>       ACC_FIRST_NAME  as firstName,
>       ACC_LAST_NAME   as lastName,
>       ACC_EMAIL       as emailAddress
>     from ACCOUNT
>     <dynamic prepend="WHERE">
>       <isNotNull prepend="AND" property="ids">
>         <iterate property="ids" conjunction="OR">
>          <isNotNull property="ids">
>            ACC_ID = #ids[]#
>          </isNotNull>
>         </iterate>
>       </isNotNull>
>     </dynamic>
>   </select>
> And I've added this test in IterateTest.java:
>   public void testArrayPropertyIterate2() throws SQLException {
>     Account account = new Account();
>     account.setIds(new int[]{1, 2, 3});
>     List list = sqlMap.queryForList("dynamicQueryByExample2", account);
>     assertAccount1((Account) list.get(0));
>     assertEquals(3, list.size());
>   }

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