summaryrefslogtreecommitdiffstats
path: root/base/kra/src/org/dogtagpki/server/kra/rest/KRAApplication.java
diff options
context:
space:
mode:
Diffstat (limited to 'base/kra/src/org/dogtagpki/server/kra/rest/KRAApplication.java')
-rw-r--r--base/kra/src/org/dogtagpki/server/kra/rest/KRAApplication.java82
1 files changed, 82 insertions, 0 deletions
diff --git a/base/kra/src/org/dogtagpki/server/kra/rest/KRAApplication.java b/base/kra/src/org/dogtagpki/server/kra/rest/KRAApplication.java
new file mode 100644
index 000000000..ea8a6c038
--- /dev/null
+++ b/base/kra/src/org/dogtagpki/server/kra/rest/KRAApplication.java
@@ -0,0 +1,82 @@
+package org.dogtagpki.server.kra.rest;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import javax.ws.rs.core.Application;
+
+import org.dogtagpki.server.rest.ACLInterceptor;
+import org.dogtagpki.server.rest.AccountService;
+import org.dogtagpki.server.rest.AuditService;
+import org.dogtagpki.server.rest.AuthMethodInterceptor;
+import org.dogtagpki.server.rest.GroupService;
+import org.dogtagpki.server.rest.SecurityDomainService;
+import org.dogtagpki.server.rest.SelfTestService;
+import org.dogtagpki.server.rest.SystemCertService;
+import org.dogtagpki.server.rest.SystemConfigService;
+import org.dogtagpki.server.rest.UserService;
+
+import com.netscape.certsrv.apps.CMS;
+import com.netscape.certsrv.base.EBaseException;
+import com.netscape.certsrv.base.IConfigStore;
+import com.netscape.certsrv.base.PKIException;
+
+public class KRAApplication extends Application {
+
+ private Set<Object> singletons = new LinkedHashSet<Object>();
+ private Set<Class<?>> classes = new LinkedHashSet<Class<?>>();
+
+ public KRAApplication() {
+
+ // account
+ classes.add(AccountService.class);
+
+ // audit
+ classes.add(AuditService.class);
+
+ // installer
+ classes.add(SystemConfigService.class);
+
+ // security domain
+ IConfigStore cs = CMS.getConfigStore();
+ try {
+ boolean standalone = cs.getBoolean("kra.standalone", false);
+ if (standalone) {
+ classes.add(SecurityDomainService.class);
+ }
+ } catch (EBaseException e) {
+ CMS.debug(e);
+ throw new RuntimeException(e);
+ }
+
+ // keys and keyrequests
+ classes.add(KeyService.class);
+ classes.add(KeyRequestService.class);
+
+ // selftests
+ classes.add(SelfTestService.class);
+
+ // user and group management
+ classes.add(GroupService.class);
+ classes.add(UserService.class);
+
+ // system certs
+ classes.add(SystemCertService.class);
+
+ // exception mapper
+ classes.add(PKIException.Mapper.class);
+
+ // interceptors
+ singletons.add(new AuthMethodInterceptor());
+ singletons.add(new ACLInterceptor());
+ }
+
+ public Set<Class<?>> getClasses() {
+ return classes;
+ }
+
+ public Set<Object> getSingletons() {
+ return singletons;
+ }
+
+}