Checkstyle fixes for datarouter prov
[dmaap/datarouter.git] / datarouter-prov / src / main / java / org / onap / dmaap / datarouter / provisioning / StatisticsServlet.java
index b069544..fcdca0a 100755 (executable)
@@ -23,6 +23,8 @@
 \r
 package org.onap.dmaap.datarouter.provisioning;\r
 \r
+import static org.onap.dmaap.datarouter.provisioning.utils.HttpServletUtils.sendResponseError;\r
+\r
 import java.io.IOException;\r
 import java.sql.Connection;\r
 import java.sql.PreparedStatement;\r
@@ -43,17 +45,17 @@ import org.onap.dmaap.datarouter.provisioning.beans.EventLogRecord;
 import org.onap.dmaap.datarouter.provisioning.utils.DB;\r
 import org.onap.dmaap.datarouter.provisioning.utils.LOGJSONObject;\r
 \r
-import static org.onap.dmaap.datarouter.provisioning.utils.HttpServletUtils.sendResponseError;\r
 \r
 /**\r
  * This Servlet handles requests to the <Statistics API> and  <Statistics consilidated\r
- * resultset>,\r
+ * resultset>.\r
  *\r
  * @author Manish Singh\r
  * @version $Id: StatisticsServlet.java,v 1.11 2016/08/10 17:27:02 Manish Exp $\r
  */\r
 @SuppressWarnings("serial")\r
 \r
