From e4157cbfb8e0222fe599228ceea745c0dd3f2302 Mon Sep 17 00:00:00 2001 From: Peter Hormanns Date: Mon, 4 Nov 2013 17:28:41 +0100 Subject: [PATCH] find root exception --- hsarjcli/src/de/hsadmin/jscli/Main.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/hsarjcli/src/de/hsadmin/jscli/Main.java b/hsarjcli/src/de/hsadmin/jscli/Main.java index 3452ee5..fbfe97f 100644 --- a/hsarjcli/src/de/hsadmin/jscli/Main.java +++ b/hsarjcli/src/de/hsadmin/jscli/Main.java @@ -43,8 +43,9 @@ public class Main { try { scriptClient.execute(command); console.println(formatter.format(scriptClient.getLastRpcResult())); - } catch (Exception e) { - console.println("Error: " + e.getLocalizedMessage() + "\n"); + } catch (JSCliException e) { + final String errorMessage = createErrorMessage(e); + console.println(errorMessage + "\n"); } command = console.readInput(); } @@ -55,4 +56,17 @@ public class Main { } } + private static String createErrorMessage(final JSCliException e) { + String errorMessage = "Error: " + e.getLocalizedMessage(); + Throwable cause = e; + while (cause.getCause() != null) { + cause = cause.getCause(); + } + errorMessage = cause.getLocalizedMessage(); + if (errorMessage.contains("de.hsadmin.rpc.VOUserException:")) { + errorMessage = errorMessage.substring(errorMessage.indexOf("de.hsadmin.rpc.VOUserException:") + 31).trim(); + } + return errorMessage; + } + }