aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/web/api/src/main/java/org/onosproject/rest/exceptions/AbstractMapper.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/web/api/src/main/java/org/onosproject/rest/exceptions/AbstractMapper.java')
-rw-r--r--framework/src/onos/web/api/src/main/java/org/onosproject/rest/exceptions/AbstractMapper.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/framework/src/onos/web/api/src/main/java/org/onosproject/rest/exceptions/AbstractMapper.java b/framework/src/onos/web/api/src/main/java/org/onosproject/rest/exceptions/AbstractMapper.java
index f49202dd..0d9d94d3 100644
--- a/framework/src/onos/web/api/src/main/java/org/onosproject/rest/exceptions/AbstractMapper.java
+++ b/framework/src/onos/web/api/src/main/java/org/onosproject/rest/exceptions/AbstractMapper.java
@@ -29,6 +29,11 @@ import static com.google.common.base.Strings.isNullOrEmpty;
public abstract class AbstractMapper<E extends Throwable> implements ExceptionMapper<E> {
/**
+ * Holds the current exception for use in subclasses.
+ */
+ protected Throwable error;
+
+ /**
* Returns the response status to be given when the exception occurs.
*
* @return response status
@@ -37,6 +42,7 @@ public abstract class AbstractMapper<E extends Throwable> implements ExceptionMa
@Override
public Response toResponse(E exception) {
+ error = exception;
return response(responseStatus(), exception).build();
}
@@ -50,6 +56,7 @@ public abstract class AbstractMapper<E extends Throwable> implements ExceptionMa
*/
protected Response.ResponseBuilder response(Response.Status status,
Throwable exception) {
+ error = exception;
ObjectMapper mapper = new ObjectMapper();
String message = messageFrom(exception);
ObjectNode result = mapper.createObjectNode()