Remove major and minor code smells in dr-prov
[dmaap/datarouter.git] / datarouter-prov / src / main / java / org / onap / dmaap / datarouter / provisioning / RouteServlet.java
index a9b22ec..383798f 100644 (file)
@@ -129,6 +129,7 @@ import static org.onap.dmaap.datarouter.provisioning.utils.HttpServletUtils.send
  */\r
 @SuppressWarnings("serial")\r
 public class RouteServlet extends ProxyServlet {\r
+\r
     /**\r
      * DELETE route table entries by deleting part of the route table tree.\r
      */\r
@@ -136,25 +137,21 @@ public class RouteServlet extends ProxyServlet {
     public void doDelete(HttpServletRequest req, HttpServletResponse resp) {\r
         EventLogRecord elr = new EventLogRecord(req);\r
         if (!isAuthorizedForInternal(req)) {\r
-            elr.setMessage("Unauthorized.");\r
+            elr.setMessage(UNAUTHORIZED);\r
             elr.setResult(HttpServletResponse.SC_FORBIDDEN);\r
-            eventlogger.info(elr);\r
-            sendResponseError(resp, HttpServletResponse.SC_FORBIDDEN, "Unauthorized.", eventlogger);\r
+            eventlogger.error(elr.toString());\r
+            sendResponseError(resp, HttpServletResponse.SC_FORBIDDEN, UNAUTHORIZED, eventlogger);\r
             return;\r
         }\r
         if (isProxyOK(req) && isProxyServer()) {\r
-            try {\r
-                super.doDelete(req, resp);\r
-            } catch (IOException ioe) {\r
-                eventlogger.error("IOException" + ioe.getMessage());\r
-            }\r
+            super.doDelete(req, resp);\r
             return;\r
         }\r
 \r
         String path = req.getPathInfo();\r
         String[] parts = path.substring(1).split("/");\r
         Deleteable[] d = null;\r
-        if (parts[0].equals("ingress")) {\r
+        if ("ingress".equals(parts[0])) {\r
             if (parts.length == 4) {\r
                 // /internal/route/ingress/<feed>/<user>/<subnet>\r
                 try {\r
@@ -183,7 +180,7 @@ public class RouteServlet extends ProxyServlet {
                 sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "Invalid number of arguments in 'delete ingress' command.", eventlogger);\r
                 return;\r
             }\r
-        } else if (parts[0].equals("egress")) {\r
+        } else if ("egress".equals(parts[0])) {\r
             if (parts.length == 2) {\r
                 // /internal/route/egress/<sub>\r
                 try {\r
@@ -202,7 +199,7 @@ public class RouteServlet extends ProxyServlet {
                 sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "Invalid number of arguments in 'delete egress' command.", eventlogger);\r
                 return;\r
             }\r
-        } else if (parts[0].equals("network")) {\r
+        } else if ("network".equals(parts[0])) {\r
             if (parts.length == 3) {\r
                 // /internal/route/network/<from>/<to>\r
                 try {//\r
@@ -212,7 +209,9 @@ public class RouteServlet extends ProxyServlet {
                     );\r
                     d = new Deleteable[] { nr };\r
                 } catch (IllegalArgumentException e) {\r
-                    sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "The specified network route does not exist.", eventlogger);\r
+                    String message = "The specified network route does not exist.";\r
+                    eventlogger.error(message, e);\r
+                    sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, message, eventlogger);\r
                     return;\r
                 }\r
             } else {\r
@@ -221,7 +220,7 @@ public class RouteServlet extends ProxyServlet {
             }\r
         }\r
         if (d == null) {\r
-            sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "Bad URL.", eventlogger);\r
+            sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, BAD_URL, eventlogger);\r
             return;\r
         }\r
         boolean rv = true;\r
@@ -230,14 +229,14 @@ public class RouteServlet extends ProxyServlet {
         }\r
         if (rv) {\r
             elr.setResult(HttpServletResponse.SC_OK);\r
-            eventlogger.info(elr);\r
+            eventlogger.info(elr.toString());\r
             resp.setStatus(HttpServletResponse.SC_OK);\r
             provisioningDataChanged();\r
             provisioningParametersChanged();\r
         } else {\r
             // Something went wrong with the DELETE\r
             elr.setResult(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);\r
-            eventlogger.info(elr);\r
+            eventlogger.error(elr.toString());\r
             sendResponseError(resp, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, DB_PROBLEM_MSG, eventlogger);\r
         }\r
     }\r
@@ -248,32 +247,28 @@ public class RouteServlet extends ProxyServlet {
     public void doGet(HttpServletRequest req, HttpServletResponse resp) {\r
         EventLogRecord elr = new EventLogRecord(req);\r
         if (!isAuthorizedForInternal(req)) {\r
-            elr.setMessage("Unauthorized.");\r
+            elr.setMessage(UNAUTHORIZED);\r
             elr.setResult(HttpServletResponse.SC_FORBIDDEN);\r
-            eventlogger.info(elr);\r
-            sendResponseError(resp, HttpServletResponse.SC_FORBIDDEN, "Unauthorized.", eventlogger);\r
+            eventlogger.error(elr.toString());\r
+            sendResponseError(resp, HttpServletResponse.SC_FORBIDDEN, UNAUTHORIZED, eventlogger);\r
             return;\r
         }\r
         if (isProxyOK(req) && isProxyServer()) {\r
-            try {\r
-                super.doGet(req, resp);\r
-            } catch (IOException ioe) {\r
-                eventlogger.error("IOException" + ioe.getMessage());\r
-            }\r
+            super.doGet(req, resp);\r
             return;\r
         }\r
 \r
         String path = req.getPathInfo();\r
         if (!path.endsWith("/"))\r
             path += "/";\r
-        if (!path.equals("/") && !path.equals("/ingress/") && !path.equals("/egress/") && !path.equals("/network/")) {\r
-            sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "Bad URL.", eventlogger);\r
+        if (!"/".equals(path) && !INGRESS.equals(path) && !EGRESS.equals(path) && !NETWORK.equals(path)) {\r
+            sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, BAD_URL, eventlogger);\r
             return;\r
         }\r
 \r
         StringBuilder sb = new StringBuilder("{\n");\r
         String px2 = "";\r
-        if (path.equals("/") || path.equals("/ingress/")) {\r
+        if ("/".equals(path) || INGRESS.equals(path)) {\r
             String pfx = "\n";\r
             sb.append("\"ingress\": [");\r
             for (IngressRoute in : IngressRoute.getAllIngressRoutes()) {\r
@@ -285,7 +280,7 @@ public class RouteServlet extends ProxyServlet {
             px2 = ",\n";\r
         }\r
 \r
-        if (path.equals("/") || path.equals("/egress/")) {\r
+        if ("/".equals(path) || EGRESS.equals(path)) {\r
             String pfx = "\n";\r
             sb.append(px2);\r
             sb.append("\"egress\": {");\r
@@ -297,7 +292,7 @@ public class RouteServlet extends ProxyServlet {
                     try {\r
                         sb.append("\"").append(jx.getString(key)).append("\"");\r
                     } catch (JSONException je) {\r
-                        eventlogger.error("JSONException" + je.getMessage());\r
+                        eventlogger.error("PROV0161 RouteServlet.doGet: " + je.getMessage(), je);\r
                     }\r
                     pfx = ",\n";\r
                 }\r
@@ -306,7 +301,7 @@ public class RouteServlet extends ProxyServlet {
             px2 = ",\n";\r
         }\r
 \r
-        if (path.equals("/") || path.equals("/network/")) {\r
+        if ("/".equals(path) || NETWORK.equals(path)) {\r
             String pfx = "\n";\r
             sb.append(px2);\r
             sb.append("\"routing\": [");\r
@@ -323,7 +318,7 @@ public class RouteServlet extends ProxyServlet {
         try {\r
             resp.getOutputStream().print(sb.toString());\r
         } catch (IOException ioe) {\r
-            eventlogger.error("IOException" + ioe.getMessage());\r
+            eventlogger.error("PROV0162 RouteServlet.doGet: " + ioe.getMessage(), ioe);\r
         }\r
     }\r
     /**\r
@@ -333,13 +328,13 @@ public class RouteServlet extends ProxyServlet {
     public void doPut(HttpServletRequest req, HttpServletResponse resp) {\r
         EventLogRecord elr = new EventLogRecord(req);\r
         if (!isAuthorizedForInternal(req)) {\r
-            elr.setMessage("Unauthorized.");\r
+            elr.setMessage(UNAUTHORIZED);\r
             elr.setResult(HttpServletResponse.SC_FORBIDDEN);\r
-            eventlogger.info(elr);\r
-            sendResponseError(resp, HttpServletResponse.SC_FORBIDDEN, "Unauthorized.", eventlogger);\r
+            eventlogger.error(elr.toString());\r
+            sendResponseError(resp, HttpServletResponse.SC_FORBIDDEN, UNAUTHORIZED, eventlogger);\r
             return;\r
         }\r
-        sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "Bad URL.", eventlogger);\r
+        sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, BAD_URL, eventlogger);\r
     }\r
     /**\r
      * POST - modify existing route table entries in the route table tree specified by the URL path.\r
@@ -348,23 +343,19 @@ public class RouteServlet extends ProxyServlet {
     public void doPost(HttpServletRequest req, HttpServletResponse resp) {\r
         EventLogRecord elr = new EventLogRecord(req);\r
         if (!isAuthorizedForInternal(req)) {\r
-            elr.setMessage("Unauthorized.");\r
+            elr.setMessage(UNAUTHORIZED);\r
             elr.setResult(HttpServletResponse.SC_FORBIDDEN);\r
-            eventlogger.info(elr);\r
-            sendResponseError(resp, HttpServletResponse.SC_FORBIDDEN, "Unauthorized.", eventlogger);\r
+            eventlogger.error(elr.toString());\r
+            sendResponseError(resp, HttpServletResponse.SC_FORBIDDEN, UNAUTHORIZED, eventlogger);\r
             return;\r
         }\r
         if (isProxyOK(req) && isProxyServer()) {\r
-            try {\r
-                super.doPost(req, resp);\r
-            } catch (IOException ioe) {\r
-                intlogger.error("IOException" + ioe.getMessage());\r
-            }\r
+            super.doPost(req, resp);\r
             return;\r
         }\r
         String path = req.getPathInfo();\r
         Insertable[] ins = null;\r
-        if (path.startsWith("/ingress/")) {\r
+        if (path.startsWith(INGRESS)) {\r
             // /internal/route/ingress/?feed=%s&amp;user=%s&amp;subnet=%s&amp;nodepatt=%s\r
             try {\r
                 // Although it probably doesn't make sense, you can install two identical routes in the IRT\r
@@ -380,11 +371,11 @@ public class RouteServlet extends ProxyServlet {
                 int seq = (t != null) ? Integer.parseInt(t) : (IngressRoute.getMaxSequence() + 100);\r
                 ins = new Insertable[] { new IngressRoute(seq, feedid, user, subnet, NodeClass.lookupNodeNames(nodepatt)) };\r
             } catch (Exception e) {\r
-                intlogger.info(e);\r
+                intlogger.info(e.toString(), e);\r
                 sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, "Invalid arguments in 'add ingress' command.", intlogger);\r
                 return;\r
             }\r
-        } else if (path.startsWith("/egress/")) {\r
+        } else if (path.startsWith(EGRESS)) {\r
             // /internal/route/egress/?sub=%s&amp;node=%s\r
             try {\r
                 int subid = Integer.parseInt(req.getParameter("sub"));\r
@@ -396,11 +387,11 @@ public class RouteServlet extends ProxyServlet {
                 String node = NodeClass.normalizeNodename(req.getParameter("node"));\r
                 ins = new Insertable[] { new EgressRoute(subid, node) };\r
             } catch (Exception e) {\r
-                intlogger.info(e);\r
+                intlogger.info(e.toString(), e);\r
                 sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, "Invalid arguments in 'add egress' command.", intlogger);\r
                 return;\r
             }\r
-        } else if (path.startsWith("/network/")) {\r
+        } else if (path.startsWith(NETWORK)) {\r
             // /internal/route/network/?from=%s&amp;to=%s&amp;via=%s\r
             try {\r
                 String nfrom = req.getParameter("from");\r
@@ -422,13 +413,13 @@ public class RouteServlet extends ProxyServlet {
                 }\r
                 ins = new Insertable[] { nr };\r
             } catch (IllegalArgumentException e) {\r
-                intlogger.info(e);\r
+                intlogger.info(e.toString(), e);\r
                 sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, "Invalid arguments in 'add network' command.", intlogger);\r
                 return;\r
             }\r
         }\r
         if (ins == null) {\r
-            sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "Bad URL.", intlogger);\r
+            sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, BAD_URL, intlogger);\r
             return;\r
         }\r
         boolean rv = true;\r
@@ -437,14 +428,14 @@ public class RouteServlet extends ProxyServlet {
         }\r
         if (rv) {\r
             elr.setResult(HttpServletResponse.SC_OK);\r
-            eventlogger.info(elr);\r
+            eventlogger.info(elr.toString());\r
             resp.setStatus(HttpServletResponse.SC_OK);\r
             provisioningDataChanged();\r
             provisioningParametersChanged();\r
         } else {\r
             // Something went wrong with the INSERT\r
             elr.setResult(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);\r
-            eventlogger.info(elr);\r
+            eventlogger.error(elr.toString());\r
             sendResponseError(resp, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, DB_PROBLEM_MSG, intlogger);\r
         }\r
     }\r