String[] cOddOrEven = new String[fieldArr.length];
try
{
// Get the interlinking configuration too
CrossLinks cl = new CrossLinks();
// Get a width for the table
String tablewidth = ConfigurationManager.getProperty("webui.itemlist.tablewidth");
// If we have column widths, output a fixed layout table - faster for browsers to render
// but not if we have to add an 'edit item' button - we can't know how big it will be
if (widthArr.length > 0 && widthArr.length == fieldArr.length && !linkToEdit)
{
// If the table width has been specified, we can make this a fixed layout
if (!StringUtils.isEmpty(tablewidth))
{
out.println("<table style=\"width: " + tablewidth + "; table-layout: fixed;\" align=\"center\" class=\"miscTable\" summary=\"This table browses all dspace content\">");
}
else
{
// Otherwise, don't constrain the width
out.println("<table align=\"center\" class=\"miscTable\" summary=\"This table browses all dspace content\">");
}
// Output the known column widths
out.print("<colgroup>");
for (int w = 0; w < widthArr.length; w++)
{
out.print("<col width=\"");
// For a thumbnail column of width '*', use the configured max width for thumbnails
if (fieldArr[w].equals("thumbnail") && widthArr[w].equals("*"))
{
out.print(thumbItemListMaxWidth);
}
else
{
out.print(StringUtils.isEmpty(widthArr[w]) ? "*" : widthArr[w]);
}
out.print("\" />");
}
out.println("</colgroup>");
}
else if (!StringUtils.isEmpty(tablewidth))
{
out.println("<table width=\"" + tablewidth + "\" align=\"center\" class=\"miscTable\" summary=\"This table browses all dspace content\">");
}
else
{
out.println("<table align=\"center\" class=\"miscTable\" summary=\"This table browses all dspace content\">");
}
// Output the table headers
out.println("<tr>");
for (int colIdx = 0; colIdx < fieldArr.length; colIdx++)
{
String field = fieldArr[colIdx].toLowerCase().trim();
cOddOrEven[colIdx] = (((colIdx + 1) % 2) == 0 ? "Odd" : "Even");
// find out if the field is a date
if (field.indexOf("(date)") > 0)
{
field = field.replaceAll("\\(date\\)", "");
isDate[colIdx] = true;
}
// Cache any modifications to field
fieldArr[colIdx] = field;
// find out if this is the author column
if (field.equals(authorField))
{
isAuthor[colIdx] = true;
}
// find out if this field needs to link out to other browse views
if (cl.hasLink(field))
{
browseType[colIdx] = cl.getLinkType(field);
viewFull[colIdx] = BrowseIndex.getBrowseIndex(browseType[colIdx]).isItemIndex();
}
// find out if we are emphasising this field
if (field.equals(emphColumn))