Update Logging Specifications
[clamp.git] / src / main / java / org / onap / clamp / clds / service / CldsTemplateService.java
index 9e50682..d82e7c6 100644 (file)
@@ -18,7 +18,7 @@
  * limitations under the License.
  * ============LICENSE_END============================================
  * ===================================================================
- * 
+ *
  */
 
 package org.onap.clamp.clds.service;
@@ -27,18 +27,14 @@ import java.util.Date;
 import java.util.List;
 
 import javax.annotation.PostConstruct;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import javax.servlet.http.HttpServletRequest;
 
 import org.onap.clamp.clds.dao.CldsDao;
 import org.onap.clamp.clds.model.CldsTemplate;
 import org.onap.clamp.clds.model.ValueItem;
 import org.onap.clamp.clds.util.LoggingUtils;
+import org.onap.clamp.clds.util.ONAPLogConstants;
+import org.slf4j.event.Level;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
@@ -47,7 +43,6 @@ import org.springframework.stereotype.Component;
  * Service to save and retrieve the CLDS model attributes.
  */
 @Component
-@Path("/cldsTempate")
 public class CldsTemplateService extends SecureServiceBase {
 
     @Value("${clamp.config.security.permission.type.template:permission-type-template}")
@@ -56,17 +51,20 @@ public class CldsTemplateService extends SecureServiceBase {
     private String cldsPermissionInstance;
     private SecureServicePermission permissionReadTemplate;
     private SecureServicePermission permissionUpdateTemplate;
+    @Autowired
+       private HttpServletRequest request;
 
     @PostConstruct
     private final void afterConstruction() {
         permissionReadTemplate = SecureServicePermission.create(cldsPermissionTypeTemplate, cldsPermissionInstance,
-                "read");
+            "read");
         permissionUpdateTemplate = SecureServicePermission.create(cldsPermissionTypeTemplate, cldsPermissionInstance,
-                "update");
+            "update");
     }
 
     @Autowired
     private CldsDao cldsDao;
+    private LoggingUtils util = new LoggingUtils(logger);
 
     /**
      * REST service that retrieves BPMN for a CLDS template name from the
@@ -76,19 +74,16 @@ public class CldsTemplateService extends SecureServiceBase {
      * @param templateName
      * @return bpmn xml text - content of bpmn given name
      */
