package com.netscape.kra; import java.util.HashSet; import java.util.Set; import javax.ws.rs.core.Application; import com.netscape.certsrv.apps.CMS; import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.IConfigStore; import com.netscape.certsrv.base.PKIException; import com.netscape.cms.authorization.ACLInterceptor; import com.netscape.cms.authorization.AuthMethodInterceptor; import com.netscape.cms.servlet.account.AccountService; import com.netscape.cms.servlet.admin.GroupService; import com.netscape.cms.servlet.admin.SystemCertService; import com.netscape.cms.servlet.admin.UserService; import com.netscape.cms.servlet.csadmin.SystemConfigService; import com.netscape.cms.servlet.csadmin.SecurityDomainService; import com.netscape.cms.servlet.key.KeyService; import com.netscape.cms.servlet.request.KeyRequestService; import com.netscape.cmscore.logging.AuditService; import com.netscape.cmscore.selftests.SelfTestService; public class KeyRecoveryAuthorityApplication extends Application { private Set singletons = new HashSet(); private Set> classes = new HashSet>(); public KeyRecoveryAuthorityApplication() { // 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> getClasses() { return classes; } public Set getSingletons() { return singletons; } }