package aQute.bnd.jpm.util; import java.io.PrintStream; import java.io.PrintWriter; import aQute.jsonrpc.domain.JSON.JSONRPCError; import aQute.lib.strings.Strings; public class JSONRpcException extends RuntimeException { private static final long serialVersionUID = 1L; private JSONRPCError error; public JSONRpcException(JSONRPCError error) { this.error = error; } public String toString() { return "[" + error.code + "] " + error.message; } @Override public void printStackTrace(PrintWriter writer) { writer.append("FROM REMOTE SYSTEM\n"); if (error != null && error.trace != null) writer.append(Strings.join("\n", error.trace)); } @Override public void printStackTrace(PrintStream writer) { PrintWriter pw = new PrintWriter(writer); printStackTrace(pw); } @Override public void printStackTrace() { printStackTrace(System.out); } }