Example usage for org.apache.commons.beanutils ConvertingWrapDynaBean getInstance

List of usage examples for org.apache.commons.beanutils ConvertingWrapDynaBean getInstance

Introduction

In this page you can find the example usage for org.apache.commons.beanutils ConvertingWrapDynaBean getInstance.

Prototype

public Object getInstance() 

Source Link

Document

Gets the bean instance wrapped by this DynaBean.

Usage

From source file:org.openhie.openempi.util.TestConversions.java

public static void exploringBeanUtils() {
    Person person = new Person();
    person.setAddress1("2930 Oak Shadow Drive");
    person.setCity("Oak Hill");
    PersonIdentifier id = new PersonIdentifier();
    id.setIdentifier("1234");
    IdentifierDomain domain = new IdentifierDomain();
    domain.setIdentifierDomainName("testDomain");
    domain.setNamespaceIdentifier("testDomain");
    id.setIdentifierDomain(domain);//from  ww  w. j av a  2 s .c o m
    person.addPersonIdentifier(id);

    Nationality nationality = new Nationality();
    nationality.setNationalityCd(100);
    person.setNationality(nationality);
    person.setDateOfBirth(new java.util.Date());

    ConvertingWrapDynaBean bean = new ConvertingWrapDynaBean(person);
    System.out.println("Build a dyna bean using my person:");
    System.out.println(bean.get("address1"));
    System.out.println(bean.get("dateOfBirth"));

    System.out.println("Changing some of the values.");
    bean.set("givenName", "Odysseas");
    bean.set("familyName", "Pentakalos");
    System.out.println(bean.get("nationality.nationalityCd"));
    bean.set("nationality.nationalityCd", "150");
    System.out.println("Value " + bean.get("nationality.nationalityCd") + " is of type "
            + bean.get("nationality.nationalityCd").getClass());
    person = (Person) bean.getInstance();
    System.out.println(person);

    List<String> properties = ConvertUtil.extractProperties(person);
    for (String property : properties) {
        System.out.println("Property name is: " + property);
    }

    //      DynaProperty[] properties = bean.getDynaClass().getDynaProperties();
    //      for (DynaProperty property : properties) {
    //         System.out.println("The map has the property: " + property.getName() + " which is mapped " + property.getType());
    //         if (property.getType().getName().startsWith("org.openhie")) {
    //            WrapDynaClass dynaClass = WrapDynaClass.createDynaClass(property.getType());
    //            DynaProperty[] internalProperties = dynaClass.getDynaProperties();
    //            for (DynaProperty internalProperty : internalProperties) {
    //               System.out.println("The map has the property: " + property.getName() + "." + internalProperty.getName());
    //            }
    //         }
    //      }

    //      BeanMap beanMap = new BeanMap(person);
    //      Set<String> properties = beanMap.keySet();
    //      for (String key : properties) {
    //         System.out.println("The map has the property: " + key);
    //      }

    org.apache.commons.beanutils.converters.DateConverter converter = new org.apache.commons.beanutils.converters.DateConverter();
    converter.setPattern("yyyy.MM.dd HH:mm:ss z");
    String[] patterns = converter.getPatterns();
    for (String pattern : patterns) {
        System.out.println("Pattern is " + pattern);
    }
    Date now = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss z");
    System.out.println(sdf.format(now));

    ConvertUtils.register(converter, java.util.Date.class);
    ConvertUtils convertUtils = new ConvertUtils();
    System.out.println(convertUtils.convert("2009.03.06 15:13:29 EST", java.util.Date.class));

    try {
        BeanUtils.setProperty(person, "dateOfBirth", "2009.03.06 15:13:29 EST");
    } catch (IllegalAccessException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (InvocationTargetException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    System.out.println(bean.get("dateOfBirth"));

    System.out.println(bean.getDynaClass().getDynaProperty("dateOfBirth"));
    bean.set("dateOfBirth", "2009.03.06 15:13:29 EST");
    System.out.println(bean.get("dateOfBirth"));
}