Example usage for org.springframework.beans AbstractPropertyAccessor getPropertyValue

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

Introduction

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

Prototype

@Override
@Nullable
public abstract Object getPropertyValue(String propertyName) throws BeansException;

Source Link

Document

Actually get the value of a property.

Usage

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

@Test
public void getSimpleProperty() {
    Simple target = new Simple("John", 2);
    AbstractPropertyAccessor accessor = createAccessor(target);
    assertThat(accessor.getPropertyValue("name"), is("John"));
}

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

@Test
public void getNestedProperty() {
    Person target = createPerson("John", "London", "UK");
    AbstractPropertyAccessor accessor = createAccessor(target);
    assertThat(accessor.getPropertyValue("address.city"), is("London"));
}

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

@Test
public void getNestedDeepProperty() {
    Person target = createPerson("John", "London", "UK");
    AbstractPropertyAccessor accessor = createAccessor(target);
    assertThat(accessor.getPropertyValue("address.country.name"), is("UK"));
}

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

@Test
public void getAnotherNestedDeepProperty() {
    ITestBean target = new TestBean("rod", 31);
    ITestBean kerry = new TestBean("kerry", 35);
    target.setSpouse(kerry);/*  w ww .ja  v a2 s. co  m*/
    kerry.setSpouse(target);
    AbstractPropertyAccessor accessor = createAccessor(target);
    Integer KA = (Integer) accessor.getPropertyValue("spouse.age");
    assertTrue("kerry is 35", KA == 35);
    Integer RA = (Integer) accessor.getPropertyValue("spouse.spouse.age");
    assertTrue("rod is 31, not" + RA, RA == 31);
    ITestBean spousesSpouse = (ITestBean) accessor.getPropertyValue("spouse.spouse");
    assertTrue("spousesSpouse = initial point", target == spousesSpouse);
}

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

@Test
public void getPropertyIntermediatePropertyIsNull() {
    Person target = createPerson("John", "London", "UK");
    target.address = null;/*from   ww w .j  a  va2s. c o m*/
    AbstractPropertyAccessor accessor = createAccessor(target);

    try {
        accessor.getPropertyValue("address.country.name");
        fail("Should have failed to get value with null intermediate path");
    } catch (NullValueInNestedPathException e) {
        assertEquals("address", e.getPropertyName());
        assertEquals(Person.class, e.getBeanClass());
    }
}

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

@Test
public void getPropertyIntermediatePropertyIsNullWithAutoGrow() {
    Person target = createPerson("John", "London", "UK");
    target.address = null;//from  ww w . j ava 2 s  .c  o  m
    AbstractPropertyAccessor accessor = createAccessor(target);
    accessor.setAutoGrowNestedPaths(true);

    assertEquals("DefaultCountry", accessor.getPropertyValue("address.country.name"));
}

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

@Test
public void getUnknownProperty() {
    Simple target = new Simple("John", 2);
    AbstractPropertyAccessor accessor = createAccessor(target);

    try {/*from w  w w  .  ja v  a2s  .  co m*/
        accessor.getPropertyValue("foo");
        fail("Should have failed to get an unknown property.");
    } catch (NotReadablePropertyException e) {
        assertEquals(Simple.class, e.getBeanClass());
        assertEquals("foo", e.getPropertyName());
    }
}

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

@Test
public void getUnknownNestedProperty() {
    Person target = createPerson("John", "London", "UK");
    AbstractPropertyAccessor accessor = createAccessor(target);

    thrown.expect(NotReadablePropertyException.class);
    accessor.getPropertyValue("address.bar");
}

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

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

    AbstractPropertyAccessor accessor = createAccessor(target);
    accessor.setPropertyValue("spouse", kerry);
    accessor.setPropertyValue("spouse.age", new Integer(35));
    accessor.setPropertyValue("spouse.name", "Kerry");
    accessor.setPropertyValue("spouse.company", "Lewisham");
    assertTrue("kerry name is Kerry", kerry.getName().equals("Kerry"));

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

    AbstractPropertyAccessor kerryAccessor = createAccessor(kerry);
    assertTrue("spouse.spouse.spouse.spouse.company=Lewisham",
            "Lewisham".equals(kerryAccessor.getPropertyValue("spouse.spouse.spouse.spouse.company")));
}

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

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

    AbstractPropertyAccessor accessor = createAccessor(target);
    accessor.setPropertyValue("spouse", kerry);

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

    assertEquals(kerry, accessor.getPropertyValue("spouse"));
    assertEquals(target, accessor.getPropertyValue("spouse.spouse"));
}