diff options
Diffstat (limited to 'base/server/cms/src/org')
-rw-r--r-- | base/server/cms/src/org/dogtagpki/server/rest/SystemConfigService.java | 52 |
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) { |