summaryrefslogtreecommitdiffstats
path: root/base/server/cmscore/src
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2014-02-20 16:58:34 -0500
committerEndi S. Dewata <edewata@redhat.com>2014-02-28 12:54:05 -0500
commitd6d197d1a4513a3262a59c3989845f69285a38ad (patch)
tree4c9becb4c5dc3ef66cf4be6c0bdd2406ab779f03 /base/server/cmscore/src
parent819fd31d34b3159e895f15bfad41bf483adca79e (diff)
downloadpki-d6d197d1a4513a3262a59c3989845f69285a38ad.tar.gz
pki-d6d197d1a4513a3262a59c3989845f69285a38ad.tar.xz
pki-d6d197d1a4513a3262a59c3989845f69285a38ad.zip
Reorganized REST service classes.
The REST service classes have been moved into org.dogtagpki.server namespace. A new upgrade script has been added to update existing instances. Ticket #114
Diffstat (limited to 'base/server/cmscore/src')
-rw-r--r--base/server/cmscore/src/com/netscape/cmscore/logging/AuditService.java176
-rw-r--r--base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestService.java181
-rw-r--r--base/server/cmscore/src/com/netscape/cmscore/usrgrp/User.java6
3 files changed, 3 insertions, 360 deletions
diff --git a/base/server/cmscore/src/com/netscape/cmscore/logging/AuditService.java b/base/server/cmscore/src/com/netscape/cmscore/logging/AuditService.java
deleted file mode 100644
index 284d8a639..000000000
--- a/base/server/cmscore/src/com/netscape/cmscore/logging/AuditService.java
+++ /dev/null
@@ -1,176 +0,0 @@
-// --- 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) 2013 Red Hat, Inc.
-// All rights reserved.
-// --- END COPYRIGHT BLOCK ---
-
-package com.netscape.cmscore.logging;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.util.Collection;
-import java.util.LinkedHashSet;
-
-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 org.apache.commons.lang.StringUtils;
-import org.jboss.resteasy.plugins.providers.atom.Link;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.BadRequestException;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IConfigStore;
-import com.netscape.certsrv.base.PKIException;
-import com.netscape.certsrv.logging.AuditConfig;
-import com.netscape.certsrv.logging.AuditResource;
-import com.netscape.cms.servlet.base.PKIService;
-
-/**
- * @author Endi S. Dewata
- */
-public class AuditService extends PKIService implements AuditResource {
-
- @Context
- private UriInfo uriInfo;
-
- @Context
- private HttpHeaders headers;
-
- @Context
- private Request request;
-
- @Context
- private HttpServletRequest servletRequest;
-
- public final static int DEFAULT_SIZE = 20;
-
- public AuditService() {
- CMS.debug("AuditService.<init>()");
- }
-
- public AuditConfig createAuditConfig() throws UnsupportedEncodingException, EBaseException {
-
- IConfigStore cs = CMS.getConfigStore();
-
- AuditConfig auditConfig = new AuditConfig();
- auditConfig.setEnabled(cs.getBoolean("log.instance.SignedAudit.enable", false));
- auditConfig.setSigned(cs.getBoolean("log.instance.SignedAudit.logSigning", false));
- auditConfig.setInterval(cs.getInteger("log.instance.SignedAudit.flushInterval", 5));
- auditConfig.setBufferSize(cs.getInteger("log.instance.SignedAudit.bufferSize", 512));
-
- // unselected events
- for (String event : StringUtils.split(cs.getString("log.instance.SignedAudit.unselected.events", ""), ", ")) {
- auditConfig.setOptionalEvent(event.trim(), false);
- }
-
- // in case of duplicates, selected events override unselected events
- for (String event : StringUtils.split(cs.getString("log.instance.SignedAudit.events", ""), ", ")) {
- auditConfig.setOptionalEvent(event.trim(), true);
- }
-
- // mandatory events
- for (String event : StringUtils.split(cs.getString("log.instance.SignedAudit.mandatory.events", ""), ", ")) {
- auditConfig.addMandatoryEvent(event.trim());
- }
-
- URI uri = uriInfo.getBaseUriBuilder().path(AuditResource.class).build();
- auditConfig.setLink(new Link("self", uri));
-
- return auditConfig;
- }
-
- @Override
- public Response getAuditConfig() {
-
- CMS.debug("AuditService.getAuditConfig()");
-
- try {
- return createOKResponse(createAuditConfig());
-
- } catch (PKIException e) {
- throw e;
-
- } catch (Exception e) {
- e.printStackTrace();
- throw new PKIException(e.getMessage());
- }
- }
-
- @Override
- public Response updateAuditConfig(AuditConfig auditConfig) {
-
- if (auditConfig == null) throw new BadRequestException("Audit config is null.");
-
- CMS.debug("AuditService.updateAuditConfig()");
-
- try {
- IConfigStore cs = CMS.getConfigStore();
-
- if (auditConfig.getEnabled() != null) {
- cs.putBoolean("log.instance.SignedAudit.enable", auditConfig.getEnabled());
- }
-
- if (auditConfig.getSigned() != null) {
- cs.putBoolean("log.instance.SignedAudit.logSigning", auditConfig.getSigned());
- }
-
- if (auditConfig.getInterval() != null) {
- cs.putInteger("log.instance.SignedAudit.flushInterval", auditConfig.getInterval());
- }
-
- if (auditConfig.getBufferSize() != null) {
- cs.putInteger("log.instance.SignedAudit.bufferSize", auditConfig.getBufferSize());
- }
-
- // update events selection
- Collection<String> selected = new LinkedHashSet<String>();
- Collection<String> unselected = new LinkedHashSet<String>();
-
- for (String name : auditConfig.getOptionalEvents().keySet()) {
- Boolean value = auditConfig.getOptionalEvent(name);
-
- if (value) {
- selected.add(name);
-
- } else {
- unselected.add(name);
- }
- }
-
- cs.putString("log.instance.SignedAudit.events", StringUtils.join(selected, ","));
- cs.putString("log.instance.SignedAudit.unselected.events", StringUtils.join(unselected, ","));
-
- // mandatory events cannot be updated
-
- cs.commit(true);
-
- auditConfig = createAuditConfig();
-
- return createOKResponse(auditConfig);
-
- } catch (PKIException e) {
- throw e;
-
- } catch (Exception e) {
- e.printStackTrace();
- throw new PKIException(e.getMessage());
- }
- }
-}
diff --git a/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestService.java b/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestService.java
deleted file mode 100644
index bc632fee1..000000000
--- a/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestService.java
+++ /dev/null
@@ -1,181 +0,0 @@
-// --- 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) 2013 Red Hat, Inc.
-// All rights reserved.
-// --- END COPYRIGHT BLOCK ---
-
-package com.netscape.cmscore.selftests;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.net.URLEncoder;
-import java.util.Arrays;
-import java.util.Iterator;
-
-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 org.jboss.resteasy.plugins.providers.atom.Link;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.BadRequestException;
-import com.netscape.certsrv.base.PKIException;
-import com.netscape.certsrv.selftests.EMissingSelfTestException;
-import com.netscape.certsrv.selftests.ISelfTestSubsystem;
-import com.netscape.certsrv.selftests.SelfTestCollection;
-import com.netscape.certsrv.selftests.SelfTestData;
-import com.netscape.certsrv.selftests.SelfTestResource;
-import com.netscape.cms.servlet.base.PKIService;
-
-/**
- * @author Endi S. Dewata
- */
-public class SelfTestService extends PKIService implements SelfTestResource {
-
- @Context
- private UriInfo uriInfo;
-
- @Context
- private HttpHeaders headers;
-
- @Context
- private Request request;
-
- @Context
- private HttpServletRequest servletRequest;
-
- public final static int DEFAULT_SIZE = 20;
-
- public SelfTestService() {
- CMS.debug("SelfTestService.<init>()");
- }
-
- public SelfTestData createSelfTestData(ISelfTestSubsystem subsystem, String selfTestID) throws UnsupportedEncodingException, EMissingSelfTestException {
-
- SelfTestData selfTestData = new SelfTestData();
- selfTestData.setID(selfTestID);
- selfTestData.setEnabledAtStartup(subsystem.isSelfTestEnabledAtStartup(selfTestID));
-
- try {
- selfTestData.setCriticalAtStartup(subsystem.isSelfTestCriticalAtStartup(selfTestID));
- } catch (EMissingSelfTestException e) {
- // ignore
- }
-
- selfTestData.setEnabledOnDemand(subsystem.isSelfTestEnabledOnDemand(selfTestID));
-
- try {
- selfTestData.setCriticalOnDemand(subsystem.isSelfTestCriticalOnDemand(selfTestID));
- } catch (EMissingSelfTestException e) {
- // ignore
- }
-
- selfTestID = URLEncoder.encode(selfTestID, "UTF-8");
- URI uri = uriInfo.getBaseUriBuilder().path(SelfTestResource.class).path("{selfTestID}").build(selfTestID);
- selfTestData.setLink(new Link("self", uri));
-
- return selfTestData;
- }
-
- @Override
- public Response findSelfTests(Integer start, Integer size) {
-
- CMS.debug("SelfTestService.findSelfTests()");
-
- try {
- start = start == null ? 0 : start;
- size = size == null ? DEFAULT_SIZE : size;
-
- ISelfTestSubsystem subsystem = (ISelfTestSubsystem)CMS.getSubsystem(ISelfTestSubsystem.ID);
- Iterator<String> entries = Arrays.asList(subsystem.listSelfTestsEnabledOnDemand()).iterator();
-
- SelfTestCollection response = new SelfTestCollection();
- int i = 0;
-
- // skip to the start of the page
- for ( ; i<start && entries.hasNext(); i++) entries.next();
-
- // return entries up to the page size
- for ( ; i<start+size && entries.hasNext(); i++) {
- SelfTestData data = createSelfTestData(subsystem, entries.next());
- response.addEntry(data);
- }
-
- // count the total entries
- for ( ; entries.hasNext(); i++) entries.next();
- response.setTotal(i);
-
- if (start > 0) {
- URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", Math.max(start-size, 0)).build();
- response.addLink(new Link("prev", uri));
- }
-
- if (start+size < i) {
- URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", start+size).build();
- response.addLink(new Link("next", uri));
- }
-
- return createOKResponse(response);
-
- } catch (Exception e) {
- e.printStackTrace();
- throw new PKIException(e.getMessage());
- }
- }
-
- @Override
- public Response getSelfTest(String selfTestID) {
-
- if (selfTestID == null) throw new BadRequestException("Self test ID is null.");
-
- CMS.debug("SelfTestService.getSelfTest(\"" + selfTestID + "\")");
-
- try {
- ISelfTestSubsystem subsystem = (ISelfTestSubsystem)CMS.getSubsystem(ISelfTestSubsystem.ID);
- return createOKResponse(createSelfTestData(subsystem, selfTestID));
-
- } catch (Exception e) {
- e.printStackTrace();
- throw new PKIException(e.getMessage());
- }
- }
-
- @Override
- public Response executeSelfTests(String action) {
-
- if (action == null) throw new BadRequestException("Action is null.");
-
- CMS.debug("SelfTestService.executeSelfTests(\"" + action + "\")");
-
- if (!"run".equals(action)) {
- throw new BadRequestException("Invalid action: " + action);
- }
-
- try {
- ISelfTestSubsystem subsystem = (ISelfTestSubsystem)CMS.getSubsystem(ISelfTestSubsystem.ID);
- subsystem.runSelfTestsOnDemand();
-
- } catch (Exception e) {
- e.printStackTrace();
- throw new PKIException(e.getMessage());
- }
-
- return createNoContentResponse();
- }
-}
diff --git a/base/server/cmscore/src/com/netscape/cmscore/usrgrp/User.java b/base/server/cmscore/src/com/netscape/cmscore/usrgrp/User.java
index ef09a1ab5..dd59335bd 100644
--- a/base/server/cmscore/src/com/netscape/cmscore/usrgrp/User.java
+++ b/base/server/cmscore/src/com/netscape/cmscore/usrgrp/User.java
@@ -25,9 +25,9 @@ import java.util.Vector;
import com.netscape.certsrv.apps.CMS;
import com.netscape.certsrv.base.EBaseException;
+import com.netscape.certsrv.user.UserResource;
import com.netscape.certsrv.usrgrp.IUser;
import com.netscape.certsrv.usrgrp.IUsrGrp;
-import com.netscape.cms.servlet.admin.UserService;
/**
* A class represents a user.
@@ -77,7 +77,7 @@ public class User implements IUser {
public void setTpsProfiles(List<String> tpsProfiles) {
boolean setAll = false;
for (String profile: tpsProfiles) {
- if (profile.equals(UserService.ALL_PROFILES)) {
+ if (profile.equals(UserResource.ALL_PROFILES)) {
setAll = true;
break;
}
@@ -86,7 +86,7 @@ public class User implements IUser {
this.tpsProfiles = tpsProfiles;
} else {
List<String> list = new ArrayList<String>();
- list.add(UserService.ALL_PROFILES);
+ list.add(UserResource.ALL_PROFILES);
this.tpsProfiles = list;
}
}