import com.att.eelf.configuration.EELFManager;\r
\r
import java.io.IOException;\r
-import java.util.*;\r
+import java.util.ArrayList;\r
+import java.util.Collection;\r
+import java.util.List;\r
import javax.servlet.ServletConfig;\r
import javax.servlet.ServletException;\r
import javax.servlet.http.HttpServletRequest;\r
import org.json.JSONException;\r
import org.json.JSONObject;\r
import org.json.JSONTokener;\r
+import org.onap.dmaap.datarouter.provisioning.utils.Poker;\r
import org.onap.dmaap.datarouter.provisioning.beans.EventLogRecord;\r
import org.onap.dmaap.datarouter.provisioning.beans.IngressRoute;\r
import org.onap.dmaap.datarouter.provisioning.eelf.EelfMsgs;\r
-import org.onap.dmaap.datarouter.provisioning.utils.DB;\r
+import org.onap.dmaap.datarouter.provisioning.utils.URLUtilities;\r
\r
/**\r
* This servlet handles redirects for the <publishURL> on the provisioning server, which is generated by the\r
* @version $Id: PublishServlet.java,v 1.8 2014/03/12 19:45:41 eby Exp $\r
*/\r
@SuppressWarnings("serial")\r
+\r
public class PublishServlet extends BaseServlet {\r
\r
private int nextNode;\r
setUpEelfForPublishServlet(req, "doDelete");\r
eelfLogger.info(EelfMsgs.ENTRY);\r
try {\r
- eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, req.getHeader(BEHALF_HEADER), getIdFromPath(req) + "");\r
+ eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID,\r
+ req.getHeader(BEHALF_HEADER), getIdFromPath(req) + "");\r
redirect(req, resp);\r
} finally {\r
eelfLogger.info(EelfMsgs.EXIT);\r
setUpEelfForPublishServlet(req, "doGet");\r
eelfLogger.info(EelfMsgs.ENTRY);\r
try {\r
- eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, req.getHeader(BEHALF_HEADER), getIdFromPath(req) + "");\r
- redirect(req, resp);\r
+ eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID,\r
+ req.getHeader(BEHALF_HEADER), getIdFromPath(req) + "");\r
+ redirect(req, resp);\r
} finally {\r
eelfLogger.info(EelfMsgs.EXIT);\r
}\r
setUpEelfForPublishServlet(req, "doPut");\r
eelfLogger.info(EelfMsgs.ENTRY);\r
try {\r
- eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, req.getHeader(BEHALF_HEADER), getIdFromPath(req) + "");\r
- redirect(req, resp);\r
+ eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID,\r
+ req.getHeader(BEHALF_HEADER), getIdFromPath(req) + "");\r
+ redirect(req, resp);\r
} finally {\r
eelfLogger.info(EelfMsgs.EXIT);\r
}\r
setUpEelfForPublishServlet(req, "doPost");\r
eelfLogger.info(EelfMsgs.ENTRY);\r
try {\r
- eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF, req.getHeader(BEHALF_HEADER));\r
- redirect(req, resp);\r
+ eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF, req.getHeader(BEHALF_HEADER));\r
+ redirect(req, resp);\r
} finally {\r
eelfLogger.info(EelfMsgs.EXIT);\r
}\r
}\r
\r
private void setUpEelfForPublishServlet(HttpServletRequest req, String method) {\r
- if (StringUtils.isBlank(req.getHeader("X-ONAP-RequestID")) || StringUtils.isBlank(req.getHeader("X-InvocationID"))) {\r
+ if (StringUtils.isBlank(req.getHeader("X-ONAP-RequestID"))\r
+ || StringUtils.isBlank(req.getHeader("X-InvocationID"))) {\r
setIpFqdnForEelf(method);\r
} else {\r
setIpFqdnRequestIDandInvocationIDForEelf(method, req);\r
} else {\r
// Generate new URL\r
String nextnode = getRedirectNode(feedid, req);\r
- nextnode = nextnode + ":" + DB.getHttpsPort();\r
- String newurl = "https://" + nextnode + "/publish" + req.getPathInfo();\r
+ if (Boolean.parseBoolean(ProvRunner.getProvProperties()\r
+ .getProperty("org.onap.dmaap.datarouter.provserver.tlsenabled", "true"))) {\r
+ nextnode = nextnode + ":" + ProvRunner.getProvProperties().getProperty(\r
+ "org.onap.dmaap.datarouter.nodeserver.https.port", "8443");\r
+ } else {\r
+ nextnode = nextnode + ":" + ProvRunner.getProvProperties().getProperty(\r
+ "org.onap.dmaap.datarouter.nodeserver.http.port", "8080");\r
+ }\r
+ String newurl = URLUtilities.getUrlSecurityOption() + nextnode + "/publish" + req.getPathInfo();\r
String qs = req.getQueryString();\r
if (qs != null) {\r
newurl += "?" + qs;\r
\r
private String getRedirectNode(int feedid, HttpServletRequest req) {\r
// Check to see if the IRT needs to be updated\r
- Poker p = Poker.getPoker();\r
- String s = p.getProvisioningString();\r
+ Poker pkr = Poker.getPoker();\r
+ String str = pkr.getProvisioningString();\r
synchronized (lock) {\r
- if (irt == null || (s.length() != provstring.length()) || !s.equals(provstring)) {\r
+ if (irt == null || (str.length() != provstring.length()) || !str.equals(provstring)) {\r
// Provisioning string has changed -- update the IRT\r
- provstring = s;\r
+ provstring = str;\r
JSONObject jo = new JSONObject(new JSONTokener(provstring));\r
JSONArray ja = jo.getJSONArray("ingress");\r
List<IngressRoute> newlist = new ArrayList<>();\r
\r
// No IRT rule matches, do round robin of all active nodes\r
String[] nodes = getNodes();\r
- if (nextNode >= nodes.length) // The list of nodes may have grown/shrunk\r
- {\r
+ if (nextNode >= nodes.length) { // The list of nodes may have grown/shrunk\r
nextNode = 0;\r
}\r
return nodes[nextNode++];\r