diff --git a/jdk/src/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java b/jdk/src/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java
index d44a8fc2ecf..bdf01b8d5c6 100644
--- a/jdk/src/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java
+++ b/jdk/src/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java
@@ -84,7 +84,7 @@ class AllClassesQuery extends QueryHandler {
lastPackage = pkg;
printClass(clazz);
if (clazz.getId() != -1) {
- out.print(" [" + clazz.getIdString() + "]");
+ print(" [" + clazz.getIdString() + "]");
}
out.println("
");
}
diff --git a/jdk/src/share/classes/com/sun/tools/hat/internal/server/ClassQuery.java b/jdk/src/share/classes/com/sun/tools/hat/internal/server/ClassQuery.java
index 1d5782390ce..f13572a22cc 100644
--- a/jdk/src/share/classes/com/sun/tools/hat/internal/server/ClassQuery.java
+++ b/jdk/src/share/classes/com/sun/tools/hat/internal/server/ClassQuery.java
@@ -112,12 +112,12 @@ class ClassQuery extends QueryHandler {
out.println("
");
- exp.printStackTrace(out);
- out.println("");
+ printException(exp);
}
}
}
diff --git a/jdk/src/share/classes/com/sun/tools/hat/internal/server/OQLQuery.java b/jdk/src/share/classes/com/sun/tools/hat/internal/server/OQLQuery.java
index 8e5ec5e2894..3e99bbcbb74 100644
--- a/jdk/src/share/classes/com/sun/tools/hat/internal/server/OQLQuery.java
+++ b/jdk/src/share/classes/com/sun/tools/hat/internal/server/OQLQuery.java
@@ -32,10 +32,7 @@
package com.sun.tools.hat.internal.server;
-import com.sun.tools.hat.internal.model.*;
import com.sun.tools.hat.internal.oql.*;
-import com.sun.tools.hat.internal.util.ArraySorter;
-import com.sun.tools.hat.internal.util.Comparer;
/**
* This handles Object Query Language (OQL) queries.
@@ -68,7 +65,7 @@ class OQLQuery extends QueryHandler {
out.println(""); out.println(""); out.println("
"); @@ -91,10 +88,7 @@ class OQLQuery extends QueryHandler { try { out.println(engine.toHtml(o)); } catch (Exception e) { - out.println(e.getMessage()); - out.println("");
- e.printStackTrace(out);
- out.println("");
+ printException(e);
}
out.println("");
return false;
@@ -102,10 +96,7 @@ class OQLQuery extends QueryHandler {
});
out.println("");
} catch (OQLException exp) {
- out.println(exp.getMessage());
- out.println("");
- exp.printStackTrace(out);
- out.println("");
+ printException(exp);
}
}
diff --git a/jdk/src/share/classes/com/sun/tools/hat/internal/server/QueryHandler.java b/jdk/src/share/classes/com/sun/tools/hat/internal/server/QueryHandler.java
index deda0f48058..9a6d93de06a 100644
--- a/jdk/src/share/classes/com/sun/tools/hat/internal/server/QueryHandler.java
+++ b/jdk/src/share/classes/com/sun/tools/hat/internal/server/QueryHandler.java
@@ -36,6 +36,7 @@ import java.io.PrintWriter;
import com.sun.tools.hat.internal.model.*;
import com.sun.tools.hat.internal.util.Misc;
+import java.io.StringWriter;
import java.net.URLEncoder;
import java.io.UnsupportedEncodingException;
@@ -96,7 +97,7 @@ abstract class QueryHandler {
}
protected void error(String msg) {
- out.println(msg);
+ println(msg);
}
protected void printAnchorStart() {
@@ -160,7 +161,6 @@ abstract class QueryHandler {
out.println("null");
return;
}
- String name = clazz.getName();
printAnchorStart();
out.print("class/");
print(encodeForURL(clazz));
@@ -208,6 +208,15 @@ abstract class QueryHandler {
}
}
+ protected void printException(Throwable t) {
+ println(t.getMessage());
+ out.println("");
+ StringWriter sw = new StringWriter();
+ t.printStackTrace(new PrintWriter(sw));
+ print(sw.toString());
+ out.println("");
+ }
+
protected void printHex(long addr) {
if (snapshot.getIdentifierSize() == 4) {
out.print(Misc.toHex((int)addr));
@@ -223,4 +232,8 @@ abstract class QueryHandler {
protected void print(String str) {
out.print(Misc.encodeHtml(str));
}
+
+ protected void println(String str) {
+ out.println(Misc.encodeHtml(str));
+ }
}
diff --git a/jdk/src/share/classes/com/sun/tools/hat/internal/server/RefsByTypeQuery.java b/jdk/src/share/classes/com/sun/tools/hat/internal/server/RefsByTypeQuery.java
index 5e7de9a8866..3337b471590 100644
--- a/jdk/src/share/classes/com/sun/tools/hat/internal/server/RefsByTypeQuery.java
+++ b/jdk/src/share/classes/com/sun/tools/hat/internal/server/RefsByTypeQuery.java
@@ -89,7 +89,7 @@ public class RefsByTypeQuery extends QueryHandler {
out.println(""); printClass(clazz); if (clazz.getId() != -1) { - out.println("[" + clazz.getIdString() + "]"); + println("[" + clazz.getIdString() + "]"); } out.println("
"); @@ -125,9 +125,9 @@ public class RefsByTypeQuery extends QueryHandler { JavaClass clazz = classes[i]; out.println("