Author: cbegin Date: Tue Jul 15 23:46:39 2008 New Revision: 677173 URL: http://svn.apache.org/viewvc?rev=677173&view=rev Log: iBATIS 511
Added: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/common/beans/ComplexBeanProbeTest.java Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ComplexBeanProbe.java Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ComplexBeanProbe.java URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ComplexBeanProbe.java?rev=677173&r1=677172&r2=677173&view=diff ============================================================================== --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ComplexBeanProbe.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ComplexBeanProbe.java Tue Jul 15 23:46:39 2008 @@ -15,12 +15,11 @@ */ package com.ibatis.common.beans; -import com.ibatis.sqlmap.engine.mapping.result.ResultObjectFactoryUtil; - -import java.lang.reflect.Method; import java.util.Map; import java.util.StringTokenizer; +import com.ibatis.sqlmap.engine.mapping.result.ResultObjectFactoryUtil; + /** * StaticBeanProbe provides methods that allow simple, reflective access to * JavaBeans style properties. Methods are provided for all simple types as @@ -364,9 +363,9 @@ throw e; } catch (Throwable t) { if (object == null) { - throw new ProbeException("Could not set property '" + name + "' for null reference. Cause: " + t.toString(), t); + throw new ProbeException("Could not set property '" + name + "' to value '"+value+"' for null reference. Cause: " + t.toString(), t); } else { - throw new ProbeException("Could not set property '" + name + "' for " + object.getClass().getName() + ". Cause: " + t.toString(), t); + throw new ProbeException("Could not set property '" + name + "' to value '"+value+"' for " + object.getClass().getName() + ". Cause: " + t.toString(), t); } } } Added: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/common/beans/ComplexBeanProbeTest.java URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/common/beans/ComplexBeanProbeTest.java?rev=677173&view=auto ============================================================================== --- ibatis/trunk/java/mapper/mapper2/test/com/ibatis/common/beans/ComplexBeanProbeTest.java (added) +++ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/common/beans/ComplexBeanProbeTest.java Tue Jul 15 23:46:39 2008 @@ -0,0 +1,41 @@ +package com.ibatis.common.beans; + +import junit.framework.TestCase; + +public class ComplexBeanProbeTest extends TestCase { + + public void testSetObject() { + Test myTest = new Test(); + Probe probe = ProbeFactory.getProbe(myTest); + probe.setObject(myTest, "myInt", Integer.valueOf(1)); + assertEquals(1, myTest.getMyInt()); + probe.setObject(myTest, "myInt", Integer.valueOf(2)); + assertEquals(2, myTest.getMyInt()); + try { + probe.setObject(myTest, "myInt", null); + fail(); + } catch (RuntimeException e) { + assertTrue(e.getMessage().contains("'myInt' to value 'null'")); + } + try { + probe.setObject(myTest, "myInt", Float.valueOf(1.2f)); + fail(); + } catch (RuntimeException e) { + assertTrue(e.getMessage().contains("'myInt' to value '1.2'")); + } + } + + public class Test { + + int myInt; + + public int getMyInt() { + return myInt; + } + + public void setMyInt(int myInt) { + this.myInt = myInt; + } + } + +}