NUTCH-2788 ParseData: improve presentation of Metadata in method toString()
- switch to multi-line presentation of Metadata in ParseData::toString
- default implementation of Metadata::toString is still single-line
- replace StringBuffer by StringBuilder in modified methods
diff --git a/src/java/org/apache/nutch/metadata/Metadata.java b/src/java/org/apache/nutch/metadata/Metadata.java
index 6eb27c9..38724d4 100644
--- a/src/java/org/apache/nutch/metadata/Metadata.java
+++ b/src/java/org/apache/nutch/metadata/Metadata.java
@@ -232,13 +232,28 @@
     return true;
   }
 
+  @Override
   public String toString() {
-    StringBuffer buf = new StringBuffer();
+    return toString("=", " ");
+  }
+
+  /**
+   * @param separator
+   *          separator between Metadata's key-value pairs
+   * @param keyValueSeparator
+   *          separator between key and value
+   * @return list of all key-value pairs in Metadata using the provided
+   *         separators
+   */
+  public String toString(String separator, String keyValueSeparator) {
+    StringBuilder buf = new StringBuilder();
     String[] names = names();
     for (int i = 0; i < names.length; i++) {
       String[] values = _getValues(names[i]);
       for (int j = 0; j < values.length; j++) {
-        buf.append(names[i]).append("=").append(values[j]).append(" ");
+        if (buf.length() > 0)
+          buf.append(separator);
+        buf.append(names[i]).append(keyValueSeparator).append(values[j]);
       }
     }
     return buf.toString();
@@ -278,3 +293,4 @@
   }
 
 }
+  
\ No newline at end of file
diff --git a/src/java/org/apache/nutch/parse/ParseData.java b/src/java/org/apache/nutch/parse/ParseData.java
index e88c7ac..36d0daa 100644
--- a/src/java/org/apache/nutch/parse/ParseData.java
+++ b/src/java/org/apache/nutch/parse/ParseData.java
@@ -188,22 +188,25 @@
         && this.parseMeta.equals(other.parseMeta);
   }
 
+  @Override
   public String toString() {
-    StringBuffer buffer = new StringBuffer();
+    StringBuilder buffer = new StringBuilder();
 
-    buffer.append("Version: " + version + "\n");
-    buffer.append("Status: " + status + "\n");
-    buffer.append("Title: " + title + "\n");
+    buffer.append("Version: ").append(version).append("\n");
+    buffer.append("Status: ").append(status).append("\n");
+    buffer.append("Title: ").append(title ).append("\n");
 
     if (outlinks != null) {
-      buffer.append("Outlinks: " + outlinks.length + "\n");
+      buffer.append("Outlinks: ").append(outlinks.length).append("\n");
       for (int i = 0; i < outlinks.length; i++) {
-        buffer.append("  outlink: " + outlinks[i] + "\n");
+        buffer.append("  outlink: ").append(outlinks[i]).append("\n");
       }
     }
 
-    buffer.append("Content Metadata: " + contentMeta + "\n");
-    buffer.append("Parse Metadata: " + parseMeta + "\n");
+    buffer.append("Content Metadata:\n  ")
+        .append(contentMeta.toString("\n  ", " = ")).append("\n");
+    buffer.append("Parse Metadata:\n  ")
+        .append(parseMeta.toString("\n  ", " = ")).append("\n");
 
     return buffer.toString();
   }
diff --git a/src/java/org/apache/nutch/parse/ParserChecker.java b/src/java/org/apache/nutch/parse/ParserChecker.java
index 4dbfcfa..97dcd39 100644
--- a/src/java/org/apache/nutch/parse/ParserChecker.java
+++ b/src/java/org/apache/nutch/parse/ParserChecker.java
@@ -288,8 +288,8 @@
         }
       }
 
-      output.append(turl + "\n");
-      output.append(parse.getData() + "\n");
+      output.append(turl).append("\n");
+      output.append(parse.getData()).append("\n");
       if (dumpText) {
         output.append(parse.getText());
       }