From d41848a5881db3d12f65e078b945829f1fe296a5 Mon Sep 17 00:00:00 2001 From: Endi Sukma Dewata Date: Sat, 11 Aug 2012 05:09:02 -0500 Subject: Cleaned up REST server class names. The REST server classes have been renamed for better clarity and consistency. Ticket #259 --- .../cms/servlet/base/CMSResourceService.java | 168 --------------------- .../com/netscape/cms/servlet/base/PKIService.java | 168 +++++++++++++++++++++ 2 files changed, 168 insertions(+), 168 deletions(-) delete mode 100644 base/common/src/com/netscape/cms/servlet/base/CMSResourceService.java create mode 100644 base/common/src/com/netscape/cms/servlet/base/PKIService.java (limited to 'base/common/src/com/netscape/cms/servlet/base') diff --git a/base/common/src/com/netscape/cms/servlet/base/CMSResourceService.java b/base/common/src/com/netscape/cms/servlet/base/CMSResourceService.java deleted file mode 100644 index 48daeca6e..000000000 --- a/base/common/src/com/netscape/cms/servlet/base/CMSResourceService.java +++ /dev/null @@ -1,168 +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) 2012 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- -package com.netscape.cms.servlet.base; - -import java.lang.reflect.Method; -import java.security.cert.CertificateEncodingException; -import java.util.HashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.FormParam; -import javax.ws.rs.core.CacheControl; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.EntityTag; -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.Request; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.Response.ResponseBuilder; -import javax.ws.rs.core.UriInfo; - -import com.netscape.certsrv.apps.CMS; -import com.netscape.certsrv.logging.IAuditor; -import com.netscape.certsrv.logging.ILogger; -import com.netscape.cms.servlet.cert.model.CertificateData; - -/** - * Base class for CMS RESTful resources - * - * @author alee - * - */ -public class CMSResourceService { - - public static final String HEADER = "-----BEGIN NEW CERTIFICATE REQUEST-----"; - public static final String TRAILER = "-----END NEW CERTIFICATE REQUEST-----"; - - // caching parameters - public static final int DEFAULT_LONG_CACHE_LIFETIME = 1000; - - @Context - protected UriInfo uriInfo; - - @Context - protected HttpHeaders headers; - - @Context - protected Request request; - - @Context - protected HttpServletRequest servletRequest; - - public ILogger logger = CMS.getLogger(); - public IAuditor auditor = CMS.getAuditor(); - - public Response createOKResponse(Object object) { - return Response.ok(object).build(); - } - - public Response sendConditionalGetResponse(int ctime, Object object) { - CacheControl cc = new CacheControl(); - cc.setMaxAge(ctime); - EntityTag tag = new EntityTag(Integer.toString(object.hashCode())); - - ResponseBuilder builder = request.evaluatePreconditions(tag); - if (builder != null) { - builder.cacheControl(cc); - return builder.build(); - } - - builder = Response.ok(object); - builder.cacheControl(cc); - builder.tag(tag); - return builder.build(); - } - - public CertificateData createCertificateData(org.mozilla.jss.crypto.X509Certificate cert) - throws CertificateEncodingException { - CertificateData data = new CertificateData(); - String b64 = HEADER + CMS.BtoA(cert.getEncoded()) + TRAILER; - data.setEncoded(b64); - return data; - } - - public Locale getLocale() { - - if (headers == null) return Locale.getDefault(); - - List locales = headers.getAcceptableLanguages(); - if (locales == null || locales.isEmpty()) return Locale.getDefault(); - - return locales.get(0); - } - - public String getUserMessage(String messageId, String... params) { - return CMS.getUserMessage(getLocale(), messageId, params); - } - - public void log(int source, int level, String message) { - - if (logger == null) return; - - logger.log(ILogger.EV_SYSTEM, - null, - source, - level, - getClass().getSimpleName() + ": " + message); - } - - public void audit(String message, String scope, String type, String id, Map 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 getParams(Object object) { - - Map map = new HashMap(); - - // 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/common/src/com/netscape/cms/servlet/base/PKIService.java b/base/common/src/com/netscape/cms/servlet/base/PKIService.java new file mode 100644 index 000000000..de92d290a --- /dev/null +++ b/base/common/src/com/netscape/cms/servlet/base/PKIService.java @@ -0,0 +1,168 @@ +// --- 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) 2012 Red Hat, Inc. +// All rights reserved. +// --- END COPYRIGHT BLOCK --- +package com.netscape.cms.servlet.base; + +import java.lang.reflect.Method; +import java.security.cert.CertificateEncodingException; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.ws.rs.FormParam; +import javax.ws.rs.core.CacheControl; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.EntityTag; +import javax.ws.rs.core.HttpHeaders; +import javax.ws.rs.core.Request; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.Response.ResponseBuilder; +import javax.ws.rs.core.UriInfo; + +import com.netscape.certsrv.apps.CMS; +import com.netscape.certsrv.logging.IAuditor; +import com.netscape.certsrv.logging.ILogger; +import com.netscape.cms.servlet.cert.model.CertificateData; + +/** + * Base class for CMS RESTful resources + * + * @author alee + * + */ +public class PKIService { + + public static final String HEADER = "-----BEGIN NEW CERTIFICATE REQUEST-----"; + public static final String TRAILER = "-----END NEW CERTIFICATE REQUEST-----"; + + // caching parameters + public static final int DEFAULT_LONG_CACHE_LIFETIME = 1000; + + @Context + protected UriInfo uriInfo; + + @Context + protected HttpHeaders headers; + + @Context + protected Request request; + + @Context + protected HttpServletRequest servletRequest; + + public ILogger logger = CMS.getLogger(); + public IAuditor auditor = CMS.getAuditor(); + + public Response createOKResponse(Object object) { + return Response.ok(object).build(); + } + + public Response sendConditionalGetResponse(int ctime, Object object) { + CacheControl cc = new CacheControl(); + cc.setMaxAge(ctime); + EntityTag tag = new EntityTag(Integer.toString(object.hashCode())); + + ResponseBuilder builder = request.evaluatePreconditions(tag); + if (builder != null) { + builder.cacheControl(cc); + return builder.build(); + } + + builder = Response.ok(object); + builder.cacheControl(cc); + builder.tag(tag); + return builder.build(); + } + + public CertificateData createCertificateData(org.mozilla.jss.crypto.X509Certificate cert) + throws CertificateEncodingException { + CertificateData data = new CertificateData(); + String b64 = HEADER + CMS.BtoA(cert.getEncoded()) + TRAILER; + data.setEncoded(b64); + return data; + } + + public Locale getLocale() { + + if (headers == null) return Locale.getDefault(); + + List locales = headers.getAcceptableLanguages(); + if (locales == null || locales.isEmpty()) return Locale.getDefault(); + + return locales.get(0); + } + + public String getUserMessage(String messageId, String... params) { + return CMS.getUserMessage(getLocale(), messageId, params); + } + + public void log(int source, int level, String message) { + + if (logger == null) return; + + logger.log(ILogger.EV_SYSTEM, + null, + source, + level, + getClass().getSimpleName() + ": " + message); + } + + public void audit(String message, String scope, String type, String id, Map 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 getParams(Object object) { + + Map map = new HashMap(); + + // 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; + } +} -- cgit