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