List of usage examples for org.springframework.beans BeanWrapper setPropertyValues
void setPropertyValues(Map<?, ?> map) throws BeansException;
From source file:org.walkmod.conf.entities.impl.ConfigurationImpl.java
public void populate(Object element, Map<?, ?> parameters) { if (element != null) { BeanWrapper bw = new BeanWrapperImpl(element); if (this.parameters != null) { bw.setPropertyValues(this.parameters); }// w w w .ja v a 2s . c o m bw.setPropertyValues(parameters); } }
From source file:com.saysth.commons.quartz.SpringBeanJobFactory.java
/** * Create the job instance, populating it with property values taken from * the scheduler context, job data map and trigger data map. *///from ww w . j a va 2s.c o m @Override protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception { Object job = bundle.getJobDetail().getJobClass().newInstance(); BeanWrapper bw = PropertyAccessorFactory.forBeanPropertyAccess(job); if (isEligibleForPropertyPopulation(bw.getWrappedInstance())) { MutablePropertyValues pvs = new MutablePropertyValues(); if (this.schedulerContext != null) { pvs.addPropertyValues(this.schedulerContext); } pvs.addPropertyValues(bundle.getJobDetail().getJobDataMap()); pvs.addPropertyValues(bundle.getTrigger().getJobDataMap()); if (this.ignoredUnknownProperties != null) { for (String propName : this.ignoredUnknownProperties) { if (pvs.contains(propName) && !bw.isWritableProperty(propName)) { pvs.removePropertyValue(propName); } } bw.setPropertyValues(pvs); } else { bw.setPropertyValues(pvs, true); } } return job; }
From source file:net.sf.juffrou.reflect.spring.BeanWrapperTests.java
@Test public void testConvertPrimitiveToString() { MutablePropertyValues values = new MutablePropertyValues(); values.add("name", new Integer(42)); TestBean tb = new TestBean(); BeanWrapper bw = new JuffrouSpringBeanWrapper(tb); bw.setPropertyValues(values); assertEquals("42", tb.getName()); }
From source file:net.sf.juffrou.reflect.spring.BeanWrapperTests.java
@Test public void testEmptyPropertyValuesSet() { TestBean t = new TestBean(); int age = 50; String name = "Tony"; t.setAge(age);/* ww w . j a v a 2 s. co m*/ t.setName(name); try { BeanWrapper bw = new JuffrouSpringBeanWrapper(t); assertTrue("age is OK", t.getAge() == age); assertTrue("name is OK", name.equals(t.getName())); bw.setPropertyValues(new MutablePropertyValues()); // Check its unchanged assertTrue("age is OK", t.getAge() == age); assertTrue("name is OK", name.equals(t.getName())); } catch (BeansException ex) { fail("Shouldn't throw exception when everything is valid"); } }
From source file:net.sf.juffrou.reflect.spring.BeanWrapperTests.java
@Test public void testConvertClassToString() { MutablePropertyValues values = new MutablePropertyValues(); values.add("name", Integer.class); TestBean tb = new TestBean(); BeanWrapper bw = new JuffrouSpringBeanWrapper(tb); bw.registerCustomEditor(String.class, new PropertyEditorSupport() { @Override/*from w w w .java 2s .c om*/ public void setValue(Object value) { super.setValue(value.toString()); } }); bw.setPropertyValues(values); assertEquals(Integer.class.toString(), tb.getName()); }
From source file:net.sf.juffrou.reflect.spring.BeanWrapperTests.java
@SuppressWarnings("unchecked") // must work with raw map in this test @Test//from w ww. ja v a 2s . c o m public void testRawMapAccessWithNoEditorRegistered() { IndexedTestBean bean = new IndexedTestBean(); BeanWrapper bw = new JuffrouSpringBeanWrapper(bean); Map inputMap = new HashMap(); inputMap.put(new Integer(1), "rod"); inputMap.put(new Integer(2), "rob"); ReadOnlyMap readOnlyMap = new ReadOnlyMap(inputMap); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("map", readOnlyMap); bw.setPropertyValues(pvs); assertSame(readOnlyMap, bean.getMap()); assertFalse(readOnlyMap.isAccessed()); }
From source file:net.sf.juffrou.reflect.spring.BeanWrapperTests.java
@Test public void test2Invalid() { TestBean t = new TestBean(); String newName = "tony"; String invalidTouchy = ".valid"; try {//from www. j a v a2 s . com BeanWrapper bw = new JuffrouSpringBeanWrapper(t); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.addPropertyValue(new PropertyValue("age", "foobar")); pvs.addPropertyValue(new PropertyValue("name", newName)); pvs.addPropertyValue(new PropertyValue("touchy", invalidTouchy)); bw.setPropertyValues(pvs); fail("Should throw exception when everything is valid"); } catch (PropertyBatchUpdateException ex) { assertTrue("Must contain 2 exceptions", ex.getExceptionCount() == 2); // Test validly set property matches assertTrue("Validly set property must stick", t.getName().equals(newName)); assertTrue("Invalidly set property must retain old value", t.getAge() == 0); assertTrue("New value of dodgy setter must be available through exception", ex.getPropertyAccessException("touchy").getPropertyChangeEvent().getNewValue() .equals(invalidTouchy)); } }
From source file:net.sf.juffrou.reflect.spring.BeanWrapperTests.java
@Test public void testAllValid() { TestBean t = new TestBean(); String newName = "tony"; int newAge = 65; String newTouchy = "valid"; try {//w w w .j ava 2 s. c om BeanWrapper bw = new JuffrouSpringBeanWrapper(t); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.addPropertyValue(new PropertyValue("age", new Integer(newAge))); pvs.addPropertyValue(new PropertyValue("name", newName)); pvs.addPropertyValue(new PropertyValue("touchy", newTouchy)); bw.setPropertyValues(pvs); assertTrue("Validly set property must stick", t.getName().equals(newName)); assertTrue("Validly set property must stick", t.getTouchy().equals(newTouchy)); assertTrue("Validly set property must stick", t.getAge() == newAge); } catch (BeansException ex) { fail("Shouldn't throw exception when everything is valid"); } }
From source file:net.sf.juffrou.reflect.spring.BeanWrapperTests.java
@Test public void testMapAccessWithTypeConversion() { IndexedTestBean bean = new IndexedTestBean(); BeanWrapper bw = new JuffrouSpringBeanWrapper(bean); bw.registerCustomEditor(TestBean.class, new PropertyEditorSupport() { @Override/*from w w w . j av a 2 s. com*/ 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"); bw.setPropertyValues(pvs); assertEquals("rod", ((TestBean) bean.getMap().get("key1")).getName()); assertEquals("rob", ((TestBean) bean.getMap().get("key2")).getName()); pvs = new MutablePropertyValues(); pvs.add("map[key1]", "rod"); pvs.add("map[key2]", ""); try { bw.setPropertyValues(pvs); fail("Should have thrown TypeMismatchException"); } catch (PropertyBatchUpdateException ex) { PropertyAccessException pae = ex.getPropertyAccessException("map[key2]"); assertTrue(pae instanceof TypeMismatchException); } }
From source file:net.sf.juffrou.reflect.spring.BeanWrapperTests.java
@Test public void testMapAccessWithCustomUnmodifiableMap() { IndexedTestBean bean = new IndexedTestBean(); BeanWrapper bw = new JuffrouSpringBeanWrapper(bean); bw.registerCustomEditor(TestBean.class, "map", new PropertyEditorSupport() { @Override//from ww w.java 2 s. com public void setAsText(String text) throws IllegalArgumentException { if (!StringUtils.hasLength(text)) { throw new IllegalArgumentException(); } setValue(new TestBean(text)); } }); Map<Object, Object> inputMap = new HashMap<Object, Object>(); inputMap.put(new Integer(1), "rod"); inputMap.put(new Integer(2), "rob"); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("map", new ReadOnlyMap(inputMap)); bw.setPropertyValues(pvs); assertEquals("rod", ((TestBean) bean.getMap().get(new Integer(1))).getName()); assertEquals("rob", ((TestBean) bean.getMap().get(new Integer(2))).getName()); }