modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/ErrorHandler.java | 11 +++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)
New commits: commit 536e0949945638a9dc57c1903826830cd8aae376 Author: John Mazzitelli mazz@redhat.com Date: Fri May 25 16:16:05 2012 -0400
[BZ 824898] if it looks like the exception message came from our ThrowableUtil (i.e. we look for the " -> " marker in the message), then we extract the last message after the last -> marker and assume that is the root cause.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/ErrorHandler.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/ErrorHandler.java index 3758acd..fdf4acb 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/ErrorHandler.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/ErrorHandler.java @@ -64,7 +64,16 @@ public class ErrorHandler { if (allMessages == null || allMessages.length == 0) { return null; } - return allMessages[allMessages.length - 1]; + String lastMessage = allMessages[allMessages.length - 1]; + + // our server side uses ThrowableUtil.getAllMessages which combines all + // causes into one long message with each cause separated with the marker " -> ". + // If we see that marker, take the message after the last marker. + int lastMarker = lastMessage.lastIndexOf(" -> "); + if (lastMarker != -1) { + lastMessage = lastMessage.substring(lastMarker + 4); + } + return lastMessage; }
public static String getAllMessages(Throwable t) {
rhq-commits@lists.fedorahosted.org