From 1aa02e5207514d210e903d23e1d698b85fc29344 Mon Sep 17 00:00:00 2001 From: Endi Sukma Dewata Date: Sat, 11 Aug 2012 09:47:39 -0500 Subject: Reorganized REST common classes. The common classes used by REST client and services have been moved into the com.netscape.certsrv. packages. Ticket #215 --- .../netscape/certsrv/request/CMSRequestInfo.java | 88 ++++++++++++++++++++++ .../netscape/certsrv/request/CMSRequestInfos.java | 59 +++++++++++++++ .../certsrv/request/RequestNotFoundException.java | 45 +++++++++++ 3 files changed, 192 insertions(+) create mode 100644 base/common/src/com/netscape/certsrv/request/CMSRequestInfo.java create mode 100644 base/common/src/com/netscape/certsrv/request/CMSRequestInfos.java create mode 100644 base/common/src/com/netscape/certsrv/request/RequestNotFoundException.java (limited to 'base/common/src/com/netscape/certsrv/request') diff --git a/base/common/src/com/netscape/certsrv/request/CMSRequestInfo.java b/base/common/src/com/netscape/certsrv/request/CMSRequestInfo.java new file mode 100644 index 000000000..0be24fbb4 --- /dev/null +++ b/base/common/src/com/netscape/certsrv/request/CMSRequestInfo.java @@ -0,0 +1,88 @@ +//--- BEGIN COPYRIGHT BLOCK --- +//This program is free software; you can redistribute it and/or modify +//it under the terms of the GNU General Public License as published by +//the Free Software Foundation; version 2 of the License. +// +//This program is distributed in the hope that it will be useful, +//but WITHOUT ANY WARRANTY; without even the implied warranty of +//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//GNU General Public License for more details. +// +//You should have received a copy of the GNU General Public License along +//with this program; if not, write to the Free Software Foundation, Inc., +//51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +// +//(C) 2012 Red Hat, Inc. +//All rights reserved. +//--- END COPYRIGHT BLOCK --- +package com.netscape.certsrv.request; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + +@XmlAccessorType(XmlAccessType.FIELD) +public class CMSRequestInfo { + + @XmlElement + protected String requestType; + + @XmlElement + @XmlJavaTypeAdapter(RequestStatusAdapter.class) + protected RequestStatus requestStatus; + + @XmlElement + protected String requestURL; + + /** + * @return the requestType + */ + public String getRequestType() { + return requestType; + } + + /** + * @param requestType the requestType to set + */ + public void setRequestType(String requestType) { + this.requestType = requestType; + } + + /** + * @return the requestStatus + */ + public RequestStatus getRequestStatus() { + return requestStatus; + } + + /** + * @param requestStatus the requestStatus to set + */ + public void setRequestStatus(RequestStatus requestStatus) { + this.requestStatus = requestStatus; + } + + /** + * @return the requestURL + */ + public String getRequestURL() { + return requestURL; + } + + /** + * @return the request ID in the requestURL + */ + public RequestId getRequestId() { + String id = requestURL.substring(requestURL.lastIndexOf("/") + 1); + return new RequestId(id); + } + + /** + * @param requestURL the requestURL to set + */ + public void setRequestURL(String requestURL) { + this.requestURL = requestURL; + } + +} diff --git a/base/common/src/com/netscape/certsrv/request/CMSRequestInfos.java b/base/common/src/com/netscape/certsrv/request/CMSRequestInfos.java new file mode 100644 index 000000000..cb07caf71 --- /dev/null +++ b/base/common/src/com/netscape/certsrv/request/CMSRequestInfos.java @@ -0,0 +1,59 @@ +//--- BEGIN COPYRIGHT BLOCK --- +//This program is free software; you can redistribute it and/or modify +//it under the terms of the GNU General Public License as published by +//the Free Software Foundation; version 2 of the License. +// +//This program is distributed in the hope that it will be useful, +//but WITHOUT ANY WARRANTY; without even the implied warranty of +//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//GNU General Public License for more details. +// +//You should have received a copy of the GNU General Public License along +//with this program; if not, write to the Free Software Foundation, Inc., +//51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +// +//(C) 2011 Red Hat, Inc. +//All rights reserved. +//--- END COPYRIGHT BLOCK --- +package com.netscape.certsrv.request; + +import java.util.Collection; +import java.util.List; + +import com.netscape.certsrv.base.Link; + +//Convenience class to simply hold a Collection of CMSRequests and a List of Links. +public class CMSRequestInfos { + + protected Collection requests; + protected List links; + + /** + * @return the requests + */ + public Collection getRequests() { + return requests; + } + + /** + * @param requests the requests to set + */ + public void setRequests(Collection requests) { + this.requests = requests; + } + + /** + * @return the links + */ + public List getLinks() { + return links; + } + + /** + * @param links the links to set + */ + public void setLinks(List links) { + this.links = links; + } + +} diff --git a/base/common/src/com/netscape/certsrv/request/RequestNotFoundException.java b/base/common/src/com/netscape/certsrv/request/RequestNotFoundException.java new file mode 100644 index 000000000..3db10dd3a --- /dev/null +++ b/base/common/src/com/netscape/certsrv/request/RequestNotFoundException.java @@ -0,0 +1,45 @@ +package com.netscape.certsrv.request; + +import javax.ws.rs.core.Response; + +import com.netscape.certsrv.base.PKIException; + +public class RequestNotFoundException extends PKIException { + + 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; + } +} -- cgit