+\r
 public class StatisticsServlet extends BaseServlet {\r
 \r
     private static final long TWENTYFOUR_HOURS = (24 * 60 * 60 * 1000L);\r
@@ -83,7 +85,8 @@ public class StatisticsServlet extends BaseServlet {
     public void doGet(HttpServletRequest req, HttpServletResponse resp) {\r
         Map<String, String> map = buildMapFromRequest(req);\r
         if (map.get("err") != null) {\r
-            sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, "Invalid arguments: " + map.get("err"), eventlogger);\r
+            sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST,\r
+                    "Invalid arguments: " + map.get("err"), eventlogger);\r
             return;\r
         }\r
         // check Accept: header??\r
@@ -159,10 +162,12 @@ public class StatisticsServlet extends BaseServlet {
 \r
 \r
     /**\r
-     * rsToJson - Converting RS to JSON object\r
+     * rsToJson - Converting RS to JSON object.\r
      *\r
-     * @param out ServletOutputStream, rs as ResultSet\r
-     * @throws IOException, SQLException\r
+     * @param out ServletOutputStream\r
+     * @param rs as ResultSet\r
+     * @throws IOException input/output exception\r
+     * @throws SQLException SQL exception\r
      */\r
     public void rsToCSV(ResultSet rs, ServletOutputStream out) throws IOException, SQLException {\r
         String header = "FEEDNAME,FEEDID,FILES_PUBLISHED,PUBLISH_LENGTH, FILES_DELIVERED, "\r
@@ -199,10 +204,12 @@ public class StatisticsServlet extends BaseServlet {
     }\r
 \r
     /**\r
-     * rsToJson - Converting RS to JSON object\r
+     * rsToJson - Converting RS to JSON object.\r
      *\r
-     * @param out ServletOutputStream, rs as ResultSet\r
-     * @throws IOException, SQLException\r
+     * @param out ServletOutputStream\r
+     * @param rs as ResultSet\r
+     * @throws IOException input/output exception\r
+     * @throws SQLException SQL exception\r
      */\r
     private void rsToJson(ResultSet rs, ServletOutputStream out) throws IOException, SQLException {\r
         String[] fields = {"FEEDNAME", FEEDID, "FILES_PUBLISHED", "PUBLISH_LENGTH", "FILES_DELIVERED",\r
@@ -213,9 +220,9 @@ public class StatisticsServlet extends BaseServlet {
         while (rs.next()) {\r
             LOGJSONObject j2 = new LOGJSONObject();\r
             for (String key : fields) {\r
-                Object v = rs.getString(key);\r
-                if (v != null) {\r
-                    j2.put(key.toLowerCase(), v);\r
+                Object val = rs.getString(key);\r
+                if (val != null) {\r
+                    j2.put(key.toLowerCase(), val);\r
                 } else {\r
                     j2.put(key.toLowerCase(), "");\r
                 }\r
@@ -271,7 +278,7 @@ public class StatisticsServlet extends BaseServlet {
 \r
 \r
     /**\r
-     * queryGeneretor - Generating sql query\r
+     * queryGeneretor - Generating sql query.\r
      *\r
      * @param map as key value pare of all user input fields\r
      */\r
@@ -307,11 +314,18 @@ public class StatisticsServlet extends BaseServlet {
         if (endTime == null && startTime == null) {\r
 \r
             sql = "SELECT (SELECT NAME FROM FEEDS AS f WHERE f.FEEDID in(" + feedids\r
-                + ") and f.FEEDID=e.FEEDID) AS FEEDNAME, e.FEEDID as FEEDID, (SELECT COUNT(*) FROM LOG_RECORDS AS c WHERE c.FEEDID in("\r
+                + ") and f.FEEDID=e.FEEDID) AS FEEDNAME, e.FEEDID as FEEDID, "\r
+                + "(SELECT COUNT(*) FROM LOG_RECORDS AS c WHERE c.FEEDID in("\r
                 + feedids\r
-                + ") and c.FEEDID=e.FEEDID AND c.TYPE='PUB') AS FILES_PUBLISHED,(SELECT SUM(content_length) FROM LOG_RECORDS AS c WHERE c.FEEDID in("\r
+                + ") and c.FEEDID=e.FEEDID AND c.TYPE='PUB') AS FILES_PUBLISHED,(SELECT SUM(content_length)"\r
+                + " FROM LOG_RECORDS AS c WHERE c.FEEDID in("\r
                 + feedids\r
-                + ")  and c.FEEDID=e.FEEDID AND c.TYPE='PUB') AS PUBLISH_LENGTH, COUNT(e.EVENT_TIME) as FILES_DELIVERED,  sum(m.content_length) as DELIVERED_LENGTH,SUBSTRING_INDEX(e.REQURI,'/',+3) as SUBSCRIBER_URL, e.DELIVERY_SUBID as SUBID, e.EVENT_TIME AS PUBLISH_TIME, m.EVENT_TIME AS DELIVERY_TIME,  AVG(e.EVENT_TIME - m.EVENT_TIME)/1000 as AverageDelay FROM LOG_RECORDS e JOIN LOG_RECORDS m ON m.PUBLISH_ID = e.PUBLISH_ID AND e.FEEDID IN ("\r
+                + ") and c.FEEDID=e.FEEDID AND c.TYPE='PUB') AS PUBLISH_LENGTH, COUNT(e.EVENT_TIME) as FILES_DELIVERED,"\r
+                + "sum(m.content_length) as DELIVERED_LENGTH,SUBSTRING_INDEX(e.REQURI,'/',+3) as SUBSCRIBER_URL,"\r
+                + " e.DELIVERY_SUBID as SUBID, "\r
+                + "e.EVENT_TIME AS PUBLISH_TIME, m.EVENT_TIME AS DELIVERY_TIME, "\r
+                + " AVG(e.EVENT_TIME - m.EVENT_TIME)/1000 as AverageDelay FROM LOG_RECORDS"\r
+                + " e JOIN LOG_RECORDS m ON m.PUBLISH_ID = e.PUBLISH_ID AND e.FEEDID IN ("\r
                 + feedids + ") " + subid + " AND m.STATUS=204 AND e.RESULT=204  group by SUBID";\r
 \r
             return sql;\r
@@ -323,11 +337,18 @@ public class StatisticsServlet extends BaseServlet {
             long compareTime = currentTimeInMilli - inputTimeInMilli;\r
 \r
             sql = "SELECT (SELECT NAME FROM FEEDS AS f WHERE f.FEEDID in(" + feedids\r
-                + ") and f.FEEDID=e.FEEDID) AS FEEDNAME, e.FEEDID as FEEDID, (SELECT COUNT(*) FROM LOG_RECORDS AS c WHERE c.FEEDID in("\r
+                + ") and f.FEEDID=e.FEEDID) AS FEEDNAME, e.FEEDID as FEEDID, "\r
+                + "(SELECT COUNT(*) FROM LOG_RECORDS AS c WHERE c.FEEDID in("\r
                 + feedids\r
-                + ") and c.FEEDID=e.FEEDID AND c.TYPE='PUB') AS FILES_PUBLISHED,(SELECT SUM(content_length) FROM LOG_RECORDS AS c WHERE c.FEEDID in("\r
+                + ") and c.FEEDID=e.FEEDID AND c.TYPE='PUB') AS FILES_PUBLISHED,"\r
+                + "(SELECT SUM(content_length) FROM LOG_RECORDS AS c WHERE c.FEEDID in("\r
                 + feedids\r
-                + ")  and c.FEEDID=e.FEEDID AND c.TYPE='PUB') AS PUBLISH_LENGTH, COUNT(e.EVENT_TIME) as FILES_DELIVERED,  sum(m.content_length) as DELIVERED_LENGTH,SUBSTRING_INDEX(e.REQURI,'/',+3) as SUBSCRIBER_URL, e.DELIVERY_SUBID as SUBID, e.EVENT_TIME AS PUBLISH_TIME, m.EVENT_TIME AS DELIVERY_TIME,  AVG(e.EVENT_TIME - m.EVENT_TIME)/1000 as AverageDelay FROM LOG_RECORDS e JOIN LOG_RECORDS m ON m.PUBLISH_ID = e.PUBLISH_ID AND e.FEEDID IN ("\r
+                + ") and c.FEEDID=e.FEEDID AND c.TYPE='PUB') AS PUBLISH_LENGTH, COUNT(e.EVENT_TIME) as FILES_DELIVERED,"\r
+                + "sum(m.content_length) as DELIVERED_LENGTH,SUBSTRING_INDEX(e.REQURI,'/',+3) as SUBSCRIBER_URL,"\r
+                + " e.DELIVERY_SUBID as SUBID, "\r
+                + "e.EVENT_TIME AS PUBLISH_TIME, m.EVENT_TIME AS DELIVERY_TIME,  "\r
+                + "AVG(e.EVENT_TIME - m.EVENT_TIME)/1000 as AverageDelay "\r
+                + "FROM LOG_RECORDS e JOIN LOG_RECORDS m ON m.PUBLISH_ID = e.PUBLISH_ID AND e.FEEDID IN ("\r
                 + feedids + ") " + subid + " AND m.STATUS=204 AND e.RESULT=204 and e.event_time>="\r
                 + compareTime + " group by SUBID";\r
 \r
@@ -342,12 +363,20 @@ public class StatisticsServlet extends BaseServlet {
             long endInMillis = endDate.getTime();\r
 \r
             sql = "SELECT (SELECT NAME FROM FEEDS AS f WHERE f.FEEDID in(" + feedids\r
-                + ") and f.FEEDID=e.FEEDID) AS FEEDNAME, e.FEEDID as FEEDID, (SELECT COUNT(*) FROM LOG_RECORDS AS c WHERE c.FEEDID in("\r
+                + ") and f.FEEDID=e.FEEDID) AS FEEDNAME, e.FEEDID as FEEDID, "\r
+                          + "(SELECT COUNT(*) FROM LOG_RECORDS AS c WHERE c.FEEDID in("\r
                 + feedids\r
-                + ") and c.FEEDID=e.FEEDID AND c.TYPE='PUB') AS FILES_PUBLISHED,(SELECT SUM(content_length) FROM LOG_RECORDS AS c WHERE c.FEEDID in("\r
+                + ") and c.FEEDID=e.FEEDID AND c.TYPE='PUB') AS FILES_PUBLISHED,"\r
+                          + "(SELECT SUM(content_length) FROM LOG_RECORDS AS c WHERE c.FEEDID in("\r
                 + feedids\r
-                + ")  and c.FEEDID=e.FEEDID AND c.TYPE='PUB') AS PUBLISH_LENGTH, COUNT(e.EVENT_TIME) as FILES_DELIVERED,  sum(m.content_length) as DELIVERED_LENGTH,SUBSTRING_INDEX(e.REQURI,'/',+3) as SUBSCRIBER_URL, e.DELIVERY_SUBID as SUBID, e.EVENT_TIME AS PUBLISH_TIME, m.EVENT_TIME AS DELIVERY_TIME,  AVG(e.EVENT_TIME - m.EVENT_TIME)/1000 as AverageDelay FROM LOG_RECORDS e JOIN LOG_RECORDS m ON m.PUBLISH_ID = e.PUBLISH_ID AND e.FEEDID IN ("\r
-                + feedids + ") " + subid + " AND m.STATUS=204 AND e.RESULT=204 and e.event_time between " + startInMillis\r
+                + ") and c.FEEDID=e.FEEDID AND c.TYPE='PUB') AS PUBLISH_LENGTH, COUNT(e.EVENT_TIME) as FILES_DELIVERED,"\r
+                          + "sum(m.content_length) as DELIVERED_LENGTH,"\r
+                          + "SUBSTRING_INDEX(e.REQURI,'/',+3) as SUBSCRIBER_URL,"\r
+                          + "e.DELIVERY_SUBID as SUBID, "\r
+                          + "e.EVENT_TIME AS PUBLISH_TIME, m.EVENT_TIME AS DELIVERY_TIME,  "\r
+                          + "AVG(e.EVENT_TIME - m.EVENT_TIME)/1000 as AverageDelay FROM LOG_RECORDS"\r
+                          + " e JOIN LOG_RECORDS m ON m.PUBLISH_ID = e.PUBLISH_ID AND e.FEEDID IN ("\r
+                + feedids + ")" + subid + " AND m.STATUS=204 AND e.RESULT=204 and e.event_time between " + startInMillis\r
                 + " and " + endInMillis + " group by SUBID";\r
 \r
 \r
@@ -384,10 +413,10 @@ public class StatisticsServlet extends BaseServlet {
 \r
     private Map<String, String> buildMapFromRequest(HttpServletRequest req) {\r
         Map<String, String> map = new HashMap<>();\r
-        String s = req.getParameter("type");\r
-        if (s != null) {\r
-            if ("pub".equals(s) || "del".equals(s) || "exp".equals(s)) {\r
-                map.put("type", s);\r
+        String str = req.getParameter("type");\r
+        if (str != null) {\r
+            if ("pub".equals(str) || "del".equals(str) || "exp".equals(str)) {\r
+                map.put("type", str);\r
             } else {\r
                 map.put("err", "bad type");\r
                 return map;\r
@@ -400,19 +429,19 @@ public class StatisticsServlet extends BaseServlet {
         map.put("resultSQL", "");\r
         map.put(REASON_SQL, "");\r
 \r
-        s = req.getParameter("publishId");\r
-        if (s != null) {\r
-            if (s.indexOf("'") >= 0) {\r
+        str = req.getParameter("publishId");\r
+        if (str != null) {\r
+            if (str.indexOf("'") >= 0) {\r
                 map.put("err", "bad publishId");\r
                 return map;\r
             }\r
-            map.put("publishSQL", " AND PUBLISH_ID = '" + s + "'");\r
+            map.put("publishSQL", " AND PUBLISH_ID = '" + str + "'");\r
         }\r
 \r
-        s = req.getParameter("statusCode");\r
-        if (s != null) {\r
+        str = req.getParameter("statusCode");\r
+        if (str != null) {\r
             String sql = null;\r
-            switch (s) {\r
+            switch (str) {\r
                 case "success":\r
                     sql = " AND STATUS >= 200 AND STATUS < 300";\r
                     break;\r
@@ -424,9 +453,9 @@ public class StatisticsServlet extends BaseServlet {
                     break;\r
                 default:\r
                     try {\r
-                        int n = Integer.parseInt(s);\r
-                        if ((n >= 100 && n < 600) || (n == -1)) {\r
-                            sql = " AND STATUS = " + n;\r
+                        int statusCode = Integer.parseInt(str);\r
+                        if ((statusCode >= 100 && statusCode < 600) || (statusCode == -1)) {\r
+                            sql = " AND STATUS = " + statusCode;\r
                         }\r
                     } catch (NumberFormatException e) {\r
                         eventlogger.error("Failed to parse input", e);\r
@@ -441,10 +470,10 @@ public class StatisticsServlet extends BaseServlet {
             map.put("resultSQL", sql.replaceAll("STATUS", "RESULT"));\r
         }\r
 \r
-        s = req.getParameter("expiryReason");\r
-        if (s != null) {\r
+        str = req.getParameter("expiryReason");\r
+        if (str != null) {\r
             map.put("type", "exp");\r
-            switch (s) {\r
+            switch (str) {\r
                 case "notRetryable":\r
                     map.put(REASON_SQL, " AND REASON = 'notRetryable'");\r
                     break;\r
@@ -485,30 +514,31 @@ public class StatisticsServlet extends BaseServlet {
         return map;\r
     }\r
 \r
-    private long getTimeFromParam(final String s) {\r
-        if (s == null) {\r
+    private long getTimeFromParam(final String str) {\r
+        if (str == null) {\r
             return 0;\r
         }\r
         try {\r
             // First, look for an RFC 3339 date\r
-            String fmt = (s.indexOf('.') > 0) ? FMT2 : FMT1;\r
+            String fmt = (str.indexOf('.') > 0) ? FMT2 : FMT1;\r
             SimpleDateFormat sdf = new SimpleDateFormat(fmt);\r
-            Date d = sdf.parse(s);\r
-            return d.getTime();\r
+            Date date = sdf.parse(str);\r
+            return date.getTime();\r
         } catch (ParseException e) {\r
             intlogger.error("Exception in getting Time :- " + e.getMessage(), e);\r
         }\r
         try {\r
             // Also allow a long (in ms); useful for testing\r
-            return Long.parseLong(s);\r
+            return Long.parseLong(str);\r
         } catch (NumberFormatException e) {\r
             intlogger.error("Exception in getting Time :- " + e.getMessage(), e);\r
         }\r
-        intlogger.info("Error parsing time=" + s);\r
+        intlogger.info("Error parsing time=" + str);\r
         return -1;\r
     }\r
 \r
-    private void getRecordsForSQL(Map<String, String> map, String outputType, ServletOutputStream out, HttpServletResponse resp) {\r
+    private void getRecordsForSQL(Map<String, String> map, String outputType, ServletOutputStream out,\r
+            HttpServletResponse resp) {\r
         try {\r
             String filterQuery = this.queryGeneretor(map);\r
             eventlogger.debug("SQL Query for Statistics resultset. " + filterQuery);\r