List of usage examples for org.springframework.beans AbstractPropertyAccessor setPropertyValues
@Override public void setPropertyValues(PropertyValues pvs) throws BeansException
From source file:org.springframework.beans.AbstractPropertyAccessorTests.java
@Test public void setEmptyPropertyValues() { TestBean target = new TestBean(); int age = 50; String name = "Tony"; target.setAge(age);/*w w w . ja va 2s . c om*/ target.setName(name); try { AbstractPropertyAccessor accessor = createAccessor(target); assertTrue("age is OK", target.getAge() == age); assertTrue("name is OK", name.equals(target.getName())); accessor.setPropertyValues(new MutablePropertyValues()); // Check its unchanged assertTrue("age is OK", target.getAge() == age); assertTrue("name is OK", name.equals(target.getName())); } catch (BeansException ex) { fail("Shouldn't throw exception when everything is valid"); } }
From source file:org.springframework.beans.AbstractPropertyAccessorTests.java
@Test public void setValidPropertyValues() { TestBean target = new TestBean(); String newName = "tony"; int newAge = 65; String newTouchy = "valid"; try {/* www . j av a2s.co m*/ AbstractPropertyAccessor accessor = createAccessor(target); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.addPropertyValue(new PropertyValue("age", newAge)); pvs.addPropertyValue(new PropertyValue("name", newName)); pvs.addPropertyValue(new PropertyValue("touchy", newTouchy)); accessor.setPropertyValues(pvs); assertTrue("Name property should have changed", target.getName().equals(newName)); assertTrue("Touchy property should have changed", target.getTouchy().equals(newTouchy)); assertTrue("Age property should have changed", target.getAge() == newAge); } catch (BeansException ex) { fail("Shouldn't throw exception when everything is valid"); } }
From source file:org.springframework.beans.AbstractPropertyAccessorTests.java
@Test public void setPropertyWithPrimitiveConversion() { MutablePropertyValues values = new MutablePropertyValues(); values.add("name", 42); TestBean target = new TestBean(); AbstractPropertyAccessor accessor = createAccessor(target); accessor.setPropertyValues(values); assertEquals("42", target.getName()); }
From source file:org.springframework.beans.AbstractPropertyAccessorTests.java
@Test public void setPropertyWithCustomEditor() { MutablePropertyValues values = new MutablePropertyValues(); values.add("name", Integer.class); TestBean target = new TestBean(); AbstractPropertyAccessor accessor = createAccessor(target); accessor.registerCustomEditor(String.class, new PropertyEditorSupport() { @Override/*from w w w .j av a2s. c o m*/ public void setValue(Object value) { super.setValue(value.toString()); } }); accessor.setPropertyValues(values); assertEquals(Integer.class.toString(), target.getName()); }
From source file:org.springframework.beans.AbstractPropertyAccessorTests.java
@Test public void setMapPropertyWithTypeConversion() { IndexedTestBean target = new IndexedTestBean(); AbstractPropertyAccessor accessor = createAccessor(target); accessor.registerCustomEditor(TestBean.class, new PropertyEditorSupport() { @Override/* w w w.j a v a 2 s . c o m*/ public void setAsText(String text) throws IllegalArgumentException { if (!StringUtils.hasLength(text)) { throw new IllegalArgumentException(); } setValue(new TestBean(text)); } }); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("map[key1]", "rod"); pvs.add("map[key2]", "rob"); accessor.setPropertyValues(pvs); assertEquals("rod", ((TestBean) target.getMap().get("key1")).getName()); assertEquals("rob", ((TestBean) target.getMap().get("key2")).getName()); pvs = new MutablePropertyValues(); pvs.add("map[key1]", "rod"); pvs.add("map[key2]", ""); try { accessor.setPropertyValues(pvs); fail("Should have thrown TypeMismatchException"); } catch (PropertyBatchUpdateException ex) { PropertyAccessException pae = ex.getPropertyAccessException("map[key2]"); assertTrue(pae instanceof TypeMismatchException); } }
From source file:org.springframework.beans.AbstractPropertyAccessorTests.java
@Test public void setMapPropertyWithUnmodifiableMap() { IndexedTestBean target = new IndexedTestBean(); AbstractPropertyAccessor accessor = createAccessor(target); accessor.registerCustomEditor(TestBean.class, "map", new PropertyEditorSupport() { @Override//from ww w . j a va 2 s. c om public void setAsText(String text) throws IllegalArgumentException { if (!StringUtils.hasLength(text)) { throw new IllegalArgumentException(); } setValue(new TestBean(text)); } }); Map<Integer, String> inputMap = new HashMap<>(); inputMap.put(1, "rod"); inputMap.put(2, "rob"); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("map", Collections.unmodifiableMap(inputMap)); accessor.setPropertyValues(pvs); assertEquals("rod", ((TestBean) target.getMap().get(1)).getName()); assertEquals("rob", ((TestBean) target.getMap().get(2)).getName()); }
From source file:org.springframework.beans.AbstractPropertyAccessorTests.java
@Test public void setMapPropertyWithCustomUnmodifiableMap() { IndexedTestBean target = new IndexedTestBean(); AbstractPropertyAccessor accessor = createAccessor(target); accessor.registerCustomEditor(TestBean.class, "map", new PropertyEditorSupport() { @Override//from ww w . j a v a2 s . co m public void setAsText(String text) throws IllegalArgumentException { if (!StringUtils.hasLength(text)) { throw new IllegalArgumentException(); } setValue(new TestBean(text)); } }); Map<Object, Object> inputMap = new HashMap<>(); inputMap.put(1, "rod"); inputMap.put(2, "rob"); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("map", new ReadOnlyMap<>(inputMap)); accessor.setPropertyValues(pvs); assertEquals("rod", ((TestBean) target.getMap().get(1)).getName()); assertEquals("rob", ((TestBean) target.getMap().get(2)).getName()); }
From source file:org.springframework.beans.AbstractPropertyAccessorTests.java
@SuppressWarnings("unchecked") // must work with raw map in this test @Test/*w w w . ja v a 2 s .c o m*/ public void setRawMapPropertyWithNoEditorRegistered() { IndexedTestBean target = new IndexedTestBean(); AbstractPropertyAccessor accessor = createAccessor(target); Map inputMap = new HashMap(); inputMap.put(1, "rod"); inputMap.put(2, "rob"); ReadOnlyMap readOnlyMap = new ReadOnlyMap(inputMap); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("map", readOnlyMap); accessor.setPropertyValues(pvs); assertSame(readOnlyMap, target.getMap()); assertFalse(readOnlyMap.isAccessed()); }
From source file:org.springframework.beans.AbstractPropertyAccessorTests.java
@Test public void getAndSetIndexedProperties() { IndexedTestBean target = new IndexedTestBean(); AbstractPropertyAccessor accessor = createAccessor(target); TestBean tb0 = target.getArray()[0]; TestBean tb1 = target.getArray()[1]; TestBean tb2 = ((TestBean) target.getList().get(0)); TestBean tb3 = ((TestBean) target.getList().get(1)); TestBean tb6 = ((TestBean) target.getSet().toArray()[0]); TestBean tb7 = ((TestBean) target.getSet().toArray()[1]); TestBean tb4 = ((TestBean) target.getMap().get("key1")); TestBean tb5 = ((TestBean) target.getMap().get("key.3")); assertEquals("name0", tb0.getName()); assertEquals("name1", tb1.getName()); assertEquals("name2", tb2.getName()); assertEquals("name3", tb3.getName()); assertEquals("name6", tb6.getName()); assertEquals("name7", tb7.getName()); assertEquals("name4", tb4.getName()); assertEquals("name5", tb5.getName()); assertEquals("name0", accessor.getPropertyValue("array[0].name")); assertEquals("name1", accessor.getPropertyValue("array[1].name")); assertEquals("name2", accessor.getPropertyValue("list[0].name")); assertEquals("name3", accessor.getPropertyValue("list[1].name")); assertEquals("name6", accessor.getPropertyValue("set[0].name")); assertEquals("name7", accessor.getPropertyValue("set[1].name")); assertEquals("name4", accessor.getPropertyValue("map[key1].name")); assertEquals("name5", accessor.getPropertyValue("map[key.3].name")); assertEquals("name4", accessor.getPropertyValue("map['key1'].name")); assertEquals("name5", accessor.getPropertyValue("map[\"key.3\"].name")); assertEquals("nameX", accessor.getPropertyValue("map[key4][0].name")); assertEquals("nameY", accessor.getPropertyValue("map[key4][1].name")); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("array[0].name", "name5"); pvs.add("array[1].name", "name4"); pvs.add("list[0].name", "name3"); pvs.add("list[1].name", "name2"); pvs.add("set[0].name", "name8"); pvs.add("set[1].name", "name9"); pvs.add("map[key1].name", "name1"); pvs.add("map['key.3'].name", "name0"); pvs.add("map[key4][0].name", "nameA"); pvs.add("map[key4][1].name", "nameB"); accessor.setPropertyValues(pvs); assertEquals("name5", tb0.getName()); assertEquals("name4", tb1.getName()); assertEquals("name3", tb2.getName()); assertEquals("name2", tb3.getName()); assertEquals("name1", tb4.getName()); assertEquals("name0", tb5.getName()); assertEquals("name5", accessor.getPropertyValue("array[0].name")); assertEquals("name4", accessor.getPropertyValue("array[1].name")); assertEquals("name3", accessor.getPropertyValue("list[0].name")); assertEquals("name2", accessor.getPropertyValue("list[1].name")); assertEquals("name8", accessor.getPropertyValue("set[0].name")); assertEquals("name9", accessor.getPropertyValue("set[1].name")); assertEquals("name1", accessor.getPropertyValue("map[\"key1\"].name")); assertEquals("name0", accessor.getPropertyValue("map['key.3'].name")); assertEquals("nameA", accessor.getPropertyValue("map[key4][0].name")); assertEquals("nameB", accessor.getPropertyValue("map[key4][1].name")); }
From source file:org.springframework.beans.AbstractPropertyAccessorTests.java
@Test public void getAndSetIndexedPropertiesWithDirectAccess() { IndexedTestBean target = new IndexedTestBean(); AbstractPropertyAccessor accessor = createAccessor(target); TestBean tb0 = target.getArray()[0]; TestBean tb1 = target.getArray()[1]; TestBean tb2 = ((TestBean) target.getList().get(0)); TestBean tb3 = ((TestBean) target.getList().get(1)); TestBean tb6 = ((TestBean) target.getSet().toArray()[0]); TestBean tb7 = ((TestBean) target.getSet().toArray()[1]); TestBean tb4 = ((TestBean) target.getMap().get("key1")); TestBean tb5 = ((TestBean) target.getMap().get("key2")); assertEquals(tb0, accessor.getPropertyValue("array[0]")); assertEquals(tb1, accessor.getPropertyValue("array[1]")); assertEquals(tb2, accessor.getPropertyValue("list[0]")); assertEquals(tb3, accessor.getPropertyValue("list[1]")); assertEquals(tb6, accessor.getPropertyValue("set[0]")); assertEquals(tb7, accessor.getPropertyValue("set[1]")); assertEquals(tb4, accessor.getPropertyValue("map[key1]")); assertEquals(tb5, accessor.getPropertyValue("map[key2]")); assertEquals(tb4, accessor.getPropertyValue("map['key1']")); assertEquals(tb5, accessor.getPropertyValue("map[\"key2\"]")); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("array[0]", tb5); pvs.add("array[1]", tb4); pvs.add("list[0]", tb3); pvs.add("list[1]", tb2); pvs.add("list[2]", tb0); pvs.add("list[4]", tb1); pvs.add("map[key1]", tb1); pvs.add("map['key2']", tb0); pvs.add("map[key5]", tb4); pvs.add("map['key9']", tb5); accessor.setPropertyValues(pvs); assertEquals(tb5, target.getArray()[0]); assertEquals(tb4, target.getArray()[1]); assertEquals(tb3, (target.getList().get(0))); assertEquals(tb2, (target.getList().get(1))); assertEquals(tb0, (target.getList().get(2))); assertEquals(null, (target.getList().get(3))); assertEquals(tb1, (target.getList().get(4))); assertEquals(tb1, (target.getMap().get("key1"))); assertEquals(tb0, (target.getMap().get("key2"))); assertEquals(tb4, (target.getMap().get("key5"))); assertEquals(tb5, (target.getMap().get("key9"))); assertEquals(tb5, accessor.getPropertyValue("array[0]")); assertEquals(tb4, accessor.getPropertyValue("array[1]")); assertEquals(tb3, accessor.getPropertyValue("list[0]")); assertEquals(tb2, accessor.getPropertyValue("list[1]")); assertEquals(tb0, accessor.getPropertyValue("list[2]")); assertEquals(null, accessor.getPropertyValue("list[3]")); assertEquals(tb1, accessor.getPropertyValue("list[4]")); assertEquals(tb1, accessor.getPropertyValue("map[\"key1\"]")); assertEquals(tb0, accessor.getPropertyValue("map['key2']")); assertEquals(tb4, accessor.getPropertyValue("map[\"key5\"]")); assertEquals(tb5, accessor.getPropertyValue("map['key9']")); }