\r
package org.onap.dmaap.datarouter.provisioning;\r
\r
+import com.att.eelf.configuration.EELFLogger;\r
+import com.att.eelf.configuration.EELFManager;\r
import java.io.IOException;\r
import java.net.HttpURLConnection;\r
import java.net.InetAddress;\r
import java.util.Timer;\r
import java.util.TimerTask;\r
import java.util.TreeSet;\r
-import org.apache.log4j.Logger;\r
import org.json.JSONException;\r
import org.json.JSONObject;\r
import org.json.JSONTokener;\r
+\r
import org.onap.dmaap.datarouter.provisioning.beans.EgressRoute;\r
import org.onap.dmaap.datarouter.provisioning.beans.Feed;\r
import org.onap.dmaap.datarouter.provisioning.beans.Group;\r
* @author Robert Eby\r
* @version $Id: Poker.java,v 1.11 2014/01/08 16:13:47 eby Exp $\r
*/\r
+\r
public class Poker extends TimerTask {\r
\r
/**\r
- * Template used to generate the URL to issue the GET against\r
+ * Template used to generate the URL to issue the GET against.\r
*/\r
private static final String POKE_URL_TEMPLATE = "http://%s/internal/fetchProv";\r
\r
private static final Object lock = new Object();\r
+ private static final String CARRIAGE_RETURN = "\n],\n";\r
\r
/**\r
- * This is a singleton -- there is only one Poker object in the server\r
+ * This is a singleton -- there is only one Poker object in the server.\r
*/\r
private static Poker poker;\r
private long timer1;\r
private long timer2;\r
private String thisPod; // DNS name of this machine\r
- private Logger logger;\r
+ private EELFLogger logger;\r
private String provString;\r
\r
+\r
private Poker() {\r
timer1 = timer2 = 0;\r
- Timer rolex = new Timer();\r
- logger = Logger.getLogger("org.onap.dmaap.datarouter.provisioning.internal");\r
+ logger = EELFManager.getInstance().getLogger("InternalLog");\r
try {\r
thisPod = InetAddress.getLocalHost().getHostName();\r
} catch (UnknownHostException e) {\r
- thisPod = "*UNKNOWN*"; // not a major problem\r
- logger.info("UnknownHostException: Setting thisPod to \"*UNKNOWN*\"");\r
+ thisPod = "*UNKNOWN_POD*"; // not a major problem\r
+ logger.info("UnknownHostException: Setting thisPod to \"*UNKNOWN_POD*\"", e);\r
}\r
provString = buildProvisioningString();\r
-\r
+ Timer rolex = new Timer();\r
rolex.scheduleAtFixedRate(this, 0L, 1000L); // Run once a second to check the timers\r
}\r
\r
private void pokeNode(final String nodename) {\r
logger.debug("PROV0012 Poking node " + nodename + " ...");\r
String nodeUrl = String.format(POKE_URL_TEMPLATE, nodename + ":" + DB.getHttpPort());\r
- Runnable r = () -> {\r
+ Runnable runn = () -> {\r
try {\r
URL url = new URL(nodeUrl);\r
HttpURLConnection conn = (HttpURLConnection) url.openConnection();\r
} catch (MalformedURLException e) {\r
logger.warn(\r
"PROV0013 MalformedURLException Error poking node at " + nodeUrl + " : " + e\r
- .getMessage());\r
+ .getMessage(), e);\r
} catch (IOException e) {\r
logger.warn("PROV0013 IOException Error poking node at " + nodeUrl + " : " + e\r
- .getMessage());\r
+ .getMessage(), e);\r
}\r
};\r
- r.run();\r
+ runn.run();\r
}\r
\r
private String buildProvisioningString() {\r
sb.append(f.asJSONObject().toString());\r
pfx = ",\n";\r
}\r
- sb.append("\n],\n");\r
+ sb.append(CARRIAGE_RETURN);\r
\r
//Append groups to the string - Rally:US708115 - 1610\r
pfx = "\n";\r
sb.append(s.asJSONObject().toString());\r
pfx = ",\n";\r
}\r
- sb.append("\n],\n");\r
+ sb.append(CARRIAGE_RETURN);\r
\r
// Append Subscriptions to the string\r
pfx = "\n";\r
}\r
pfx = ",\n";\r
}\r
- sb.append("\n],\n");\r
+ sb.append(CARRIAGE_RETURN);\r
\r
// Append Parameters to the string\r
pfx = "\n";\r
sb.append("\"parameters\": {");\r
Map<String, String> props = Parameters.getParameters();\r
- Set<String> ivals = new HashSet<String>();\r
+ Set<String> ivals = new HashSet<>();\r
String intv = props.get("_INT_VALUES");\r
if (intv != null) {\r
ivals.addAll(Arrays.asList(intv.split("\\|")));\r
}\r
for (String key : new TreeSet<String>(props.keySet())) {\r
- String v = props.get(key);\r
+ String val = props.get(key);\r
sb.append(pfx);\r
sb.append(" \"").append(key).append("\": ");\r
if (ivals.contains(key)) {\r
// integer value\r
- sb.append(v);\r
+ sb.append(val);\r
} else if (key.endsWith("S")) {\r
// Split and append array of strings\r
- String[] pp = v.split("\\|");\r
+ String[] pp = val.split("\\|");\r
String p2 = "";\r
sb.append("[");\r
for (String t : pp) {\r
}\r
sb.append("]");\r
} else {\r
- sb.append("\"").append(quote(v)).append("\"");\r
+ sb.append("\"").append(quote(val)).append("\"");\r
}\r
pfx = ",\n";\r
}\r
sb.append(in.asJSONObject().toString());\r
pfx = ",\n";\r
}\r
- sb.append("\n],\n");\r
+ sb.append(CARRIAGE_RETURN);\r
\r
pfx = "\n";\r
sb.append("\"egress\": {");\r
for (EgressRoute eg : EgressRoute.getAllEgressRoutes()) {\r
sb.append(pfx);\r
- String t = eg.asJSONObject().toString();\r
- t = t.substring(1, t.length() - 1);\r
- sb.append(t);\r
+ String str = eg.asJSONObject().toString();\r
+ str = str.substring(1, str.length() - 1);\r
+ sb.append(str);\r
pfx = ",\n";\r
}\r
sb.append("\n},\n");\r
return tempProvString;\r
}\r
\r
- private String quote(String s) {\r
+ private String quote(String str) {\r
StringBuilder sb = new StringBuilder();\r
- for (char ch : s.toCharArray()) {\r
+ for (char ch : str.toCharArray()) {\r
if (ch == '\\' || ch == '"') {\r
sb.append('\\');\r
}\r