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());
}