summaryrefslogtreecommitdiffstats
path: root/base/common/src/com/netscape/cms/servlet/csadmin/SystemConfigurationResource.java
diff options
context:
space:
mode:
authorAde Lee <alee@redhat.com>2012-04-13 13:51:32 -0400
committerAde Lee <alee@redhat.com>2012-05-01 17:22:38 -0400
commit80aff97bedf8c2ee5f58209f36f18ebbc475ccb1 (patch)
tree7a4e6a79f0e29c0596c81aaef47009d66cb56ccf /base/common/src/com/netscape/cms/servlet/csadmin/SystemConfigurationResource.java
parentdd566ed3c64a69801a9edf3b27f11077aa40ecef (diff)
downloadpki-80aff97bedf8c2ee5f58209f36f18ebbc475ccb1.tar.gz
pki-80aff97bedf8c2ee5f58209f36f18ebbc475ccb1.tar.xz
pki-80aff97bedf8c2ee5f58209f36f18ebbc475ccb1.zip
RESTful servlet to configure system in a single servlet.
Installation code common to the panels and the installation servlet are extracted to a ConfigurationUtils file. The panel code will be cleaned up to use the code in this class in a later commit. Contains restful client and test driver code. The test driver code should be modified and placed in a junit/system test framework. Installation has been tested to work with the following installations: master CA, clone CA, KRA, OCSP, TKS, subordinate CA, CA signed by external CA (parts 1 and 2). Ticket #155
Diffstat (limited to 'base/common/src/com/netscape/cms/servlet/csadmin/SystemConfigurationResource.java')
-rw-r--r--base/common/src/com/netscape/cms/servlet/csadmin/SystemConfigurationResource.java66
1 files changed, 66 insertions, 0 deletions
diff --git a/base/common/src/com/netscape/cms/servlet/csadmin/SystemConfigurationResource.java b/base/common/src/com/netscape/cms/servlet/csadmin/SystemConfigurationResource.java
new file mode 100644
index 000000000..ff582561c
--- /dev/null
+++ b/base/common/src/com/netscape/cms/servlet/csadmin/SystemConfigurationResource.java
@@ -0,0 +1,66 @@
+// --- 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.cms.servlet.csadmin;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.MultivaluedMap;
+
+import com.netscape.cms.servlet.csadmin.model.ConfigurationData;
+import com.netscape.cms.servlet.csadmin.model.ConfigurationResponseData;
+import com.netscape.cms.servlet.csadmin.model.DomainInfo;
+import com.netscape.cms.servlet.csadmin.model.InstallToken;
+import com.netscape.cms.servlet.csadmin.model.InstallTokenRequest;
+
+/**
+ * @author alee
+ *
+ */
+@Path("/installer")
+public interface SystemConfigurationResource {
+
+ @POST
+ @Path("configure")
+ @Produces({ MediaType.TEXT_XML })
+ @Consumes({ MediaType.APPLICATION_FORM_URLENCODED})
+ public ConfigurationResponseData configure(MultivaluedMap<String, String> form);
+
+ @POST
+ @Path("configure")
+ @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON, MediaType.TEXT_XML })
+ @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
+ public ConfigurationResponseData configure(ConfigurationData data);
+
+ @POST
+ @Path("installToken")
+ @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON, MediaType.TEXT_XML })
+ @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
+ public InstallToken getInstallToken(InstallTokenRequest data);
+
+ @GET
+ @Path("domainInfo")
+ @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON, MediaType.TEXT_XML })
+ @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
+ public DomainInfo getDomainInfo();
+
+
+}