Removing passwordencryption key
[dmaap/datarouter.git] / datarouter-prov / src / main / java / org / onap / dmaap / datarouter / provisioning / InternalServlet.java
index 8ae9fa2..efa1c10 100644 (file)
 
 package org.onap.dmaap.datarouter.provisioning;
 
+import static org.onap.dmaap.datarouter.provisioning.utils.HttpServletUtils.sendResponseError;
+
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.IOException;
@@ -35,23 +39,19 @@ import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.nio.file.StandardCopyOption;
 import java.util.Properties;
-
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
 import org.json.JSONArray;
 import org.onap.dmaap.datarouter.provisioning.beans.EventLogRecord;
 import org.onap.dmaap.datarouter.provisioning.beans.LogRecord;
 import org.onap.dmaap.datarouter.provisioning.beans.Parameters;
 import org.onap.dmaap.datarouter.provisioning.eelf.EelfMsgs;
-import org.onap.dmaap.datarouter.provisioning.utils.DB;
 import org.onap.dmaap.datarouter.provisioning.utils.LogfileLoader;
+import org.onap.dmaap.datarouter.provisioning.utils.Poker;
 import org.onap.dmaap.datarouter.provisioning.utils.RLEBitSet;
+import org.onap.dmaap.datarouter.provisioning.utils.SynchronizerTask;
 
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
 
-import static org.onap.dmaap.datarouter.provisioning.utils.HttpServletUtils.sendResponseError;
 
 /**
  * <p>
@@ -128,7 +128,8 @@ import static org.onap.dmaap.datarouter.provisioning.utils.HttpServletUtils.send
  * <tr class="altColor">
  * <td class="colFirst">/internal/route/*</td>
  * <td class="colOne">*</td>
- * <td class="colLast">URLs under this path are handled via the {@link org.onap.dmaap.datarouter.provisioning.RouteServlet}</td>
+ * <td class="colLast">URLs under this path are handled via the
+ * {@link RouteServlet}</td>
  * </tr>
  * </table>
  * </div>
@@ -153,6 +154,7 @@ import static org.onap.dmaap.datarouter.provisioning.utils.HttpServletUtils.send
  * @author Robert Eby
  * @version $Id: InternalServlet.java,v 1.23 2014/03/24 18:47:10 eby Exp $
  */
