X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.support.simple%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fmsg%2FExecutionAnswer.java;h=0ae20be70e495c6c434cbed6d7be8ed186e83260;hb=96f732785d5236ab435f6be5da3d53ba66c9b86d;hp=e113f98bb65a95d012b87791c59d019649384b56;hpb=71412758e17f020094abef5dc2569c3e6386309e;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/msg/ExecutionAnswer.java b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/msg/ExecutionAnswer.java index e113f98bb..0ae20be70 100644 --- a/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/msg/ExecutionAnswer.java +++ b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/msg/ExecutionAnswer.java @@ -1,5 +1,9 @@ package org.argeo.slc.msg; +import java.io.PrintWriter; +import java.io.StringWriter; + +import org.apache.commons.io.IOUtils; import org.argeo.slc.SlcException; /** Answer to an execution of a remote service which performed changes. */ @@ -44,6 +48,16 @@ public class ExecutionAnswer { return new ExecutionAnswer(ERROR, message); } + public static ExecutionAnswer error(Throwable e) { + StringWriter writer = new StringWriter(); + try { + e.printStackTrace(new PrintWriter(writer)); + return new ExecutionAnswer(ERROR, writer.toString()); + } finally { + IOUtils.closeQuietly(writer); + } + } + public static ExecutionAnswer ok(String message) { return new ExecutionAnswer(OK, message); }