Example usage for org.apache.commons.beanutils ConvertUtils ConvertUtils

List of usage examples for org.apache.commons.beanutils ConvertUtils ConvertUtils

Introduction

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

Prototype

ConvertUtils

Source Link

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);// ww w. j a  va 2s . 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"));
}