summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2014-02-14 17:04:42 -0500
committerEndi S. Dewata <edewata@redhat.com>2014-02-18 11:36:02 -0500
commit2d6958f97699d40fb945ef33dc4de7ae85677bc5 (patch)
tree7f5e894edcdf6d1964541ec69132c870b57ff315 /base
parent4e6bd3661910eae5670f9e029fe370c7c9138d83 (diff)
downloadpki-2d6958f97699d40fb945ef33dc4de7ae85677bc5.tar.gz
pki-2d6958f97699d40fb945ef33dc4de7ae85677bc5.tar.xz
pki-2d6958f97699d40fb945ef33dc4de7ae85677bc5.zip
Updated REST interface for TPS certificates.
The REST interface for TPS certificates has been modified to return Response objects to allow better handling of server responses. Ticket #554
Diffstat (limited to 'base')
-rw-r--r--base/common/src/com/netscape/certsrv/tps/cert/TPSCertClient.java8
-rw-r--r--base/common/src/com/netscape/certsrv/tps/cert/TPSCertResource.java9
-rw-r--r--base/tps-tomcat/src/org/dogtagpki/server/tps/cert/TPSCertService.java9
3 files changed, 18 insertions, 8 deletions
diff --git a/base/common/src/com/netscape/certsrv/tps/cert/TPSCertClient.java b/base/common/src/com/netscape/certsrv/tps/cert/TPSCertClient.java
index 810c64758..e1e192557 100644
--- a/base/common/src/com/netscape/certsrv/tps/cert/TPSCertClient.java
+++ b/base/common/src/com/netscape/certsrv/tps/cert/TPSCertClient.java
@@ -19,6 +19,8 @@ package com.netscape.certsrv.tps.cert;
import java.net.URISyntaxException;
+import javax.ws.rs.core.Response;
+
import com.netscape.certsrv.client.Client;
import com.netscape.certsrv.client.PKIClient;
@@ -39,10 +41,12 @@ public class TPSCertClient extends Client {
}
public TPSCertCollection findCerts(Integer start, Integer size) {
- return resource.findCerts(start, size);
+ Response response = resource.findCerts(start, size);
+ return client.getEntity(response, TPSCertCollection.class);
}
public TPSCertData getCert(String tokenID) {
- return resource.getCert(tokenID);
+ Response response = resource.getCert(tokenID);
+ return client.getEntity(response, TPSCertData.class);
}
}
diff --git a/base/common/src/com/netscape/certsrv/tps/cert/TPSCertResource.java b/base/common/src/com/netscape/certsrv/tps/cert/TPSCertResource.java
index d56cd4669..2ea24eed8 100644
--- a/base/common/src/com/netscape/certsrv/tps/cert/TPSCertResource.java
+++ b/base/common/src/com/netscape/certsrv/tps/cert/TPSCertResource.java
@@ -23,6 +23,9 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import org.jboss.resteasy.annotations.ClientResponseType;
/**
@@ -32,13 +35,15 @@ import javax.ws.rs.core.MediaType;
public interface TPSCertResource {
@GET
+ @ClientResponseType(entityType=TPSCertCollection.class)
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
- public TPSCertCollection findCerts(
+ public Response findCerts(
@QueryParam("start") Integer start,
@QueryParam("size") Integer size);
@GET
@Path("{certID}")
+ @ClientResponseType(entityType=TPSCertData.class)
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
- public TPSCertData getCert(@PathParam("certID") String certID);
+ public Response getCert(@PathParam("certID") String certID);
}
diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/cert/TPSCertService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/cert/TPSCertService.java
index cc05a11ec..0397f5cc1 100644
--- a/base/tps-tomcat/src/org/dogtagpki/server/tps/cert/TPSCertService.java
+++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/cert/TPSCertService.java
@@ -27,6 +27,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.Request;
+import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import org.dogtagpki.server.tps.TPSSubsystem;
@@ -107,7 +108,7 @@ public class TPSCertService extends PKIService implements TPSCertResource {
}
@Override
- public TPSCertCollection findCerts(Integer start, Integer size) {
+ public Response findCerts(Integer start, Integer size) {
System.out.println("TPSCertService.findCerts()");
@@ -145,7 +146,7 @@ public class TPSCertService extends PKIService implements TPSCertResource {
response.addLink(new Link("next", uri));
}
- return response;
+ return createOKResponse(response);
} catch (Exception e) {
e.printStackTrace();
@@ -154,7 +155,7 @@ public class TPSCertService extends PKIService implements TPSCertResource {
}
@Override
- public TPSCertData getCert(String certID) {
+ public Response getCert(String certID) {
if (certID == null) throw new BadRequestException("Certificate ID is null.");
@@ -164,7 +165,7 @@ public class TPSCertService extends PKIService implements TPSCertResource {
TPSSubsystem subsystem = (TPSSubsystem)CMS.getSubsystem(TPSSubsystem.ID);
TPSCertDatabase database = subsystem.getCertDatabase();
- return createCertData(database.getRecord(certID));
+ return createOKResponse(createCertData(database.getRecord(certID)));
} catch (Exception e) {
e.printStackTrace();