summaryrefslogtreecommitdiffstats
path: root/base/ca
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2014-04-22 14:22:51 -0400
committerEndi S. Dewata <edewata@redhat.com>2014-04-25 19:03:35 -0400
commit8a6935ba8587ece5e5fcf8b65448c1b57d5ac463 (patch)
tree76df51348828d3f8c2f33a70a4eec2fd498ac44d /base/ca
parent5baa286e2104dee77bdc54ac1ad0bb73dfa1b769 (diff)
downloadpki-8a6935ba8587ece5e5fcf8b65448c1b57d5ac463.tar.gz
pki-8a6935ba8587ece5e5fcf8b65448c1b57d5ac463.tar.xz
pki-8a6935ba8587ece5e5fcf8b65448c1b57d5ac463.zip
Refactored SystemConfigService (part 12).
Subsystem-specific configuration codes have been moved from the SystemConfigService into the subsystem-specific installer. Ticket #890
Diffstat (limited to 'base/ca')
-rw-r--r--base/ca/src/org/dogtagpki/server/ca/rest/CAInstallerService.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/base/ca/src/org/dogtagpki/server/ca/rest/CAInstallerService.java b/base/ca/src/org/dogtagpki/server/ca/rest/CAInstallerService.java
index 7a1aa5a12..cc3c46585 100644
--- a/base/ca/src/org/dogtagpki/server/ca/rest/CAInstallerService.java
+++ b/base/ca/src/org/dogtagpki/server/ca/rest/CAInstallerService.java
@@ -19,7 +19,11 @@ package org.dogtagpki.server.ca.rest;
import org.dogtagpki.server.rest.SystemConfigService;
+import com.netscape.certsrv.apps.CMS;
import com.netscape.certsrv.base.EBaseException;
+import com.netscape.certsrv.base.PKIException;
+import com.netscape.certsrv.system.ConfigurationRequest;
+import com.netscape.cms.servlet.csadmin.ConfigurationUtils;
/**
* @author alee
@@ -29,4 +33,36 @@ public class CAInstallerService extends SystemConfigService {
public CAInstallerService() throws EBaseException {
}
+
+ @Override
+ public void finalizeConfiguration(ConfigurationRequest request) {
+
+ super.finalizeConfiguration(request);
+
+ try {
+ if (!request.getIsClone().equals("true")) {
+ ConfigurationUtils.updateNextRanges();
+ }
+
+ } catch (Exception e) {
+ CMS.debug(e);
+ throw new PKIException("Errors in updating next serial number ranges in DB: " + e);
+ }
+
+ try {
+ if (request.getIsClone().equals("true") && ConfigurationUtils.isSDHostDomainMaster(cs)) {
+ // cloning a domain master CA, the clone is also master of its domain
+ cs.putString("securitydomain.host", CMS.getEEHost());
+ cs.putString("securitydomain.httpport", CMS.getEENonSSLPort());
+ cs.putString("securitydomain.httpsadminport", CMS.getAdminPort());
+ cs.putString("securitydomain.httpsagentport", CMS.getAgentPort());
+ cs.putString("securitydomain.httpseeport", CMS.getEESSLPort());
+ cs.putString("securitydomain.select", "new");
+ }
+
+ } catch (Exception e) {
+ CMS.debug(e);
+ throw new PKIException("Errors in determining if security domain host is a master CA");
+ }
+ }
}