Esempio n. 1
0
  /**
   * 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();
  }