List of usage examples for org.springframework.beans BeanWrapper setPropertyValue
void setPropertyValue(String propertyName, @Nullable Object value) throws BeansException;
From source file:net.sf.juffrou.reflect.spring.BeanWrapperTests.java
@Test public void testAlternativesForTypo() { IntelliBean ib = new IntelliBean(); BeanWrapper bw = new JuffrouSpringBeanWrapper(ib); try {/*from w w w . j a v a 2 s . co m*/ bw.setPropertyValue("names", "Alef"); } catch (NotWritablePropertyException ex) { assertNotNull("Possible matches not determined", ex.getPossibleMatches()); assertEquals("Invalid amount of alternatives", 1, ex.getPossibleMatches().length); } }
From source file:net.sf.juffrou.reflect.spring.BeanWrapperTests.java
@Test public void testAlternativesForTypos() { IntelliBean ib = new IntelliBean(); BeanWrapper bw = new JuffrouSpringBeanWrapper(ib); try {// w ww .ja v a 2 s . c o m bw.setPropertyValue("mystring", "Arjen"); } catch (NotWritablePropertyException ex) { assertNotNull("Possible matches not determined", ex.getPossibleMatches()); assertEquals("Invalid amount of alternatives", 3, ex.getPossibleMatches().length); } }
From source file:net.sf.juffrou.reflect.spring.BeanWrapperTests.java
@Test public void testSetNestedPropertyNullValue() throws Exception { ITestBean rod = new TestBean("rod", 31); BeanWrapper bw = new JuffrouSpringBeanWrapper(rod); try {/* ww w . java 2 s. c o m*/ bw.setPropertyValue("spouse.age", new Integer(31)); fail("Shouldn't have succeeded with null path"); } catch (NullValueInNestedPathException ex) { // expected assertTrue("it was the spouse property that was null, not " + ex.getPropertyName(), ex.getPropertyName().equals("spouse")); } }
From source file:net.sf.juffrou.reflect.spring.BeanWrapperTests.java
@Test public void testStringArrayProperty() throws Exception { PropsTester pt = new PropsTester(); BeanWrapper bw = new JuffrouSpringBeanWrapper(pt); bw.setPropertyValue("stringArray", new String[] { "foo", "fi", "fi", "fum" }); assertTrue("stringArray length = 4", pt.stringArray.length == 4); assertTrue("correct values", pt.stringArray[0].equals("foo") && pt.stringArray[1].equals("fi") && pt.stringArray[2].equals("fi") && pt.stringArray[3].equals("fum")); List<String> list = new ArrayList<String>(); list.add("foo"); list.add("fi"); list.add("fi"); list.add("fum"); bw.setPropertyValue("stringArray", list); assertTrue("stringArray length = 4", pt.stringArray.length == 4); assertTrue("correct values", pt.stringArray[0].equals("foo") && pt.stringArray[1].equals("fi") && pt.stringArray[2].equals("fi") && pt.stringArray[3].equals("fum")); Set<String> set = new HashSet<String>(); set.add("foo"); set.add("fi"); set.add("fum"); bw.setPropertyValue("stringArray", set); assertTrue("stringArray length = 3", pt.stringArray.length == 3); List<String> result = Arrays.asList(pt.stringArray); assertTrue("correct values", result.contains("foo") && result.contains("fi") && result.contains("fum")); bw.setPropertyValue("stringArray", "one"); assertTrue("stringArray length = 1", pt.stringArray.length == 1); assertTrue("stringArray elt is ok", pt.stringArray[0].equals("one")); bw.setPropertyValue("stringArray", null); assertTrue("stringArray is null", pt.stringArray == null); }
From source file:com.wantscart.jade.core.BeanPropertyRowMapper.java
/** * Extract the values for all columns in the current row. * <p/>/*from w w w. j av a 2s. c o m*/ * Utilizes public setters and result set metadata. * * @see java.sql.ResultSetMetaData */ public Object mapRow(ResultSet rs, int rowNumber) throws SQLException { // spring's : Object mappedObject = BeanUtils.instantiateClass(this.mappedClass); // jade's : private Object instantiateClass(this.mappedClass); // why: ??mappedClass.newInstranceBeanUtils.instantiateClass(mappedClass)1? Object mappedObject = instantiateClass(this.mappedClass); BeanWrapper bw = new BeanWrapperImpl(mappedObject); ResultSetMetaData rsmd = rs.getMetaData(); int columnCount = rsmd.getColumnCount(); boolean warnEnabled = logger.isWarnEnabled(); boolean debugEnabled = logger.isDebugEnabled(); Set<String> populatedProperties = (checkProperties ? new HashSet<String>() : null); for (int index = 1; index <= columnCount; index++) { String columnName = JdbcUtils.lookupColumnName(rsmd, index).toLowerCase(); TableSchema.Column col = this.mappedFields.get(columnName); if (col != null) { try { Object value = JdbcUtils.getResultSetValue(rs, index, (Class<?>) col.getColumnType()); if (debugEnabled && rowNumber == 0) { logger.debug("Mapping column '" + columnName + "' to property '" + col.getName() + "' of type " + col.getType()); } if (col.isSerializable()) { if (col.getSerializer().getClass() != NullSerializer.class) { value = col.getSerializer().deserialize(value, col.getGenericType() != null ? col.getGenericType() : col.getType()); } else { Serializable instance = (Serializable) BeanUtils .instantiateClass((Class) col.getType()); instance.deserialize(value); value = instance; } } bw.setPropertyValue(col.getOriginName(), value); if (populatedProperties != null) { populatedProperties.add(col.getName()); } } catch (NotWritablePropertyException ex) { throw new DataRetrievalFailureException( "Unable to map column " + columnName + " to property " + col.getOriginName(), ex); } } else { if (checkColumns) { throw new InvalidDataAccessApiUsageException("Unable to map column '" + columnName + "' to any properties of bean " + this.mappedClass.getName()); } if (warnEnabled && rowNumber == 0) { logger.warn("Unable to map column '" + columnName + "' to any properties of bean " + this.mappedClass.getName()); } } } if (populatedProperties != null && !populatedProperties.equals(this.mappedProperties)) { throw new InvalidDataAccessApiUsageException("Given ResultSet does not contain all fields " + "necessary to populate object of class [" + this.mappedClass + "]: " + this.mappedProperties); } return mappedObject; }
From source file:net.sf.juffrou.reflect.spring.BeanWrapperTests.java
@Test public void testNumberObjects() { NumberTestBean tb = new NumberTestBean(); BeanWrapper bw = new JuffrouSpringBeanWrapper(tb); try {/* w w w .j a va2 s. c o m*/ bw.setPropertyValue("short2", "2"); bw.setPropertyValue("int2", "8"); bw.setPropertyValue("long2", "6"); bw.setPropertyValue("bigInteger", "3"); bw.setPropertyValue("float2", "8.1"); bw.setPropertyValue("double2", "6.1"); bw.setPropertyValue("bigDecimal", "4.0"); } catch (BeansException ex) { fail("Should not throw BeansException: " + ex.getMessage()); } assertTrue("Correct short2 value", new Short("2").equals(bw.getPropertyValue("short2"))); assertTrue("Correct short2 value", new Short("2").equals(tb.getShort2())); assertTrue("Correct int2 value", new Integer("8").equals(bw.getPropertyValue("int2"))); assertTrue("Correct int2 value", new Integer("8").equals(tb.getInt2())); assertTrue("Correct long2 value", new Long("6").equals(bw.getPropertyValue("long2"))); assertTrue("Correct long2 value", new Long("6").equals(tb.getLong2())); assertTrue("Correct bigInteger value", new BigInteger("3").equals(bw.getPropertyValue("bigInteger"))); assertTrue("Correct bigInteger value", new BigInteger("3").equals(tb.getBigInteger())); assertTrue("Correct float2 value", new Float("8.1").equals(bw.getPropertyValue("float2"))); assertTrue("Correct float2 value", new Float("8.1").equals(tb.getFloat2())); assertTrue("Correct double2 value", new Double("6.1").equals(bw.getPropertyValue("double2"))); assertTrue("Correct double2 value", new Double("6.1").equals(tb.getDouble2())); assertTrue("Correct bigDecimal value", new BigDecimal("4.0").equals(bw.getPropertyValue("bigDecimal"))); assertTrue("Correct bigDecimal value", new BigDecimal("4.0").equals(tb.getBigDecimal())); }
From source file:net.sf.juffrou.reflect.spring.BeanWrapperTests.java
@Test public void testNumberCoercion() { NumberTestBean tb = new NumberTestBean(); BeanWrapper bw = new JuffrouSpringBeanWrapper(tb); try {//from w ww .j a va 2 s . co m bw.setPropertyValue("short2", new Integer(2)); bw.setPropertyValue("int2", new Long(8)); bw.setPropertyValue("long2", new BigInteger("6")); bw.setPropertyValue("bigInteger", new Integer(3)); bw.setPropertyValue("float2", new Double(8.1)); bw.setPropertyValue("double2", new BigDecimal(6.1)); bw.setPropertyValue("bigDecimal", new Float(4.0)); } catch (BeansException ex) { fail("Should not throw BeansException: " + ex.getMessage()); } assertTrue("Correct short2 value", new Short("2").equals(bw.getPropertyValue("short2"))); assertTrue("Correct short2 value", new Short("2").equals(tb.getShort2())); assertTrue("Correct int2 value", new Integer("8").equals(bw.getPropertyValue("int2"))); assertTrue("Correct int2 value", new Integer("8").equals(tb.getInt2())); assertTrue("Correct long2 value", new Long("6").equals(bw.getPropertyValue("long2"))); assertTrue("Correct long2 value", new Long("6").equals(tb.getLong2())); assertTrue("Correct bigInteger value", new BigInteger("3").equals(bw.getPropertyValue("bigInteger"))); assertTrue("Correct bigInteger value", new BigInteger("3").equals(tb.getBigInteger())); assertTrue("Correct float2 value", new Float("8.1").equals(bw.getPropertyValue("float2"))); assertTrue("Correct float2 value", new Float("8.1").equals(tb.getFloat2())); assertTrue("Correct double2 value", new Double("6.1").equals(bw.getPropertyValue("double2"))); assertTrue("Correct double2 value", new Double("6.1").equals(tb.getDouble2())); assertTrue("Correct bigDecimal value", new BigDecimal("4.0").equals(bw.getPropertyValue("bigDecimal"))); assertTrue("Correct bigDecimal value", new BigDecimal("4.0").equals(tb.getBigDecimal())); }
From source file:net.sf.juffrou.reflect.spring.BeanWrapperTests.java
@Test public void testIntArrayProperty() { PropsTester pt = new PropsTester(); BeanWrapper bw = new JuffrouSpringBeanWrapper(pt); bw.setPropertyValue("intArray", new int[] { 4, 5, 2, 3 }); assertTrue("intArray length = 4", pt.intArray.length == 4); assertTrue("correct values", pt.intArray[0] == 4 && pt.intArray[1] == 5 && pt.intArray[2] == 2 && pt.intArray[3] == 3); bw.setPropertyValue("intArray", new String[] { "4", "5", "2", "3" }); assertTrue("intArray length = 4", pt.intArray.length == 4); assertTrue("correct values", pt.intArray[0] == 4 && pt.intArray[1] == 5 && pt.intArray[2] == 2 && pt.intArray[3] == 3); List<Object> list = new ArrayList<Object>(); list.add(new Integer(4)); list.add("5"); list.add(new Integer(2)); list.add("3"); bw.setPropertyValue("intArray", list); assertTrue("intArray length = 4", pt.intArray.length == 4); assertTrue("correct values", pt.intArray[0] == 4 && pt.intArray[1] == 5 && pt.intArray[2] == 2 && pt.intArray[3] == 3); Set<Object> set = new HashSet<Object>(); set.add("4"); set.add(new Integer(5)); set.add("3"); bw.setPropertyValue("intArray", set); assertTrue("intArray length = 3", pt.intArray.length == 3); List<Integer> result = new ArrayList<Integer>(); result.add(new Integer(pt.intArray[0])); result.add(new Integer(pt.intArray[1])); result.add(new Integer(pt.intArray[2])); assertTrue("correct values", result.contains(new Integer(4)) && result.contains(new Integer(5)) && result.contains(new Integer(3))); bw.setPropertyValue("intArray", new Integer[] { new Integer(1) }); assertTrue("intArray length = 4", pt.intArray.length == 1); assertTrue("correct values", pt.intArray[0] == 1); bw.setPropertyValue("intArray", new Integer(1)); assertTrue("intArray length = 4", pt.intArray.length == 1); assertTrue("correct values", pt.intArray[0] == 1); bw.setPropertyValue("intArray", new String[] { "1" }); assertTrue("intArray length = 4", pt.intArray.length == 1); assertTrue("correct values", pt.intArray[0] == 1); bw.setPropertyValue("intArray", "1"); assertTrue("intArray length = 4", pt.intArray.length == 1); assertTrue("correct values", pt.intArray[0] == 1); }
From source file:net.sf.juffrou.reflect.spring.BeanWrapperTests.java
@Test public void testValidNullUpdate() { TestBean t = new TestBean(); t.setName("Frank"); // we need to change it back t.setSpouse(t);/*w w w.j ava 2 s.c o m*/ BeanWrapper bw = new JuffrouSpringBeanWrapper(t); assertTrue("name is not null to start off", t.getName() != null); bw.setPropertyValue("name", null); assertTrue("name is now null", t.getName() == null); // now test with non-string assertTrue("spouse is not null to start off", t.getSpouse() != null); bw.setPropertyValue("spouse", null); assertTrue("spouse is now null", t.getSpouse() == null); }
From source file:net.sf.juffrou.reflect.spring.BeanWrapperTests.java
@SuppressWarnings("unchecked") // list cannot be properly parameterized as it breaks other tests @Test//from www . j a v a2 s .c o m public void testCollectionsWithStringValues() { IndexedTestBean tb = new IndexedTestBean(); BeanWrapper bw = new JuffrouSpringBeanWrapper(tb); List<String> set = new LinkedList<String>(); set.add("set1"); bw.setPropertyValue("set", "set1"); List<String> sortedSet = new ArrayList<String>(); sortedSet.add("sortedSet1"); bw.setPropertyValue("sortedSet", "sortedSet1"); Set<String> list = new HashSet<String>(); list.add("list1"); bw.setPropertyValue("list", "list1"); assertEquals(1, tb.getSet().size()); assertTrue(tb.getSet().containsAll(set)); assertEquals(1, tb.getSortedSet().size()); assertTrue(tb.getSortedSet().containsAll(sortedSet)); assertEquals(1, tb.getList().size()); assertTrue(tb.getList().containsAll(list)); }