Example usage for org.apache.commons.beanutils DynaClass getDynaProperties

List of usage examples for org.apache.commons.beanutils DynaClass getDynaProperties

Introduction

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

Prototype

public DynaProperty[] getDynaProperties();

Source Link

Document

Return an array of ProperyDescriptors for the properties currently defined in this DynaClass.

Usage

From source file:net.sf.excelutils.ExcelParser.java

public static DynaProperty[] getBeanProperties(DynaClass clazz) {
    DynaProperty dynaProperties[] = clazz.getDynaProperties();
    return dynaProperties;
}

From source file:com.xpfriend.fixture.cast.temp.TempDynaClass.java

public void update(DynaClass metaData) {
    setProperties(metaData.getDynaProperties());
}

From source file:net.mlw.vlh.web.tag.DynaBeanColumnsTag.java

/**
 * @see javax.servlet.jsp.tagext.Tag#doEndTag()
 *///from w  w w . j a  va  2 s  .c  o  m
public int doEndTag() throws JspException {
    ValueListSpaceTag rootTag = (ValueListSpaceTag) JspUtils.getParent(this, ValueListSpaceTag.class);

    DefaultRowTag rowTag = (DefaultRowTag) JspUtils.getParent(this, DefaultRowTag.class);
    DynaBean bean = (DynaBean) pageContext.getAttribute(rowTag.getBeanName());
    if (bean == null) {
        LOGGER.error("Zero results where returned.");
        return SKIP_BODY;
    }

    DynaClass dClass = bean.getDynaClass();

    StringBuffer sb = new StringBuffer();
    for (int i = 0, length = dClass.getDynaProperties().length; i < length; i++) {
        String name = dClass.getDynaProperties()[i].getName();
        if ((include.isEmpty() || include.contains(name)) && (exclude.isEmpty() || !exclude.contains(name))) {
            if (rowTag.getCurrentRowNumber() == 0) {
                String displayName = name.substring(0, 1).toUpperCase() + name.substring(1);
                rowTag.addColumnInfo(new ColumnInfo(displayName, name, defaultSort, null));
            }

            sb.append(rowTag.getDisplayProvider().getCellPreProcess(null));
            if (bean.get(name) == null) {
                sb.append(rootTag.getConfig().getNullToken());
            } else {
                sb.append(bean.get(name));
            }

            sb.append(rowTag.getDisplayProvider().getCellPostProcess());
        }

    }

    JspUtils.write(pageContext, sb.toString());

    release();

    return EVAL_PAGE;
}

From source file:es.caib.zkib.jxpath.ri.model.dynabeans.DynaBeanPropertyPointer.java

public String[] getPropertyNames() {
    /* @todo do something about the sorting - LIKE WHAT? - MJB */
    if (names == null) {
        DynaClass dynaClass = dynaBean.getDynaClass();
        DynaProperty[] properties = dynaClass.getDynaProperties();
        int count = properties.length;
        boolean hasClass = dynaClass.getDynaProperty("class") != null;
        if (hasClass) {
            count--; // Exclude "class" from properties
        }//from w w w . ja  v a2s .  c o  m
        names = new String[count];
        for (int i = 0, j = 0; i < properties.length; i++) {
            String name = properties[i].getName();
            if (!hasClass || !name.equals("class")) {
                names[j++] = name;
            }
        }
        Arrays.sort(names);
    }
    return names;
}

From source file:com.xpfriend.fixture.cast.temp.Database.java

private DbResult executeQuery(DbCommand command) throws SQLException {
    command.printSQL();/*from w  ww.ja  v  a  2  s.  co  m*/
    ResultSet resultSet = command.executeQuery();
    DynaClass dynaClass = getDynaClass(resultSet);

    List<DynaBean> list = new ArrayList<DynaBean>();
    ColumnValueConverter converter = ColumnValueConverter.getInstance();
    DynaProperty[] properties = dynaClass.getDynaProperties();
    while (resultSet.next()) {
        DynaBean bean;
        try {
            bean = dynaClass.newInstance();
        } catch (Exception e) {
            throw new ConfigException(e);
        }
        for (int i = 0; i < properties.length; i++) {
            Object value = converter.getResult(resultSet, properties[i].getType(), i + 1);
            bean.set(properties[i].getName(), value);
        }
        list.add(bean);
    }
    return new DbResult(dynaClass, list);
}

From source file:org.apache.ddlutils.dynabean.SqlDynaBean.java

/**
 * {@inheritDoc}//from   w ww.java2 s .c om
 */
public String toString() {
    StringBuffer result = new StringBuffer();
    DynaClass type = getDynaClass();
    DynaProperty[] props = type.getDynaProperties();

    result.append(type.getName());
    result.append(": ");
    for (int idx = 0; idx < props.length; idx++) {
        if (idx > 0) {
            result.append(", ");
        }
        result.append(props[idx].getName());
        result.append(" = ");
        result.append(get(props[idx].getName()));
    }
    return result.toString();
}

