Example usage for org.springframework.beans BeanWrapper getPropertyValue

List of usage examples for org.springframework.beans BeanWrapper getPropertyValue

Introduction

In this page you can find the example usage for org.springframework.beans BeanWrapper getPropertyValue.

Prototype

@Nullable
Object getPropertyValue(String propertyName) throws BeansException;

Source Link

Document

Get the current value of the specified property.

Usage

From source file:org.springframework.beans.BeanWrapperTests.java

@Test
public void testNumberObjects() {
    NumberTestBean tb = new NumberTestBean();
    BeanWrapper bw = new BeanWrapperImpl(tb);

    try {/*w  w w .  j a va  2  s .  co  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:org.springframework.beans.BeanWrapperTests.java

@Test
public void testNumberCoercion() {
    NumberTestBean tb = new NumberTestBean();
    BeanWrapper bw = new BeanWrapperImpl(tb);

    try {/*from   www  . j av  a  2 s  .c  o 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:org.springframework.beans.BeanWrapperTests.java

@Test
public void testGetNestedProperty() {
    ITestBean rod = new TestBean("rod", 31);
    ITestBean kerry = new TestBean("kerry", 35);
    rod.setSpouse(kerry);// w  w  w . j a  va2s .  com
    kerry.setSpouse(rod);
    BeanWrapper bw = new BeanWrapperImpl(rod);
    Integer KA = (Integer) bw.getPropertyValue("spouse.age");
    assertTrue("kerry is 35", KA.intValue() == 35);
    Integer RA = (Integer) bw.getPropertyValue("spouse.spouse.age");
    assertTrue("rod is 31, not" + RA, RA.intValue() == 31);
    ITestBean spousesSpouse = (ITestBean) bw.getPropertyValue("spouse.spouse");
    assertTrue("spousesSpouse = initial point", rod == spousesSpouse);
}

From source file:org.springframework.beans.BeanWrapperTests.java

@Test
public void testGetNestedPropertyNullValue() throws Exception {
    ITestBean rod = new TestBean("rod", 31);
    ITestBean kerry = new TestBean("kerry", 35);
    rod.setSpouse(kerry);//ww w .  j a v  a 2  s  .c  o m

    BeanWrapper bw = new BeanWrapperImpl(rod);
    try {
        bw.getPropertyValue("spouse.spouse.age");
        fail("Shouldn't have succeded with null path");
    } catch (NullValueInNestedPathException ex) {
        // ok
        assertTrue("it was the spouse.spouse property that was null, not " + ex.getPropertyName(),
                ex.getPropertyName().equals("spouse.spouse"));
    }
}

From source file:org.springframework.beans.BeanWrapperTests.java

@Test
public void testSetNestedProperty() throws Exception {
    ITestBean rod = new TestBean("rod", 31);
    ITestBean kerry = new TestBean("kerry", 0);

    BeanWrapper bw = new BeanWrapperImpl(rod);
    bw.setPropertyValue("spouse", kerry);

    assertTrue("nested set worked", rod.getSpouse() == kerry);
    assertTrue("no back relation", kerry.getSpouse() == null);
    bw.setPropertyValue(new PropertyValue("spouse.spouse", rod));
    assertTrue("nested set worked", kerry.getSpouse() == rod);
    assertTrue("kerry age not set", kerry.getAge() == 0);
    bw.setPropertyValue(new PropertyValue("spouse.age", new Integer(35)));
    assertTrue("Set primitive on spouse", kerry.getAge() == 35);

    assertEquals(kerry, bw.getPropertyValue("spouse"));
    assertEquals(rod, bw.getPropertyValue("spouse.spouse"));
}

From source file:org.springframework.beans.BeanWrapperTests.java

@Test
public void testSetNestedPropertyPolymorphic() throws Exception {
    ITestBean rod = new TestBean("rod", 31);
    ITestBean kerry = new Employee();

    BeanWrapper bw = new BeanWrapperImpl(rod);
    bw.setPropertyValue("spouse", kerry);
    bw.setPropertyValue("spouse.age", new Integer(35));
    bw.setPropertyValue("spouse.name", "Kerry");
    bw.setPropertyValue("spouse.company", "Lewisham");
    assertTrue("kerry name is Kerry", kerry.getName().equals("Kerry"));

    assertTrue("nested set worked", rod.getSpouse() == kerry);
    assertTrue("no back relation", kerry.getSpouse() == null);
    bw.setPropertyValue(new PropertyValue("spouse.spouse", rod));
    assertTrue("nested set worked", kerry.getSpouse() == rod);

    BeanWrapper kbw = new BeanWrapperImpl(kerry);
    assertTrue("spouse.spouse.spouse.spouse.company=Lewisham",
            "Lewisham".equals(kbw.getPropertyValue("spouse.spouse.spouse.spouse.company")));
}

From source file:org.springframework.beans.BeanWrapperTests.java

@Test
public void testIndexedProperties() {
    IndexedTestBean bean = new IndexedTestBean();
    BeanWrapper bw = new BeanWrapperImpl(bean);
    TestBean tb0 = bean.getArray()[0];//from   w w  w.j  a va  2s.  co m
    TestBean tb1 = bean.getArray()[1];
    TestBean tb2 = ((TestBean) bean.getList().get(0));
    TestBean tb3 = ((TestBean) bean.getList().get(1));
    TestBean tb6 = ((TestBean) bean.getSet().toArray()[0]);
    TestBean tb7 = ((TestBean) bean.getSet().toArray()[1]);
    TestBean tb4 = ((TestBean) bean.getMap().get("key1"));
    TestBean tb5 = ((TestBean) bean.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", bw.getPropertyValue("array[0].name"));
    assertEquals("name1", bw.getPropertyValue("array[1].name"));
    assertEquals("name2", bw.getPropertyValue("list[0].name"));
    assertEquals("name3", bw.getPropertyValue("list[1].name"));
    assertEquals("name6", bw.getPropertyValue("set[0].name"));
    assertEquals("name7", bw.getPropertyValue("set[1].name"));
    assertEquals("name4", bw.getPropertyValue("map[key1].name"));
    assertEquals("name5", bw.getPropertyValue("map[key.3].name"));
    assertEquals("name4", bw.getPropertyValue("map['key1'].name"));
    assertEquals("name5", bw.getPropertyValue("map[\"key.3\"].name"));
    assertEquals("nameX", bw.getPropertyValue("map[key4][0].name"));
    assertEquals("nameY", bw.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");
    bw.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", bw.getPropertyValue("array[0].name"));
    assertEquals("name4", bw.getPropertyValue("array[1].name"));
    assertEquals("name3", bw.getPropertyValue("list[0].name"));
    assertEquals("name2", bw.getPropertyValue("list[1].name"));
    assertEquals("name8", bw.getPropertyValue("set[0].name"));
    assertEquals("name9", bw.getPropertyValue("set[1].name"));
    assertEquals("name1", bw.getPropertyValue("map[\"key1\"].name"));
    assertEquals("name0", bw.getPropertyValue("map['key.3'].name"));
    assertEquals("nameA", bw.getPropertyValue("map[key4][0].name"));
    assertEquals("nameB", bw.getPropertyValue("map[key4][1].name"));
}

From source file:org.springframework.beans.BeanWrapperTests.java

@Test
public void testIndexedPropertiesWithDirectAccess() {
    IndexedTestBean bean = new IndexedTestBean();
    BeanWrapper bw = new BeanWrapperImpl(bean);
    TestBean tb0 = bean.getArray()[0];/*from ww  w  . j  ava 2s.co  m*/
    TestBean tb1 = bean.getArray()[1];
    TestBean tb2 = ((TestBean) bean.getList().get(0));
    TestBean tb3 = ((TestBean) bean.getList().get(1));
    TestBean tb6 = ((TestBean) bean.getSet().toArray()[0]);
    TestBean tb7 = ((TestBean) bean.getSet().toArray()[1]);
    TestBean tb4 = ((TestBean) bean.getMap().get("key1"));
    TestBean tb5 = ((TestBean) bean.getMap().get("key2"));
    assertEquals(tb0, bw.getPropertyValue("array[0]"));
    assertEquals(tb1, bw.getPropertyValue("array[1]"));
    assertEquals(tb2, bw.getPropertyValue("list[0]"));
    assertEquals(tb3, bw.getPropertyValue("list[1]"));
    assertEquals(tb6, bw.getPropertyValue("set[0]"));
    assertEquals(tb7, bw.getPropertyValue("set[1]"));
    assertEquals(tb4, bw.getPropertyValue("map[key1]"));
    assertEquals(tb5, bw.getPropertyValue("map[key2]"));
    assertEquals(tb4, bw.getPropertyValue("map['key1']"));
    assertEquals(tb5, bw.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);
    bw.setPropertyValues(pvs);
    assertEquals(tb5, bean.getArray()[0]);
    assertEquals(tb4, bean.getArray()[1]);
    assertEquals(tb3, (bean.getList().get(0)));
    assertEquals(tb2, (bean.getList().get(1)));
    assertEquals(tb0, (bean.getList().get(2)));
    assertEquals(null, (bean.getList().get(3)));
    assertEquals(tb1, (bean.getList().get(4)));
    assertEquals(tb1, (bean.getMap().get("key1")));
    assertEquals(tb0, (bean.getMap().get("key2")));
    assertEquals(tb4, (bean.getMap().get("key5")));
    assertEquals(tb5, (bean.getMap().get("key9")));
    assertEquals(tb5, bw.getPropertyValue("array[0]"));
    assertEquals(tb4, bw.getPropertyValue("array[1]"));
    assertEquals(tb3, bw.getPropertyValue("list[0]"));
    assertEquals(tb2, bw.getPropertyValue("list[1]"));
    assertEquals(tb0, bw.getPropertyValue("list[2]"));
    assertEquals(null, bw.getPropertyValue("list[3]"));
    assertEquals(tb1, bw.getPropertyValue("list[4]"));
    assertEquals(tb1, bw.getPropertyValue("map[\"key1\"]"));
    assertEquals(tb0, bw.getPropertyValue("map['key2']"));
    assertEquals(tb4, bw.getPropertyValue("map[\"key5\"]"));
    assertEquals(tb5, bw.getPropertyValue("map['key9']"));
}

From source file:org.springframework.beans.BeanWrapperTests.java

@Test
public void testPropertiesInProtectedBaseBean() {
    DerivedFromProtectedBaseBean bean = new DerivedFromProtectedBaseBean();
    BeanWrapper bw = new BeanWrapperImpl(bean);
    bw.setPropertyValue("someProperty", "someValue");
    assertEquals("someValue", bw.getPropertyValue("someProperty"));
    assertEquals("someValue", bean.getSomeProperty());
}

From source file:org.springframework.beans.BeanWrapperTests.java

@Test
public void testErrorMessageOfNestedProperty() {
    ITestBean parent = new TestBean();
    ITestBean child = new DifferentTestBean();
    child.setName("test");
    parent.setSpouse(child);/*from   ww  w  . jav a 2 s .  co  m*/
    BeanWrapper bw = new BeanWrapperImpl(parent);
    try {
        bw.getPropertyValue("spouse.bla");
    } catch (NotReadablePropertyException ex) {
        assertTrue(ex.getMessage().indexOf(TestBean.class.getName()) != -1);
    }
}