ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Larry Meadors" <lmead...@apache.org>
Subject Re: "There is no READABLE property named 'condition' in class 'java.util.ArrayList'".
Date Sun, 01 Jul 2007 16:13:09 GMT
The message is correct:

 - There is no READABLE property named 'condition' in class
'java.util.ArrayList'

You are referring to "$andedCrits.condition$", and andedCrits is an
ArrayList without that property.

Larry


On 7/1/07, Jonathan Prater <jonathan.prater@gmail.com> wrote:
>
>  I have written a class called BookExample to run a search against a HSQLDB
> database.  The source for this class is attached.  BookExample also refers
> to a class called BCriteria, which has a variable called "condition".  I've
> provided a getter and setter for that variable.  And yet, when I try to run
> a search using that class, I get an exception message saying "There is no
> READABLE property named 'condition' in class 'java.util.ArrayList'".  I've
> attached the SQLMap file that refers to this class.  Here's the stack trace
> I get when I try to run my search...
>  com.ibatis.common.jdbc.exception.NestedSQLException:
>  --- The error occurred in
> com/jpprater/libutils/persist/PUBLIC_BKCATALOG_SqlMap.xml.
>  --- The error occurred while preparing the mapped statement for execution.
>  --- Check the book_selectByExample.
>  --- Check the parameter map.
>  --- Cause: com.ibatis.common.beans.ProbeException: There
> is no READABLE property named 'condition' in class 'java.util.ArrayList'
>          at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:188)
>          at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForList(GeneralStatement.java:123)
>          at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:615)
>          at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:589)
>          at
> com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
>          at
> com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:95)
>          at
> com.jpprater.libutils.Library.search(Library.java:48)
>          at
> com.jpprater.libmgr.LibMgrMainFrame.btnSrchAdvActionPerformed(LibMgrMainFrame.java:204)
>          at
> com.jpprater.libmgr.LibMgrMainFrame.access$300(LibMgrMainFrame.java:24)
>          at
> com.jpprater.libmgr.LibMgrMainFrame$4.actionPerformed(LibMgrMainFrame.java:97)
>          at
> javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
>          at
> javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
>          at
> javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
>          at
> javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
>          at
> javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
>          at
> java.awt.Component.processMouseEvent(Component.java:6038)
>          at
> javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
>          at java.awt.Component.processEvent(Component.java:5803)
>          at java.awt.Container.processEvent(Container.java:2058)
>          at
> java.awt.Component.dispatchEventImpl(Component.java:4410)
>          at
> java.awt.Container.dispatchEventImpl(Container.java:2116)
>          at
> java.awt.Component.dispatchEvent(Component.java:4240)
>          at
> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
>          at
> java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
>          at
> java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
>          at
> java.awt.Container.dispatchEventImpl(Container.java:2102)
>          at
> java.awt.Window.dispatchEventImpl(Window.java:2429)
>          at
> java.awt.Component.dispatchEvent(Component.java:4240)
>          at
> java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
>          at
> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
>          at
> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
>          at
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
>          at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
>          at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
>          at
> java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
>  Caused by: com.ibatis.common.beans.ProbeException: There
> is no READABLE property named 'condition' in class 'java.util.ArrayList'
>          at
> com.ibatis.common.beans.ClassInfo.getGetter(ClassInfo.java:259)
>          at
> com.ibatis.common.beans.ComplexBeanProbe.getProperty(ComplexBeanProbe.java:304)
>          at
> com.ibatis.common.beans.ComplexBeanProbe.getObject(ComplexBeanProbe.java:190)
>          at
> com.ibatis.common.beans.GenericProbe.getObject(GenericProbe.java:74)
>          at
> com.ibatis.sqlmap.engine.mapping.sql.simple.SimpleDynamicSql.processDynamicElements(SimpleDynamicSql.java:83)
>          at
> com.ibatis.sqlmap.engine.mapping.sql.simple.SimpleDynamicSql.getSql(SimpleDynamicSql.java:45)
>          at
> com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.process(DynamicSql.java:90)
>          at
> com.ibatis.sqlmap.engine.mapping.sql.dynamic.DynamicSql.getParameterMap(DynamicSql.java:61)
>          at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:156)
>          ... 34 more
>
>  Anyone have any ideas?
>
>  Jon
> package com.jpprater.libutils.persist;
>
> import java.util.List;
>
>
> public final class BCriteria {
>
>     private String field;
>     private String condition;
>     private String svalue = null;
>     private Integer ivalue1 = null;
>     private Integer ivalue2 = null;
>     private List<String> lvalues = null;
>     public BCriteria() {
>
>     }
>
>     public String getField() {
>         return field;
>     }
>
>     public void setField(String field) {
>         this.field = field;
>     }
>
>     public String getCondition() {
>         return condition;
>     }
>
>     public void setCondition(String condition) {
>         this.condition = condition;
>     }
>
>     public String getSvalue() {
>         return svalue;
>     }
>
>     public void setSvalue(String svalue) {
>         this.svalue = svalue;
>     }
>
>     public Integer getIvalue1() {
>         return ivalue1;
>     }
>
>     public void setIvalue1(Integer ivalue1) {
>         this.ivalue1 = ivalue1;
>     }
>
>     public Integer getIvalue2() {
>         return ivalue2;
>     }
>
>     public void setIvalue2(Integer ivalue2) {
>         this.ivalue2 = ivalue2;
>     }
>
>     public List<String> getLvalues() {
>         return lvalues;
>     }
>
>     public void setLvalues(List<String> lvalues) {
>         this.lvalues = lvalues;
>     }
>
> }
> /*
>  * BookExample.java
>  *
>  * Created on June 24, 2007, 10:26 PM
>  *
>  * Used to generate SQL searches in iBATIS
>  */
>
> package com.jpprater.libutils.persist;
>
> import java.util.ArrayList;
> import java.util.List;
>
> /**
>  *
>  * @author Jonathan.Prater
>  */
> public class BookExample {
>
>     private List<BCriteria> andedCrits;
>     private String orderBy;
>     private boolean loaned;
>
>     /** Creates a new instance of BookExample */
>     public BookExample() {
>         andedCrits = new ArrayList<BCriteria>();
>     }
>
>     public void addString(String field, String condition, String value) {
>         BCriteria toAdd = new BCriteria();
>         toAdd.setField(field);
>         toAdd.setCondition(condition);
>         toAdd.setSvalue(value);
>         andedCrits.add(toAdd);
>     }
>
>     public void addInt(String field, String condition, Integer val1, Integer
> val2) {
>         BCriteria toAdd = new BCriteria();
>         toAdd.setField(field);
>         toAdd.setCondition(condition);
>         toAdd.setIvalue1(val1);
>         toAdd.setIvalue2(val2);
>         andedCrits.add(toAdd);
>     }
>
>     public void addList(String field, String condition, List<String> values)
> {
>         BCriteria toAdd = new BCriteria();
>         toAdd.setField(field);
>         toAdd.setCondition(condition);
>         toAdd.setLvalues(values);
>         andedCrits.add(toAdd);
>     }
>
>     public List<BCriteria> getAndedCrits() {
>         return andedCrits;
>     }
>
>     public void setAndedCrits(List<BCriteria> andedCrits) {
>         this.andedCrits = andedCrits;
>     }
>
>     public String getOrderBy() {
>         return orderBy;
>     }
>
>     public void setOrderBy(String orderBy) {
>         this.orderBy = orderBy;
>     }
>
>     public boolean isLoaned() {
>         return loaned;
>     }
>
>     public void setLoaned(boolean loaned) {
>         this.loaned = loaned;
>     }
>
>
> }
>
>
>

Mime
View raw message