From source file:org.apache.ddlutils.dynabean.SqlDynaBean.java

/**
 * {@inheritDoc}/*from w  w w  .  ja  v a  2  s .  c  o  m*/
 */
public boolean equals(Object obj) {
    if (obj instanceof SqlDynaBean) {
        SqlDynaBean other = (SqlDynaBean) obj;
        DynaClass dynaClass = getDynaClass();

        if (dynaClass.equals(other.getDynaClass())) {
            DynaProperty[] props = dynaClass.getDynaProperties();

            for (int idx = 0; idx < props.length; idx++) {
                Object value = get(props[idx].getName());
                Object otherValue = other.get(props[idx].getName());

                if (value == null) {
                    if (otherValue != null) {
                        return false;
                    }
                } else {
                    return value.equals(otherValue);
                }
            }
            return true;
        }
    }
    return false;
}

From source file:org.apache.struts.action.DynaActionForm.java

/**
 * <p>Render a String representation of this object.</p>
 *
 * @return A string representation of this object.
 *//*from w  w w  .ja v  a2  s .c  om*/
public String toString() {
    StringBuffer sb = new StringBuffer("DynaActionForm[dynaClass=");
    DynaClass dynaClass = getDynaClass();

    if (dynaClass == null) {
        return sb.append("null]").toString();
    }

    sb.append(dynaClass.getName());

    DynaProperty[] props = dynaClass.getDynaProperties();

    if (props == null) {
        props = new DynaProperty[0];
    }

    for (int i = 0; i < props.length; i++) {
        sb.append(',');
        sb.append(props[i].getName());
        sb.append('=');

        Object value = get(props[i].getName());

        if (value == null) {
            sb.append("<NULL>");
        } else if (value.getClass().isArray()) {
            int n = Array.getLength(value);

            sb.append("{");

            for (int j = 0; j < n; j++) {
                if (j > 0) {
                    sb.append(',');
                }

                sb.append(Array.get(value, j));
            }

            sb.append("}");
        } else if (value instanceof List) {
            int n = ((List) value).size();

            sb.append("{");

            for (int j = 0; j < n; j++) {
                if (j > 0) {
                    sb.append(',');
                }

                sb.append(((List) value).get(j));
            }

            sb.append("}");
        } else if (value instanceof Map) {
            int n = 0;
            Iterator keys = ((Map) value).keySet().iterator();

            sb.append("{");

            while (keys.hasNext()) {
                if (n > 0) {
                    sb.append(',');
                }

                n++;

                Object key = keys.next();

                sb.append(key);
                sb.append('=');
                sb.append(((Map) value).get(key));
            }

            sb.append("}");
        } else {
            sb.append(value);
        }
    }

    sb.append("]");

    return (sb.toString());
}

From source file:org.gbif.registry.ws.guice.StringTrimInterceptor.java

private void trimStringsOf(Object target, int level) {
    if (target != null && level <= MAX_RECURSION) {
        LOG.debug("Trimming class: {}", target.getClass());

        WrapDynaBean wrapped = new WrapDynaBean(target);
        DynaClass dynaClass = wrapped.getDynaClass();
        for (DynaProperty dynaProp : dynaClass.getDynaProperties()) {
            if (String.class.isAssignableFrom(dynaProp.getType())) {
                String prop = dynaProp.getName();
                String orig = (String) wrapped.get(prop);
                if (orig != null) {
                    String trimmed = Strings.emptyToNull(orig.trim());
                    if (!Objects.equal(orig, trimmed)) {
                        LOG.debug("Overriding value of [{}] from [{}] to [{}]", prop, orig, trimmed);
                        wrapped.set(prop, trimmed);
                    }//from w w w.  j  av  a 2 s.  com
                }
            } else {
                try {
                    // trim everything in the registry model package (assume that Dataset resides in the correct package here)
                    Object property = wrapped.get(dynaProp.getName());
                    if (property != null && Dataset.class.getPackage() == property.getClass().getPackage()) {
                        trimStringsOf(property, level + 1);
                    }

                } catch (IllegalArgumentException e) {
                    // expected for non accessible properties
                }
            }
        }
    }
}

From source file:org.gbif.registry2.ws.guice.StringTrimInterceptor.java

private void trimStringsOf(Object target) {
    WrapDynaBean wrapped = new WrapDynaBean(target);
    DynaClass dynaClass = wrapped.getDynaClass();
    for (DynaProperty dynaProp : dynaClass.getDynaProperties()) {
        // Only operate on strings
        if (String.class.isAssignableFrom(dynaProp.getType())) {
            String prop = dynaProp.getName();
            String orig = (String) wrapped.get(prop);
            if (orig != null) {
                String trimmed = Strings.emptyToNull(orig.trim());
                if (!Objects.equal(orig, trimmed)) {
                    LOG.debug("Overriding value of [{}] from [{}] to [{}]", prop, orig, trimmed);
                    wrapped.set(prop, trimmed);
                }/* w  ww.j  a v a 2 s.  co  m*/
            }
        }
    }
}