-    @GET
-    @Path("/template/bpmn/{templateName}")
-    @Produces(MediaType.TEXT_XML)
-    public String getBpmnTemplate(@PathParam("templateName") String templateName) {
+    public String getBpmnTemplate(String templateName) {
+       util.entering(request, "CldsTemplateService: GET template bpmn");
         Date startTime = new Date();
-        LoggingUtils.setRequestContext("CldsTemplateService: GET template bpmn", getPrincipalName());
         isAuthorized(permissionReadTemplate);
         logger.info("GET bpmnText for templateName=" + templateName);
         CldsTemplate template = CldsTemplate.retrieve(cldsDao, templateName, false);
         // audit log
         LoggingUtils.setTimeContext(startTime, new Date());
-        LoggingUtils.setResponseContext("0", "Get template bpmn success", this.getClass().getName());
         auditLogger.info("GET template bpmn completed");
+        util.exiting("200", "Get template bpmn success", Level.INFO, ONAPLogConstants.ResponseStatus.COMPLETED);
         return template.getBpmnText();
     }
 
@@ -100,19 +95,16 @@ public class CldsTemplateService extends SecureServiceBase {
      * @param templateName
      * @return image xml text - content of image given name
      */
-    @GET
-    @Path("/template/image/{templateName}")
-    @Produces(MediaType.TEXT_XML)
-    public String getImageXml(@PathParam("templateName") String templateName) {
+    public String getImageXml(String templateName) {
+       util.entering(request, "CldsTemplateService: GET template image");
         Date startTime = new Date();
-        LoggingUtils.setRequestContext("CldsTemplateService: GET template image", getPrincipalName());
         isAuthorized(permissionReadTemplate);
         logger.info("GET imageText for templateName=" + templateName);
         CldsTemplate template = CldsTemplate.retrieve(cldsDao, templateName, false);
         // audit log
         LoggingUtils.setTimeContext(startTime, new Date());
-        LoggingUtils.setResponseContext("0", "Get template image success", this.getClass().getName());
         auditLogger.info("GET template image completed");
+        util.exiting("200", "Get template image success", Level.INFO, ONAPLogConstants.ResponseStatus.COMPLETED);
         return template.getImageText();
     }
 
@@ -122,20 +114,17 @@ public class CldsTemplateService extends SecureServiceBase {
      * @param templateName
      * @return clds template - clds template for the given template name
      */
-    @GET
-    @Path("/template/{templateName}")
-    @Produces(MediaType.APPLICATION_JSON)
-    public CldsTemplate getTemplate(@PathParam("templateName") String templateName) {
+    public CldsTemplate getTemplate(String templateName) {
+       util.entering(request, "CldsTemplateService: GET template");
         Date startTime = new Date();
-        LoggingUtils.setRequestContext("CldsTemplateService: GET template", getPrincipalName());
         isAuthorized(permissionReadTemplate);
         logger.info("GET model for  templateName=" + templateName);
         CldsTemplate template = CldsTemplate.retrieve(cldsDao, templateName, false);
         template.setUserAuthorizedToUpdate(isAuthorizedNoException(permissionUpdateTemplate));
         // audit log
         LoggingUtils.setTimeContext(startTime, new Date());
-        LoggingUtils.setResponseContext("0", "Get template success", this.getClass().getName());
         auditLogger.info("GET template completed");
+        util.exiting("200", "Get template success", Level.INFO, ONAPLogConstants.ResponseStatus.COMPLETED);
         return template;
     }
 
@@ -146,13 +135,9 @@ public class CldsTemplateService extends SecureServiceBase {
      * @param cldsTemplate
      * @return The CldsTemplate modified and saved in DB
      */
-    @PUT
-    @Path("/template/{templateName}")
-    @Consumes(MediaType.APPLICATION_JSON)
-    @Produces(MediaType.APPLICATION_JSON)
-    public CldsTemplate putTemplate(@PathParam("templateName") String templateName, CldsTemplate cldsTemplate) {
+    public CldsTemplate putTemplate(String templateName, CldsTemplate cldsTemplate) {
+       util.entering(request, "CldsTemplateService: PUT template");
         Date startTime = new Date();
-        LoggingUtils.setRequestContext("CldsTemplateService: PUT template", getPrincipalName());
         isAuthorized(permissionUpdateTemplate);
         logger.info("PUT Template for  templateName=" + templateName);
         logger.info("PUT bpmnText=" + cldsTemplate.getBpmnText());
@@ -162,8 +147,8 @@ public class CldsTemplateService extends SecureServiceBase {
         cldsTemplate.save(cldsDao, null);
         // audit log
         LoggingUtils.setTimeContext(startTime, new Date());
-        LoggingUtils.setResponseContext("0", "Put template success", this.getClass().getName());
         auditLogger.info("PUT template completed");
+        util.exiting("200", "Put template success", Level.INFO, ONAPLogConstants.ResponseStatus.COMPLETED);
         return cldsTemplate;
     }
 
@@ -172,19 +157,21 @@ public class CldsTemplateService extends SecureServiceBase {
      *
      * @return template names in JSON
      */
-    @GET
-    @Path("/template-names")
-    @Produces(MediaType.APPLICATION_JSON)
     public List<ValueItem> getTemplateNames() {
+       util.entering(request, "CldsTemplateService: GET template names");
         Date startTime = new Date();
-        LoggingUtils.setRequestContext("CldsTemplateService: GET template names", getPrincipalName());
         isAuthorized(permissionReadTemplate);
         logger.info("GET list of template names");
         List<ValueItem> names = cldsDao.getTemplateNames();
         // audit log
         LoggingUtils.setTimeContext(startTime, new Date());
-        LoggingUtils.setResponseContext("0", "Get template names success", this.getClass().getName());
         auditLogger.info("GET template names completed");
+        util.exiting("200", "Get template names success", Level.INFO, ONAPLogConstants.ResponseStatus.COMPLETED);
         return names;
     }
+
+    // Created for the integration test
+    public void setLoggingUtil (LoggingUtils utilP) {
+        util =  utilP;
+    }
 }