Use of $[ ]$ in an iterate tag that takes a java.util.List results in an error
------------------------------------------------------------------------------

         Key: IBATIS-112
         URL: http://issues.apache.org/jira/browse/IBATIS-112
     Project: iBatis for Java
        Type: Bug
    Versions: 2.0.9b    
 Environment: Unix SunOS 5.8, Oracel 9.2.0.4 / 8.1.7.4
    Reporter: Sam Abeyratne
    Priority: Blocker


Hi,

I am getting an error when trying to use the $[]$ syntax in an iterate tag that 
is being used to pass a java.util.List containing a list of database names. 
Since the query needs database names, they need to be passed as literal values.

The error I am getting: There is no READABLE property named '' in class 
'java.util.ArrayList'

Would you know of a time frame this may get fixed in? I would like to some how 
stick with ibatis.

Thanks again for all your help!!

The sqlMap I am using: The list contains sids: database1, datbase2, database3, 
etc.


        <select id="queryInterfaceBacklogs_DUAL" 
parameterClass="java.util.List" resultMap="interface_backlog_result" 
cacheModel="interface_backlog_cache">
      select
      interface_name as SYSTEM_NAME,
      sum(backlog_val) as BACKLOG_VAL,
      sum(backlog_last1) as BACKLOG_LAST1,
      sum(backlog_last2) as BACKLOG_LAST2,
      sum(backlog_last3) as BACKLOG_LAST3
      from
      (
      <iterate open="(" close=")" conjunction="UNION ALL">
        select
        a.interface_name,
        sum(decode(i.BACKLOG_VAL,'',0,i.BACKLOG_VAL)) as BACKLOG_VAL,
        sum(decode(i.BACKLOG_LAST1,'',0,i.BACKLOG_LAST1)) as BACKLOG_LAST1,
        sum(decode(i.BACKLOG_LAST2,'',0,i.BACKLOG_LAST2)) as BACKLOG_LAST2,
        sum(decode(i.BACKLOG_LAST3,'',0,i.BACKLOG_LAST3)) as BACKLOG_LAST3
        from INTERFACE_STATUS i,
          ( select distinct interface_name
          from [EMAIL PROTECTED]
          where category='Provisioning'
          )a
        where SYSTEM_NAME is not null
        and a.interface_name = i.system_name
        group by a.interface_name
        </iterate>
      )
      group by interface_name
  </select>

CacheModel and ResultMap:

        <cacheModel id="interface_backlog_cache" type="MEMORY">
                <flushInterval minutes="1"/>
                <flushOnExecute statement="queryInterfaceTimeline"/>
                <property name="reference-type" value="WEAK"/>
        </cacheModel>
        <resultMap id="interface_backlog_result" class="pmt.InterfaceBacklog">
                <result property="systemName" column="system_name"/>
                <result property="currentBacklog" column="backlog_val"/>
                <result property="t1Backlog" column="backlog_last1"/>
                <result property="t2Backlog" column="backlog_last2"/>
                <result property="t3Backlog" column="backlog_last3"/>
        </resultMap>


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

Reply via email to