X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=datarouter-prov%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fprovisioning%2FPublishServlet.java;h=35205aa97683ff5d231e9aed8c25b81445883639;hb=68a9ca240970fceaf12bbe91b7bad8e1d98ecd93;hp=42d2b113650124642879ed32750bcd9fc0dd6d4d;hpb=0312e2224f81619699151718622b44db699bcce8;p=dmaap%2Fdatarouter.git diff --git a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/PublishServlet.java b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/PublishServlet.java index 42d2b113..35205aa9 100644 --- a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/PublishServlet.java +++ b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/PublishServlet.java @@ -28,7 +28,9 @@ import com.att.eelf.configuration.EELFLogger; import com.att.eelf.configuration.EELFManager; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; @@ -39,10 +41,10 @@ import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.json.JSONTokener; +import org.onap.dmaap.datarouter.provisioning.utils.Poker; import org.onap.dmaap.datarouter.provisioning.beans.EventLogRecord; import org.onap.dmaap.datarouter.provisioning.beans.IngressRoute; import org.onap.dmaap.datarouter.provisioning.eelf.EelfMsgs; -import org.onap.dmaap.datarouter.provisioning.utils.DB; /** * This servlet handles redirects for the <publishURL> on the provisioning server, which is generated by the @@ -53,13 +55,14 @@ import org.onap.dmaap.datarouter.provisioning.utils.DB; * @version $Id: PublishServlet.java,v 1.8 2014/03/12 19:45:41 eby Exp $ */ @SuppressWarnings("serial") + public class PublishServlet extends BaseServlet { private int nextNode; private String provstring; private List irt; //Adding EELF Logger Rally:US664892 - private static EELFLogger eelflogger = EELFManager.getInstance() + private static EELFLogger eelfLogger = EELFManager.getInstance() .getLogger(PublishServlet.class); private static final Object lock = new Object(); @@ -76,54 +79,58 @@ public class PublishServlet extends BaseServlet { @Override public void doDelete(HttpServletRequest req, HttpServletResponse resp) { setUpEelfForPublishServlet(req, "doDelete"); - eelflogger.info(EelfMsgs.ENTRY); + 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) + ""); redirect(req, resp); } finally { - eelflogger.info(EelfMsgs.EXIT); + eelfLogger.info(EelfMsgs.EXIT); } } @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) { setUpEelfForPublishServlet(req, "doGet"); - eelflogger.info(EelfMsgs.ENTRY); + eelfLogger.info(EelfMsgs.ENTRY); try { - eelflogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, req.getHeader(BEHALF_HEADER), getIdFromPath(req) + ""); - redirect(req, resp); + eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, + req.getHeader(BEHALF_HEADER), getIdFromPath(req) + ""); + redirect(req, resp); } finally { - eelflogger.info(EelfMsgs.EXIT); + eelfLogger.info(EelfMsgs.EXIT); } } @Override public void doPut(HttpServletRequest req, HttpServletResponse resp) { setUpEelfForPublishServlet(req, "doPut"); - eelflogger.info(EelfMsgs.ENTRY); + eelfLogger.info(EelfMsgs.ENTRY); try { - eelflogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, req.getHeader(BEHALF_HEADER), getIdFromPath(req) + ""); - redirect(req, resp); + eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, + req.getHeader(BEHALF_HEADER), getIdFromPath(req) + ""); + redirect(req, resp); } finally { - eelflogger.info(EelfMsgs.EXIT); + eelfLogger.info(EelfMsgs.EXIT); } } @Override public void doPost(HttpServletRequest req, HttpServletResponse resp) { setUpEelfForPublishServlet(req, "doPost"); - eelflogger.info(EelfMsgs.ENTRY); + eelfLogger.info(EelfMsgs.ENTRY); try { - eelflogger.info(EelfMsgs.MESSAGE_WITH_BEHALF, req.getHeader(BEHALF_HEADER)); - redirect(req, resp); + eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF, req.getHeader(BEHALF_HEADER)); + redirect(req, resp); } finally { - eelflogger.info(EelfMsgs.EXIT); + eelfLogger.info(EelfMsgs.EXIT); } } private void setUpEelfForPublishServlet(HttpServletRequest req, String method) { - if (StringUtils.isBlank(req.getHeader("X-ONAP-RequestID")) || StringUtils.isBlank(req.getHeader("X-InvocationID"))) { + if (StringUtils.isBlank(req.getHeader("X-ONAP-RequestID")) + || StringUtils.isBlank(req.getHeader("X-InvocationID"))) { setIpFqdnForEelf(method); } else { setIpFqdnRequestIDandInvocationIDForEelf(method, req); @@ -145,13 +152,14 @@ public class PublishServlet extends BaseServlet { : "Invalid request - Missing file ID."; elr.setMessage(message); elr.setResult(HttpServletResponse.SC_NOT_FOUND); - eventlogger.info(elr); + eventlogger.error(elr.toString()); resp.sendError(HttpServletResponse.SC_NOT_FOUND, message); } else { // Generate new URL String nextnode = getRedirectNode(feedid, req); - nextnode = nextnode + ":" + DB.getHttpsPort(); + nextnode = nextnode + ":" + ProvRunner.getProvProperties().getProperty( + "org.onap.dmaap.datarouter.provserver.https.port", "8443"); String newurl = "https://" + nextnode + "/publish" + req.getPathInfo(); String qs = req.getQueryString(); if (qs != null) { @@ -162,25 +170,25 @@ public class PublishServlet extends BaseServlet { String message = "Redirected to: " + newurl; elr.setMessage(message); elr.setResult(HttpServletResponse.SC_MOVED_PERMANENTLY); - eventlogger.info(elr); + eventlogger.info(elr.toString()); resp.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); resp.setHeader("Location", newurl); } } } catch (IOException ioe) { - intlogger.error("IOException" + ioe.getMessage()); + intlogger.error("PROV0151 PublishServlet.redirect: " + ioe.getMessage(), ioe); } } private String getRedirectNode(int feedid, HttpServletRequest req) { // Check to see if the IRT needs to be updated - Poker p = Poker.getPoker(); - String s = p.getProvisioningString(); + Poker pkr = Poker.getPoker(); + String str = pkr.getProvisioningString(); synchronized (lock) { - if (irt == null || (s.length() != provstring.length()) || !s.equals(provstring)) { + if (irt == null || (str.length() != provstring.length()) || !str.equals(provstring)) { // Provisioning string has changed -- update the IRT - provstring = s; + provstring = str; JSONObject jo = new JSONObject(new JSONTokener(provstring)); JSONArray ja = jo.getJSONArray("ingress"); List newlist = new ArrayList<>(); @@ -207,8 +215,7 @@ public class PublishServlet extends BaseServlet { // No IRT rule matches, do round robin of all active nodes String[] nodes = getNodes(); - if (nextNode >= nodes.length) // The list of nodes may have grown/shrunk - { + if (nextNode >= nodes.length) { // The list of nodes may have grown/shrunk nextNode = 0; } return nodes[nextNode++]; @@ -235,6 +242,7 @@ public class PublishServlet extends BaseServlet { } return -1; } catch (NumberFormatException | JSONException e) { + intlogger.debug("PROV0152 PublishServlet.checkPath: " + e.getMessage(), e); return -1; } }