unit test for StastisticsServlet with db
[dmaap/datarouter.git] / datarouter-prov / src / main / java / org / onap / dmaap / datarouter / provisioning / StatisticsServlet.java
index 33bf3a3..4917402 100755 (executable)
@@ -180,39 +180,8 @@ public class StatisticsServlet extends BaseServlet {
       outputType = req.getParameter("output_type");\r
     }\r
 \r
-    try {\r
-\r
-      String filterQuery = this.queryGeneretor(map);\r
-      eventlogger.debug("SQL Query for Statistics resultset. " + filterQuery);\r
-\r
-      ResultSet rs = this.getRecordsForSQL(filterQuery);\r
+    this.getRecordsForSQL(map, outputType, out, resp);\r
 \r
-      if (outputType.equals("csv")) {\r
-        resp.setContentType("application/octet-stream");\r
-        Date date = new Date();\r
-        SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-YYYY HH:mm:ss");\r
-        resp.setHeader("Content-Disposition",\r
-            "attachment; filename=\"result:" + dateFormat.format(date) + ".csv\"");\r
-        eventlogger.info("Generating CSV file from Statistics resultset");\r
-\r
-        rsToCSV(rs, out);\r
-      } else {\r
-        eventlogger.info("Generating JSON for Statistics resultset");\r
-        this.rsToJson(rs, out);\r
-      }\r
-    } catch (IOException e) {\r
-      eventlogger.error("IOException - Generating JSON/CSV:" + e);\r
-      e.printStackTrace();\r
-    } catch (JSONException e) {\r
-      eventlogger.error("JSONException - executing SQL query:" + e);\r
-      e.printStackTrace();\r
-    } catch (SQLException e) {\r
-      eventlogger.error("SQLException - executing SQL query:" + e);\r
-      e.printStackTrace();\r
-    } catch (ParseException e) {\r
-      eventlogger.error("ParseException - executing SQL query:" + e);\r
-      e.printStackTrace();\r
-    }\r
   }\r
 \r
 \r
@@ -565,21 +534,47 @@ public class StatisticsServlet extends BaseServlet {
     intlogger.info("Error parsing time=" + s);\r
     return -1;\r
   }\r
-  private ResultSet getRecordsForSQL(String sql) {\r
-      intlogger.debug(sql);\r
+\r
+  private void getRecordsForSQL(Map<String, String> map, String outputType, ServletOutputStream out, HttpServletResponse resp) {\r
+    try {\r
+\r
+      String filterQuery = this.queryGeneretor(map);\r
+      eventlogger.debug("SQL Query for Statistics resultset. " + filterQuery);\r
+      intlogger.debug(filterQuery);\r
       long start = System.currentTimeMillis();\r
       DB db = new DB();\r
       ResultSet rs = null;\r
-      try (\r
-          Connection conn = db.getConnection()){\r
-          try(PreparedStatement pst = conn.prepareStatement(sql)){\r
-              rs = pst.executeQuery();\r
+      try (Connection conn = db.getConnection()) {\r
+        try (PreparedStatement pst = conn.prepareStatement(filterQuery)) {\r
+          rs = pst.executeQuery();\r
+          if (outputType.equals("csv")) {\r
+            resp.setContentType("application/octet-stream");\r
+            Date date = new Date();\r
+            SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-YYYY HH:mm:ss");\r
+            resp.setHeader("Content-Disposition",\r
+                    "attachment; filename=\"result:" + dateFormat.format(date) + ".csv\"");\r
+            eventlogger.info("Generating CSV file from Statistics resultset");\r
+\r
+            rsToCSV(rs, out);\r
+          } else {\r
+            eventlogger.info("Generating JSON for Statistics resultset");\r
+            this.rsToJson(rs, out);\r
           }\r
+        }\r
       } catch (SQLException e) {\r
-          e.printStackTrace();\r
-      }\r
-          intlogger.debug("Time: " + (System.currentTimeMillis() - start) + " ms");\r
-          return rs;\r
+        e.printStackTrace();\r
       }\r
+      intlogger.debug("Time: " + (System.currentTimeMillis() - start) + " ms");\r
+    } catch (IOException e) {\r
+      eventlogger.error("IOException - Generating JSON/CSV:" + e);\r
+      e.printStackTrace();\r
+    } catch (JSONException e) {\r
+      eventlogger.error("JSONException - executing SQL query:" + e);\r
+      e.printStackTrace();\r
+    } catch (ParseException e) {\r
+      eventlogger.error("ParseException - executing SQL query:" + e);\r
+      e.printStackTrace();\r
+    }\r
   }\r
+}\r
 \r