diff options
author | Endi Sukma Dewata <edewata@redhat.com> | 2012-03-01 19:58:34 -0600 |
---|---|---|
committer | Endi Sukma Dewata <edewata@redhat.com> | 2012-03-30 16:54:32 -0500 |
commit | 0b39b68e4e72cbcf0f4d28488d54ce06117efa9c (patch) | |
tree | 1a2cfc235f1f6a062e7c88c554a9f9bf82822f72 /base/common/src/com/netscape/cms/servlet/request/RequestNotFoundException.java | |
parent | 70fdf22f76494a84b6cbef10598ed897a48f0798 (diff) | |
download | pki-0b39b68e4e72cbcf0f4d28488d54ce06117efa9c.tar.gz pki-0b39b68e4e72cbcf0f4d28488d54ce06117efa9c.tar.xz pki-0b39b68e4e72cbcf0f4d28488d54ce06117efa9c.zip |
Added CMSException.
The CMSException was added to simplify error handling in REST services.
The exception may include an error message and some other attributes.
When the server throws a CMSException (or its subclass), the exception
will be marshalled into XML and unmarshalled by the client, then thrown
again as a new exception which can be caught by the application.
Ticket #100
Diffstat (limited to 'base/common/src/com/netscape/cms/servlet/request/RequestNotFoundException.java')
-rw-r--r-- | base/common/src/com/netscape/cms/servlet/request/RequestNotFoundException.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/base/common/src/com/netscape/cms/servlet/request/RequestNotFoundException.java b/base/common/src/com/netscape/cms/servlet/request/RequestNotFoundException.java new file mode 100644 index 000000000..5d6b5563b --- /dev/null +++ b/base/common/src/com/netscape/cms/servlet/request/RequestNotFoundException.java @@ -0,0 +1,46 @@ +package com.netscape.cms.servlet.request; + +import javax.ws.rs.core.Response; + +import com.netscape.certsrv.request.RequestId; +import com.netscape.cms.servlet.base.CMSException; + +public class RequestNotFoundException extends CMSException { + + private static final long serialVersionUID = -4784839378360933483L; + + public RequestId requestId; + + public RequestNotFoundException(RequestId requestId) { + this(requestId, "Request ID "+requestId.toHexString()+" not found"); + } + + public RequestNotFoundException(RequestId requestId, String message) { + super(Response.Status.NOT_FOUND, message); + this.requestId = requestId; + } + + public RequestNotFoundException(RequestId requestId, String message, Throwable cause) { + super(Response.Status.NOT_FOUND, message, cause); + this.requestId = requestId; + } + + public RequestNotFoundException(Data data) { + super(data); + requestId = new RequestId(data.getAttribute("requestId")); + } + + public Data getData() { + Data data = super.getData(); + data.setAttribute("requestId", requestId.toString()); + return data; + } + + public RequestId getRequestId() { + return requestId; + } + + public void setRequestId(RequestId requestId) { + this.requestId = requestId; + } +} |