summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2014-04-28 14:21:31 -0400
committerEndi S. Dewata <edewata@redhat.com>2014-04-28 18:53:47 -0400
commit05fea2520ae50d74f18017b26f5d58936e29af07 (patch)
treeb4f3063455e0bd51bfde7ac5267a4822887fd5a8
parent4a6f2615144371873c1ad9b84e4b47f28d65213e (diff)
downloadpki-05fea2520ae50d74f18017b26f5d58936e29af07.tar.gz
pki-05fea2520ae50d74f18017b26f5d58936e29af07.tar.xz
pki-05fea2520ae50d74f18017b26f5d58936e29af07.zip
Updated REST interface for security domain.
The REST interface for security domain has been modified to return Response objects to allow better handling of server responses. Ticket #554
-rw-r--r--base/common/src/com/netscape/certsrv/system/SecurityDomainClient.java8
-rw-r--r--base/common/src/com/netscape/certsrv/system/SecurityDomainResource.java9
-rw-r--r--base/server/cms/src/org/dogtagpki/server/rest/SecurityDomainService.java12
3 files changed, 21 insertions, 8 deletions
diff --git a/base/common/src/com/netscape/certsrv/system/SecurityDomainClient.java b/base/common/src/com/netscape/certsrv/system/SecurityDomainClient.java
index 6c6a5d3d5..1775a6994 100644
--- a/base/common/src/com/netscape/certsrv/system/SecurityDomainClient.java
+++ b/base/common/src/com/netscape/certsrv/system/SecurityDomainClient.java
@@ -19,6 +19,8 @@ package com.netscape.certsrv.system;
import java.net.URISyntaxException;
+import javax.ws.rs.core.Response;
+
import com.netscape.certsrv.client.Client;
import com.netscape.certsrv.client.PKIClient;
@@ -40,10 +42,12 @@ public class SecurityDomainClient extends Client {
}
public InstallToken getInstallToken(String hostname, String subsystem) {
- return securityDomainClient.getInstallToken(hostname, subsystem);
+ Response response = securityDomainClient.getInstallToken(hostname, subsystem);
+ return client.getEntity(response, InstallToken.class);
}
public DomainInfo getDomainInfo() {
- return securityDomainClient.getDomainInfo();
+ Response response = securityDomainClient.getDomainInfo();
+ return client.getEntity(response, DomainInfo.class);
}
}
diff --git a/base/common/src/com/netscape/certsrv/system/SecurityDomainResource.java b/base/common/src/com/netscape/certsrv/system/SecurityDomainResource.java
index 7522c53a6..7ad87557c 100644
--- a/base/common/src/com/netscape/certsrv/system/SecurityDomainResource.java
+++ b/base/common/src/com/netscape/certsrv/system/SecurityDomainResource.java
@@ -20,6 +20,9 @@ package com.netscape.certsrv.system;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Response;
+
+import org.jboss.resteasy.annotations.ClientResponseType;
import com.netscape.certsrv.acls.ACLMapping;
import com.netscape.certsrv.authentication.AuthMethodMapping;
@@ -34,11 +37,13 @@ public interface SecurityDomainResource {
@Path("installToken")
@ACLMapping("securityDomain.installToken")
@AuthMethodMapping("securityDomain.installToken")
- public InstallToken getInstallToken(
+ @ClientResponseType(entityType=InstallToken.class)
+ public Response getInstallToken(
@QueryParam("hostname") String hostname,
@QueryParam("subsystem") String subsystem);
@GET
@Path("domainInfo")
- public DomainInfo getDomainInfo();
+ @ClientResponseType(entityType=DomainInfo.class)
+ public Response getDomainInfo();
}
diff --git a/base/server/cms/src/org/dogtagpki/server/rest/SecurityDomainService.java b/base/server/cms/src/org/dogtagpki/server/rest/SecurityDomainService.java
index 27a0fde11..23c439c7e 100644
--- a/base/server/cms/src/org/dogtagpki/server/rest/SecurityDomainService.java
+++ b/base/server/cms/src/org/dogtagpki/server/rest/SecurityDomainService.java
@@ -21,6 +21,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 com.netscape.certsrv.base.EBaseException;
@@ -49,13 +50,15 @@ public class SecurityDomainService extends PKIService implements SecurityDomainR
private HttpServletRequest servletRequest;
@Override
- public InstallToken getInstallToken(String hostname, String subsystem) {
+ public Response getInstallToken(String hostname, String subsystem) {
try {
// Get uid from realm authentication.
String user = servletRequest.getUserPrincipal().getName();
SecurityDomainProcessor processor = new SecurityDomainProcessor(getLocale(headers));
- return processor.getInstallToken(user, hostname, subsystem);
+ InstallToken installToken = processor.getInstallToken(user, hostname, subsystem);
+ return createOKResponse(installToken);
+
} catch (EBaseException e) {
throw new PKIException(e.getMessage(), e);
@@ -63,10 +66,11 @@ public class SecurityDomainService extends PKIService implements SecurityDomainR
}
@Override
- public DomainInfo getDomainInfo() throws PKIException {
+ public Response getDomainInfo() throws PKIException {
try {
SecurityDomainProcessor processor = new SecurityDomainProcessor(getLocale(headers));
- return processor.getDomainInfo();
+ DomainInfo domainInfo = processor.getDomainInfo();
+ return createOKResponse(domainInfo);
} catch (EBaseException e) {
throw new PKIException(e.getMessage(), e);