/** * A utility method for generating a string to represent a single item's entry in the browse * * @param config * @return * @throws SQLException */ private String fullListingString(ItemListConfig config) throws SQLException { // report on all the results contained herein StringBuffer sb = new StringBuffer(); Iterator itr = results.iterator(); while (itr.hasNext()) { BrowseItem bi = (BrowseItem) itr.next(); if (bi == null) { sb.append("{{ NULL ITEM }}"); break; } sb.append("{{Item ID: " + Integer.toString(bi.getID()) + " :: "); for (int j = 1; j <= config.numCols(); j++) { String[] md = config.getMetadata(j); if (md == null) { sb.append("{{ NULL METADATA }}"); break; } Metadatum[] values = bi.getMetadata(md[0], md[1], md[2], Item.ANY); StringBuffer value = new StringBuffer(); if (values != null) { for (int i = 0; i < values.length; i++) { if (i > 0) { value.append(","); } value.append(values[i].value); } } else { value.append("-"); } String metadata = "[" + md[0] + "." + md[1] + "." + md[2] + ":" + value.toString() + "]"; sb.append(metadata); } sb.append("}}"); } return sb.toString(); }