summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2013-10-10 10:10:28 -0400
committerEndi S. Dewata <edewata@redhat.com>2013-11-01 14:50:38 -0400
commit1cbd5196ef3d339e3fa6f14dcb0eb2895c3d15c8 (patch)
tree62963eaea3fa2c6ed233901c9f701deb53eb795d
parent812ecab6986d23d898eba814c827617cd75ebd97 (diff)
downloadpki-1cbd5196ef3d339e3fa6f14dcb0eb2895c3d15c8.tar.gz
pki-1cbd5196ef3d339e3fa6f14dcb0eb2895c3d15c8.tar.xz
pki-1cbd5196ef3d339e3fa6f14dcb0eb2895c3d15c8.zip
Fixed problem running GroupMemberProcessor on non-CA.
Previously the GroupMemberProcessor class inherits from CAProcessor that can only run on CA. To fix the problem a generic Processor has been created as a super class of the CAProcessor and some of the fields and methods that are not CA-specific have been moved into the super class. The GroupMemberProcessor will now inherit directly from the super class.
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/admin/GroupMemberProcessor.java4
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/admin/GroupService.java4
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/admin/UserService.java3
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/processors/CAProcessor.java70
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/processors/Processor.java86
5 files changed, 98 insertions, 69 deletions
diff --git a/base/server/cms/src/com/netscape/cms/servlet/admin/GroupMemberProcessor.java b/base/server/cms/src/com/netscape/cms/servlet/admin/GroupMemberProcessor.java
index cf8faaadf..399b97d0c 100644
--- a/base/server/cms/src/com/netscape/cms/servlet/admin/GroupMemberProcessor.java
+++ b/base/server/cms/src/com/netscape/cms/servlet/admin/GroupMemberProcessor.java
@@ -48,12 +48,12 @@ import com.netscape.certsrv.logging.IAuditor;
import com.netscape.certsrv.logging.ILogger;
import com.netscape.certsrv.usrgrp.IGroup;
import com.netscape.certsrv.usrgrp.IUGSubsystem;
-import com.netscape.cms.servlet.processors.CAProcessor;
+import com.netscape.cms.servlet.processors.Processor;
/**
* @author Endi S. Dewata
*/
-public class GroupMemberProcessor extends CAProcessor {
+public class GroupMemberProcessor extends Processor {
public final static int DEFAULT_SIZE = 20;
diff --git a/base/server/cms/src/com/netscape/cms/servlet/admin/GroupService.java b/base/server/cms/src/com/netscape/cms/servlet/admin/GroupService.java
index 91fec08c4..3fd84da6c 100644
--- a/base/server/cms/src/com/netscape/cms/servlet/admin/GroupService.java
+++ b/base/server/cms/src/com/netscape/cms/servlet/admin/GroupService.java
@@ -345,6 +345,7 @@ public class GroupService extends PKIService implements GroupResource {
throw e;
} catch (Exception e) {
+ e.printStackTrace();
throw new PKIException(e.getMessage(), e);
}
}
@@ -360,6 +361,7 @@ public class GroupService extends PKIService implements GroupResource {
throw e;
} catch (Exception e) {
+ e.printStackTrace();
throw new PKIException(e.getMessage(), e);
}
}
@@ -382,6 +384,7 @@ public class GroupService extends PKIService implements GroupResource {
throw e;
} catch (Exception e) {
+ e.printStackTrace();
throw new PKIException(e.getMessage(), e);
}
}
@@ -397,6 +400,7 @@ public class GroupService extends PKIService implements GroupResource {
throw e;
} catch (Exception e) {
+ e.printStackTrace();
throw new PKIException(e.getMessage(), e);
}
}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/admin/UserService.java b/base/server/cms/src/com/netscape/cms/servlet/admin/UserService.java
index c14605c54..827541e2f 100644
--- a/base/server/cms/src/com/netscape/cms/servlet/admin/UserService.java
+++ b/base/server/cms/src/com/netscape/cms/servlet/admin/UserService.java
@@ -1021,6 +1021,7 @@ public class UserService extends PKIService implements UserResource {
throw e;
} catch (Exception e) {
+ e.printStackTrace();
throw new PKIException(e.getMessage(), e);
}
}
@@ -1048,6 +1049,7 @@ public class UserService extends PKIService implements UserResource {
throw e;
} catch (Exception e) {
+ e.printStackTrace();
throw new PKIException(e.getMessage(), e);
}
}
@@ -1063,6 +1065,7 @@ public class UserService extends PKIService implements UserResource {
throw e;
} catch (Exception e) {
+ e.printStackTrace();
throw new PKIException(e.getMessage(), e);
}
}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/processors/CAProcessor.java b/base/server/cms/src/com/netscape/cms/servlet/processors/CAProcessor.java
index deddd2b4e..28b1b5130 100644
--- a/base/server/cms/src/com/netscape/cms/servlet/processors/CAProcessor.java
+++ b/base/server/cms/src/com/netscape/cms/servlet/processors/CAProcessor.java
@@ -18,7 +18,6 @@
package com.netscape.cms.servlet.processors;
-import java.lang.reflect.Method;
import java.math.BigInteger;
import java.security.cert.CertificateEncodingException;
import java.security.cert.CertificateException;
@@ -34,7 +33,6 @@ import java.util.Map.Entry;
import java.util.StringTokenizer;
import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.FormParam;
import netscape.security.x509.X509CertImpl;
@@ -54,7 +52,6 @@ import com.netscape.certsrv.base.SessionContext;
import com.netscape.certsrv.ca.ICertificateAuthority;
import com.netscape.certsrv.dbs.certdb.ICertRecord;
import com.netscape.certsrv.dbs.certdb.ICertificateRepository;
-import com.netscape.certsrv.logging.IAuditor;
import com.netscape.certsrv.logging.ILogger;
import com.netscape.certsrv.profile.IEnrollProfile;
import com.netscape.certsrv.profile.IProfile;
@@ -72,7 +69,7 @@ import com.netscape.cms.servlet.common.CMSGateway;
import com.netscape.cms.servlet.common.ServletUtils;
import com.netscape.cmsutil.util.Utils;
-public class CAProcessor {
+public class CAProcessor extends Processor {
public final static String ARG_AUTH_TOKEN = "auth_token";
public final static String ARG_REQUEST_OWNER = "requestOwner";
@@ -142,8 +139,6 @@ public class CAProcessor {
protected String authzResourceName;
protected String authMgr;
protected String getClientCert = "false";
- protected Locale locale;
-
// subsystems
protected ICertificateAuthority authority = (ICertificateAuthority) CMS.getSubsystem("ca");
protected IAuthzSubsystem authz = (IAuthzSubsystem) CMS.getSubsystem(CMS.SUBSYSTEM_AUTHZ);
@@ -155,14 +150,13 @@ public class CAProcessor {
//logging and stats
- protected ILogger logger = CMS.getLogger();
- protected IAuditor auditor = CMS.getAuditor();
protected ILogger signedAuditLogger = CMS.getSignedAuditLogger();
protected LinkedHashSet<String> statEvents = new LinkedHashSet<String>();
public CAProcessor(String id, Locale locale) throws EPropertyNotFound, EBaseException {
+ super(id, locale);
+
IConfigStore cs = CMS.getConfigStore().getSubStore("processor." + id);
- this.locale = locale;
this.profileID = cs.getString(PROFILE_ID, "").isEmpty() ? null : cs.getString(PROFILE_ID);
this.authzResourceName = cs.getString(AUTHZ_RESOURCE_NAME, "").isEmpty() ? null :
cs.getString(AUTHZ_RESOURCE_NAME);
@@ -337,17 +331,6 @@ public class CAProcessor {
return cert;
}
- public void log(int source, int level, String message) {
-
- if (logger == null) return;
-
- logger.log(ILogger.EV_SYSTEM,
- null,
- source,
- level,
- getClass().getSimpleName() + ": " + message);
- }
-
protected static Hashtable<String, String> toHashtable(HttpServletRequest req) {
Hashtable<String, String> httpReqHash = new Hashtable<String, String>();
Enumeration<?> names = req.getParameterNames();
@@ -1262,51 +1245,4 @@ public class CAProcessor {
CMS.debug("Processor: Nonce verified");
}
-
- public String getUserMessage(String messageId, String... params) {
- return CMS.getUserMessage(locale, messageId, params);
- }
-
- public void audit(String message, String scope, String type, String id, Map<String, String> params, String status) {
-
- if (auditor == null) return;
-
- String auditMessage = CMS.getLogMessage(
- message,
- auditor.getSubjectID(),
- status,
- auditor.getParamString(scope, type, id, params));
-
- auditor.log(auditMessage);
- }
-
- /**
- * Get the values of the fields annotated with @FormParam.
- */
- public Map<String, String> getParams(Object object) {
-
- Map<String, String> map = new HashMap<String, String>();
-
- // for each fields in the object
- for (Method method : object.getClass().getMethods()) {
- FormParam element = method.getAnnotation(FormParam.class);
- if (element == null) continue;
-
- String name = element.value();
-
- try {
- // get the value from the object
- Object value = method.invoke(object);
-
- // put the value in the map
- map.put(name, value == null ? null : value.toString());
-
- } catch (Exception e) {
- // ignore inaccessible fields
- e.printStackTrace();
- }
- }
-
- return map;
- }
}
diff --git a/base/server/cms/src/com/netscape/cms/servlet/processors/Processor.java b/base/server/cms/src/com/netscape/cms/servlet/processors/Processor.java
new file mode 100644
index 000000000..64344d212
--- /dev/null
+++ b/base/server/cms/src/com/netscape/cms/servlet/processors/Processor.java
@@ -0,0 +1,86 @@
+package com.netscape.cms.servlet.processors;
+
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
+import javax.ws.rs.FormParam;
+
+import com.netscape.certsrv.apps.CMS;
+import com.netscape.certsrv.base.EBaseException;
+import com.netscape.certsrv.base.EPropertyNotFound;
+import com.netscape.certsrv.logging.IAuditor;
+import com.netscape.certsrv.logging.ILogger;
+
+public class Processor {
+
+ protected ILogger logger = CMS.getLogger();
+ protected IAuditor auditor = CMS.getAuditor();
+
+ protected String id;
+ protected Locale locale;
+
+ public Processor(String id, Locale locale) throws EPropertyNotFound, EBaseException {
+ this.id = id;
+ this.locale = locale;
+ }
+
+ public String getUserMessage(String messageId, String... params) {
+ return CMS.getUserMessage(locale, messageId, params);
+ }
+
+ /**
+ * Get the values of the fields annotated with @FormParam.
+ */
+ public Map<String, String> getParams(Object object) {
+
+ Map<String, String> map = new HashMap<String, String>();
+
+ // for each fields in the object
+ for (Method method : object.getClass().getMethods()) {
+ FormParam element = method.getAnnotation(FormParam.class);
+ if (element == null) continue;
+
+ String name = element.value();
+
+ try {
+ // get the value from the object
+ Object value = method.invoke(object);
+
+ // put the value in the map
+ map.put(name, value == null ? null : value.toString());
+
+ } catch (Exception e) {
+ // ignore inaccessible fields
+ e.printStackTrace();
+ }
+ }
+
+ return map;
+ }
+
+ public void audit(String message, String scope, String type, String id, Map<String, String> params, String status) {
+
+ if (auditor == null) return;
+
+ String auditMessage = CMS.getLogMessage(
+ message,
+ auditor.getSubjectID(),
+ status,
+ auditor.getParamString(scope, type, id, params));
+
+ auditor.log(auditMessage);
+ }
+
+ public void log(int source, int level, String message) {
+
+ if (logger == null) return;
+
+ logger.log(ILogger.EV_SYSTEM,
+ null,
+ source,
+ level,
+ getClass().getSimpleName() + ": " + message);
+ }
+}