Cleanup of utils classes.
[clamp.git] / src / main / java / org / onap / clamp / clds / util / LoggingUtils.java
index b501b2d..bca4134 100644 (file)
@@ -28,23 +28,28 @@ import java.text.SimpleDateFormat;
 import java.util.Date;\r
 import java.util.TimeZone;\r
 import java.util.UUID;\r
-\r
+import javax.validation.constraints.NotNull;\r
 import org.apache.log4j.MDC;\r
 \r
 /**\r
  * This class handles the special info that appear in the log, like RequestID,\r
  * time context, ...\r
- *\r
  */\r
-public class LoggingUtils {\r
+public final class LoggingUtils {\r
+\r
+    private static final DateFormat DATE_FORMAT = createDateFormat();\r
+\r
+    /**\r
+     * Private constructor to avoid creating instances of util class.\r
+     */\r
+    private LoggingUtils() {\r
+    }\r
 \r
     /**\r
      * Set request related logging variables in thread local data via MDC\r
-     * \r
-     * @param service\r
-     *            Service Name of API (ex. "PUT template")\r
-     * @param partner\r
-     *            Partner name (client or user invoking API)\r
+     *\r
+     * @param service Service Name of API (ex. "PUT template")\r
+     * @param partner Partner name (client or user invoking API)\r
      */\r
     public static void setRequestContext(String service, String partner) {\r
         MDC.put("RequestId", UUID.randomUUID().toString());\r
@@ -54,37 +59,22 @@ public class LoggingUtils {
 \r
     /**\r
      * Set time related logging variables in thread local data via MDC.\r
-     * \r
-     * @param beginTimeStamp\r
-     *            Start time\r
-     * @param endTimeStamp\r
-     *            End time\r
+     *\r
+     * @param beginTimeStamp Start time\r
+     * @param endTimeStamp End time\r
      */\r
-    public static void setTimeContext(Date beginTimeStamp, Date endTimeStamp) {\r
-        String beginTime = "";\r
-        String endTime = "";\r
-        String elapsedTime = "";\r
-\r
-        if (beginTimeStamp != null && endTimeStamp != null) {\r
-            elapsedTime = String.valueOf(endTimeStamp.getTime() - beginTimeStamp.getTime());\r
-            beginTime = generateTimestampStr(beginTimeStamp);\r
-            endTime = generateTimestampStr(endTimeStamp);\r
-        }\r
-\r
-        MDC.put("BeginTimestamp", beginTime);\r
-        MDC.put("EndTimestamp", endTime);\r
-        MDC.put("ElapsedTime", elapsedTime);\r
+    public static void setTimeContext(@NotNull Date beginTimeStamp, @NotNull Date endTimeStamp) {\r
+        MDC.put("BeginTimestamp", generateTimestampStr(beginTimeStamp));\r
+        MDC.put("EndTimestamp", generateTimestampStr(endTimeStamp));\r
+        MDC.put("ElapsedTime", String.valueOf(endTimeStamp.getTime() - beginTimeStamp.getTime()));\r
     }\r
 \r
     /**\r
      * Set response related logging variables in thread local data via MDC.\r
-     * \r
-     * @param code\r
-     *            Response code ("0" indicates success)\r
-     * @param description\r
-     *            Response description\r
-     * @param className\r
-     *            class name of invoking class\r
+     *\r
+     * @param code Response code ("0" indicates success)\r
+     * @param description Response description\r
+     * @param className class name of invoking class\r
      */\r
     public static void setResponseContext(String code, String description, String className) {\r
         MDC.put("ResponseCode", code);\r
@@ -95,11 +85,9 @@ public class LoggingUtils {
 \r
     /**\r
      * Set target related logging variables in thread local data via MDC\r
-     * \r
-     * @param targetEntity\r
-     *            Target entity (an external/sub component, for ex. "sdc")\r
-     * @param targetServiceName\r
-     *            Target service name (name of API invoked on target)\r
+     *\r
+     * @param targetEntity Target entity (an external/sub component, for ex. "sdc")\r
+     * @param targetServiceName Target service name (name of API invoked on target)\r
      */\r
     public static void setTargetContext(String targetEntity, String targetServiceName) {\r
         MDC.put("TargetEntity", targetEntity != null ? targetEntity : "");\r
@@ -108,11 +96,9 @@ public class LoggingUtils {
 \r
     /**\r
      * Set error related logging variables in thread local data via MDC.\r
-     * \r
-     * @param code\r
-     *            Error code\r
-     * @param description\r
-     *            Error description\r
+     *\r
+     * @param code Error code\r
+     * @param description Error description\r
      */\r
     public static void setErrorContext(String code, String description) {\r
         MDC.put("ErrorCode", code);\r
@@ -120,28 +106,31 @@ public class LoggingUtils {
     }\r
 \r
     private static String generateTimestampStr(Date timeStamp) {\r
-        DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX");\r
-        TimeZone tz = TimeZone.getTimeZone("UTC");\r
-        df.setTimeZone(tz);\r
-        return df.format(timeStamp);\r
+        return DATE_FORMAT.format(timeStamp);\r
     }\r
 \r
     /**\r
      * Get a previously stored RequestID for the thread local data via MDC. If\r
      * one was not previously stored, generate one, store it, and return that\r
      * one.\r
-     * \r
+     *\r
      * @return A string with the request ID\r
      */\r
     public static String getRequestId() {\r
-        String reqid;\r
+        String requestId;\r
 \r
-        reqid = (String) MDC.get("RequestID");\r
-        if (reqid == null || reqid.isEmpty()) {\r
-            reqid = UUID.randomUUID().toString();\r
-            MDC.put("RequestId", reqid);\r
+        requestId = (String) MDC.get("RequestID");\r
+        if (requestId == null || requestId.isEmpty()) {\r
+            requestId = UUID.randomUUID().toString();\r
+            MDC.put("RequestId", requestId);\r
         }\r
-        return reqid;\r
+        return requestId;\r
+    }\r
+\r
+    private static DateFormat createDateFormat() {\r
+        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX");\r
+        dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));\r
+        return dateFormat;\r
     }\r
 \r
 }\r