+
 @SuppressWarnings("serial")
 public class InternalServlet extends ProxyServlet {
 
@@ -172,7 +174,8 @@ public class InternalServlet extends ProxyServlet {
         setIpFqdnRequestIDandInvocationIDForEelf("doDelete", req);
         eelfLogger.info(EelfMsgs.ENTRY);
         try {
-            eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, req.getHeader(BEHALF_HEADER), getIdFromPath(req) + "");
+            eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID,
+                    req.getHeader(BEHALF_HEADER), getIdFromPath(req) + "");
             EventLogRecord elr = new EventLogRecord(req);
             if (!isAuthorizedForInternal(req)) {
                 elr.setMessage(UNAUTHORIZED);
@@ -202,7 +205,8 @@ public class InternalServlet extends ProxyServlet {
                             // Something went wrong with the DELETE
                             elr.setResult(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                             eventlogger.error(elr.toString());
-                            sendResponseError(resp, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, DB_PROBLEM_MSG, eventlogger);
+                            sendResponseError(resp, HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
+                                    DB_PROBLEM_MSG, eventlogger);
                         }
                         return;
                     }
@@ -223,16 +227,17 @@ public class InternalServlet extends ProxyServlet {
         setIpFqdnRequestIDandInvocationIDForEelf("doGet",req);
         eelfLogger.info(EelfMsgs.ENTRY);
         try {
-            eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, req.getHeader(BEHALF_HEADER), getIdFromPath(req) + "");
+            eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID,
+                    req.getHeader(BEHALF_HEADER), getIdFromPath(req) + "");
             String path = req.getPathInfo();
-            Properties props = (new DB()).getProperties();
+            Properties props = ProvRunner.getProvProperties();
             if ("/halt".equals(path) && !req.isSecure()) {
                 // request to halt the server - can ONLY come from localhost
                 String remote = req.getRemoteAddr();
                 if (remote.equals(props.getProperty("org.onap.dmaap.datarouter.provserver.localhost"))) {
                     intlogger.info("PROV0009 Request to HALT received.");
                     resp.setStatus(HttpServletResponse.SC_OK);
-                    Main.shutdown();
+                    ProvRunner.shutdown();
                 } else {
                     intlogger.info("PROV0010 Disallowed request to HALT received from " + remote);
                     resp.setStatus(HttpServletResponse.SC_FORBIDDEN);
@@ -250,8 +255,8 @@ public class InternalServlet extends ProxyServlet {
             }
             if ("/fetchProv".equals(path) && !req.isSecure()) {
                 // if request came from active_pod or standby_pod and it is not us, reload prov data
-                SynchronizerTask s = SynchronizerTask.getSynchronizer();
-                s.doFetch();
+                SynchronizerTask sync = SynchronizerTask.getSynchronizer();
+                sync.doFetch();
                 resp.setStatus(HttpServletResponse.SC_OK);
                 return;
             }
@@ -263,11 +268,11 @@ public class InternalServlet extends ProxyServlet {
                     // fall back to returning the local data if the remote is unreachable
                     intlogger.info("Active server unavailable; falling back to local copy.");
                 }
-                Poker p = Poker.getPoker();
+                Poker pkr = Poker.getPoker();
                 resp.setStatus(HttpServletResponse.SC_OK);
                 resp.setContentType(PROVFULL_CONTENT_TYPE2);
                 try {
-                    resp.getOutputStream().print(p.getProvisioningString());
+                    resp.getOutputStream().print(pkr.getProvisioningString());
                 } catch (IOException ioe) {
                     intlogger.error("PROV0131 InternalServlet.doGet: " + ioe.getMessage(), ioe);
                 }
@@ -287,7 +292,7 @@ public class InternalServlet extends ProxyServlet {
                 String logdir = props.getProperty("org.onap.dmaap.datarouter.provserver.accesslog.dir");
                 String logfile = path.substring(6);
                 if (logdir != null && logfile != null && logfile.indexOf('/') < 0) {
-                    File log = new File(logdir + "/" + logfile);
+                    File log = new File(logdir + File.separator + logfile);
                     if (log.exists() && log.isFile()) {
                         resp.setStatus(HttpServletResponse.SC_OK);
                         resp.setContentType(TEXT_CT);
@@ -350,7 +355,8 @@ public class InternalServlet extends ProxyServlet {
         setIpFqdnRequestIDandInvocationIDForEelf("doPut", req);
         eelfLogger.info(EelfMsgs.ENTRY);
         try {
-            eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, req.getHeader(BEHALF_HEADER), getIdFromPath(req) + "");
+            eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID,
+                    req.getHeader(BEHALF_HEADER), getIdFromPath(req) + "");
             EventLogRecord elr = new EventLogRecord(req);
             if (!isAuthorizedForInternal(req)) {
                 elr.setMessage(UNAUTHORIZED);
@@ -369,8 +375,8 @@ public class InternalServlet extends ProxyServlet {
                 if (key.length() > 0) {
                     Parameters param = Parameters.getParameter(key);
                     if (param != null) {
-                        String t = catValues(req.getParameterValues("val"));
-                        param.setValue(t);
+                        String str = catValues(req.getParameterValues("val"));
+                        param.setValue(str);
                         if (doUpdate(param)) {
                             elr.setResult(HttpServletResponse.SC_OK);
                             eventlogger.info(elr.toString());
@@ -381,7 +387,8 @@ public class InternalServlet extends ProxyServlet {
                             // Something went wrong with the UPDATE
                             elr.setResult(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                             eventlogger.error(elr.toString());
-                            sendResponseError(resp, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, DB_PROBLEM_MSG, eventlogger);
+                            sendResponseError(resp, HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
+                                    DB_PROBLEM_MSG, eventlogger);
                         }
                         return;
                     }
@@ -423,8 +430,8 @@ public class InternalServlet extends ProxyServlet {
                 if (key.length() > 0) {
                     Parameters param = Parameters.getParameter(key);
                     if (param == null) {
-                        String t = catValues(req.getParameterValues("val"));
-                        param = new Parameters(key, t);
+                        String str = catValues(req.getParameterValues("val"));
+                        param = new Parameters(key, str);
                         if (doInsert(param)) {
                             elr.setResult(HttpServletResponse.SC_OK);
                             eventlogger.info(elr.toString());
@@ -435,7 +442,8 @@ public class InternalServlet extends ProxyServlet {
                             // Something went wrong with the INSERT
                             elr.setResult(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                             eventlogger.error(elr.toString());
-                            sendResponseError(resp, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, DB_PROBLEM_MSG, eventlogger);
+                            sendResponseError(resp, HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
+                                    DB_PROBLEM_MSG, eventlogger);
                         }
                         return;
                     }
@@ -444,14 +452,15 @@ public class InternalServlet extends ProxyServlet {
 
             if ("/logs".equals(path) || LOGS.equals(path)) {
                 String ctype = req.getHeader("Content-Type");
-                if (ctype == null || !TEXT_CT.equals(ctype)) {
+                if (!TEXT_CT.equals(ctype)) {
                     elr.setResult(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE);
                     elr.setMessage("Bad media type: " + ctype);
                     resp.setStatus(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE);
                     eventlogger.error(elr.toString());
                     return;
                 }
-                String spooldir = (new DB()).getProperties().getProperty("org.onap.dmaap.datarouter.provserver.spooldir");
+                String spooldir =
+                        ProvRunner.getProvProperties().getProperty("org.onap.dmaap.datarouter.provserver.spooldir");
                 String spoolname = String.format("%d-%d-", System.currentTimeMillis(), Thread.currentThread().getId());
                 synchronized (lock) {
                     // perhaps unnecessary, but it helps make the name unique
@@ -483,10 +492,10 @@ public class InternalServlet extends ProxyServlet {
                 }
                 try {
                     fs.close();
-                } catch (Exception e) {
+                } catch (UnsupportedOperationException | IOException e) {
                     intlogger.error("PROV0137 InternalServlet.doPost: " + e.getMessage(), e);
                 }
-                if (((avail * 100) / total) < 5) {
+                if (total != 0 && ((avail * 100) / total) < 5) {
                     elr.setResult(HttpServletResponse.SC_SERVICE_UNAVAILABLE);
                     resp.setStatus(HttpServletResponse.SC_SERVICE_UNAVAILABLE);
                     eventlogger.error(elr.toString());
@@ -495,7 +504,8 @@ public class InternalServlet extends ProxyServlet {
                 Path tmppath = Paths.get(spooldir, spoolname);
                 Path donepath = Paths.get(spooldir, "IN." + spoolname);
                 try {
-                    Files.copy(req.getInputStream(), Paths.get(spooldir, spoolname), StandardCopyOption.REPLACE_EXISTING);
+                    Files.copy(req.getInputStream(), Paths.get(spooldir, spoolname),
+                            StandardCopyOption.REPLACE_EXISTING);
                     Files.move(tmppath, donepath, StandardCopyOption.REPLACE_EXISTING);
                     elr.setResult(HttpServletResponse.SC_CREATED);
                     resp.setStatus(HttpServletResponse.SC_CREATED);
@@ -510,7 +520,7 @@ public class InternalServlet extends ProxyServlet {
             if ("/drlogs".equals(path) || "/drlogs/".equals(path)) {
                 // Receive post request and generate log entries
                 String ctype = req.getHeader("Content-Type");
-                if (ctype == null || !TEXT_CT.equals(ctype)) {
+                if (!TEXT_CT.equals(ctype)) {
                     elr.setResult(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE);
                     elr.setMessage("Bad media type: " + ctype);
                     resp.setStatus(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE);
@@ -524,10 +534,10 @@ public class InternalServlet extends ProxyServlet {
                     while ((ch = is.read()) >= 0) {
                         bos.write(ch);
                     }
-                    RLEBitSet bs = new RLEBitSet(bos.toString());    // The set of records to retrieve
                     elr.setResult(HttpServletResponse.SC_OK);
                     resp.setStatus(HttpServletResponse.SC_OK);
                     resp.setContentType(TEXT_CT);
+                    RLEBitSet bs = new RLEBitSet(bos.toString());    // The set of records to retrieve
                     LogRecord.printLogRecords(resp.getOutputStream(), bs);
                     eventlogger.info(elr.toString());
                 } catch (IOException ioe) {
@@ -544,11 +554,11 @@ public class InternalServlet extends ProxyServlet {
         }
     }
 
-    private String catValues(String[] v) {
+    private String catValues(String[] val) {
         StringBuilder sb = new StringBuilder();
-        if (v != null) {
+        if (val != null) {
             String pfx = "";
-            for (String s : v) {
+            for (String s : val) {
                 sb.append(pfx);
                 sb.append(s);
                 pfx = "|";
@@ -559,13 +569,13 @@ public class InternalServlet extends ProxyServlet {
 
     private JSONArray generateLogfileList() {
         JSONArray ja = new JSONArray();
-        Properties p = (new DB()).getProperties();
-        String s = p.getProperty("org.onap.dmaap.datarouter.provserver.accesslog.dir");
-        if (s != null) {
-            String[] dirs = s.split(",");
+        Properties prop = ProvRunner.getProvProperties();
+        String str = prop.getProperty("org.onap.dmaap.datarouter.provserver.accesslog.dir");
+        if (str != null) {
+            String[] dirs = str.split(",");
             for (String dir : dirs) {
-                File f = new File(dir);
-                String[] list = f.list();
+                File file = new File(dir);
+                String[] list = file.list();
                 if (list != null) {
                     for (String s2 : list) {
                         if (!s2.startsWith(".")) {