summaryrefslogtreecommitdiffstats
path: root/base/server/cms/src/org/dogtagpki/server/rest/SystemConfigService.java
diff options
context:
space:
mode:
Diffstat (limited to 'base/server/cms/src/org/dogtagpki/server/rest/SystemConfigService.java')
-rw-r--r--base/server/cms/src/org/dogtagpki/server/rest/SystemConfigService.java52
1 files changed, 34 insertions, 18 deletions
diff --git a/base/server/cms/src/org/dogtagpki/server/rest/SystemConfigService.java b/base/server/cms/src/org/dogtagpki/server/rest/SystemConfigService.java
index f9415f520..2b8e109a0 100644
--- a/base/server/cms/src/org/dogtagpki/server/rest/SystemConfigService.java
+++ b/base/server/cms/src/org/dogtagpki/server/rest/SystemConfigService.java
@@ -29,6 +29,7 @@ import java.util.Collection;
import java.util.Random;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.Request;
@@ -223,28 +224,22 @@ public class SystemConfigService extends PKIService implements SystemConfigResou
CMS.debug("=== Finalization ===");
setupSecurityDomain(data);
setupDBUser(data);
- finalizeConfiguration(data);
- cs.putInteger("cs.state", 1);
+ HttpSession session = servletRequest.getSession(true);
+ session.setAttribute("request", data);
+ session.setAttribute("response", response);
+ }
- // update serial numbers for clones
+ @Override
+ public ConfigurationResponse finalizeConfiguration() {
- // save some variables, remove remaining preops
- try {
- ConfigurationUtils.removePreopConfigEntries();
- } catch (EBaseException e) {
- CMS.debug(e);
- throw new PKIException("Errors when removing preop config entries: " + e, e);
- }
+ HttpSession session = servletRequest.getSession();
+ ConfigurationRequest request = (ConfigurationRequest)session.getAttribute("request");
+ ConfigurationResponse response = (ConfigurationResponse)session.getAttribute("response");
- // Create an empty file that designates the fact that although
- // this server instance has been configured, it has NOT yet
- // been restarted!
- String restart_server = instanceRoot + "/conf/" + RESTART_SERVER_AFTER_CONFIGURATION;
- Utils.exec("touch " + restart_server);
- Utils.exec("chmod 00660 " + restart_server);
+ finalizeConfiguration(request, response);
- response.setStatus(SUCCESS);
+ return response;
}
private void setupDBUser(ConfigurationRequest data) {
@@ -605,7 +600,28 @@ public class SystemConfigService extends PKIService implements SystemConfigResou
}
}
- public void finalizeConfiguration(ConfigurationRequest request) {
+ public void finalizeConfiguration(ConfigurationRequest request, ConfigurationResponse response) {
+
+ cs.putInteger("cs.state", 1);
+
+ // update serial numbers for clones
+
+ // save some variables, remove remaining preops
+ try {
+ ConfigurationUtils.removePreopConfigEntries();
+ } catch (EBaseException e) {
+ CMS.debug(e);
+ throw new PKIException("Errors when removing preop config entries: " + e, e);
+ }
+
+ // Create an empty file that designates the fact that although
+ // this server instance has been configured, it has NOT yet
+ // been restarted!
+ String restart_server = instanceRoot + "/conf/" + RESTART_SERVER_AFTER_CONFIGURATION;
+ Utils.exec("touch " + restart_server);
+ Utils.exec("chmod 00660 " + restart_server);
+
+ response.setStatus(SUCCESS);
}
public void configureAdministrator(ConfigurationRequest data, ConfigurationResponse response) {