diff options
author | Endi S. Dewata <edewata@redhat.com> | 2014-04-28 14:21:31 -0400 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2014-04-28 18:53:47 -0400 |
commit | 05fea2520ae50d74f18017b26f5d58936e29af07 (patch) | |
tree | b4f3063455e0bd51bfde7ac5267a4822887fd5a8 | |
parent | 4a6f2615144371873c1ad9b84e4b47f28d65213e (diff) | |
download | pki-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
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); |