X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=runtime%2Forg.argeo.slc.support.simple%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fmsg%2FExecutionAnswer.java;h=0ae20be70e495c6c434cbed6d7be8ed186e83260;hb=96f732785d5236ab435f6be5da3d53ba66c9b86d;hp=4a036ccfeedbcbffb1ac430af301ffe5be1f5a90;hpb=9a0f97cf056ac905050c33041f1cda563e60c742;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 4a036ccfe..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. */ @@ -40,4 +44,22 @@ public class ExecutionAnswer { this.message = message; } + public static ExecutionAnswer error(String message) { + 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); + } + }