diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/org/onap/dcae/controller/FetchDynamicConfig.java | 168 | ||||
-rw-r--r-- | src/main/java/org/onap/dcae/controller/LoadDynamicConfig.java | 227 |
2 files changed, 196 insertions, 199 deletions
diff --git a/src/main/java/org/onap/dcae/controller/FetchDynamicConfig.java b/src/main/java/org/onap/dcae/controller/FetchDynamicConfig.java index caee9c4d..5ef44f5c 100644 --- a/src/main/java/org/onap/dcae/controller/FetchDynamicConfig.java +++ b/src/main/java/org/onap/dcae/controller/FetchDynamicConfig.java @@ -20,95 +20,99 @@ package org.onap.dcae.controller; +import org.json.JSONArray; +import org.json.JSONObject; +import org.json.JSONTokener; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.BufferedReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.util.Map; -import org.json.JSONArray; -import org.json.JSONObject; -import org.json.JSONTokener; - public class FetchDynamicConfig { - static String configFile = "/opt/app/KV-Configuration.json"; - static String url = null; - static String ret_string = null; - - public FetchDynamicConfig() { - - } - - public static void main(String[] args) { - Map<String, String> env = System.getenv(); - for (String envName : env.keySet()) { - System.out.format("%s=%s%n", envName, env.get(envName)); - } - - if (env.containsKey("CONSUL_HOST") && env.containsKey("CONFIG_BINDING_SERVICE") - && env.containsKey("HOSTNAME")) { - System.out.println(">>>Dynamic configuration to be fetched from ConfigBindingService"); - url = env.get("CONSUL_HOST") + ":8500/v1/catalog/service/" + env.get("CONFIG_BINDING_SERVICE"); - - ret_string = executecurl(url); - // consul return as array - JSONTokener temp = new JSONTokener(ret_string); - JSONObject cbsjobj = (JSONObject) new JSONArray(temp).get(0); - - String url_part1 = null; - if (cbsjobj.has("ServiceAddress") && cbsjobj.has("ServicePort")) { - url_part1 = cbsjobj.getString("ServiceAddress") + ":" + cbsjobj.getInt("ServicePort"); - } - - System.out.println("CONFIG_BINDING_SERVICE DNS RESOLVED:" + url_part1); - url = url_part1 + "/service_component/" + env.get("HOSTNAME"); - ret_string = executecurl(url); - - JSONObject jsonObject = new JSONObject(new JSONTokener(ret_string)); - try (FileWriter file = new FileWriter(configFile)) { - file.write(jsonObject.toString()); - - System.out.println("Successfully Copied JSON Object to file /opt/app/KV-Configuration.json"); - } catch (IOException e) { - System.out.println( - "Error in writing configuration into file /opt/app/KV-Configuration.json " + jsonObject); - e.printStackTrace(); - } - } - - else { - System.out.println(">>>Static configuration to be used"); - } - - } - - public static String executecurl(String url) { - - String[] command = { "curl", "-v", url }; - ProcessBuilder process = new ProcessBuilder(command); - Process p; - String result = null; - try { - p = process.start(); - - InputStreamReader ipr = new InputStreamReader(p.getInputStream()); - BufferedReader reader = new BufferedReader(ipr); - StringBuilder builder = new StringBuilder(); - String line = null; - - while ((line = reader.readLine()) != null) { - builder.append(line); - } - result = builder.toString(); - System.out.println(result); - - } catch (IOException e) { - System.out.print("error"); - e.printStackTrace(); - } - return result; - - } + private static final Logger log = LoggerFactory.getLogger(FetchDynamicConfig.class); + + static String configFile = "/opt/app/KV-Configuration.json"; + static String url; + static String retString; + + public FetchDynamicConfig() { + } + + public static void main(String[] args) { + Map<String, String> env = System.getenv(); + for (Map.Entry<String, String> entry : env.entrySet()) { + log.info("%s=%s%n", entry.getKey(), entry.getValue()); + } + + if (env.containsKey("CONSUL_HOST") && env.containsKey("CONFIG_BINDING_SERVICE") + && env.containsKey("HOSTNAME")) { + log.info(">>>Dynamic configuration to be fetched from ConfigBindingService"); + url = env.get("CONSUL_HOST") + ":8500/v1/catalog/service/" + env + .get("CONFIG_BINDING_SERVICE"); + + retString = executecurl(url); + // consul return as array + JSONTokener temp = new JSONTokener(retString); + JSONObject cbsjobj = (JSONObject) new JSONArray(temp).get(0); + + String urlPart1 = null; + if (cbsjobj.has("ServiceAddress") && cbsjobj.has("ServicePort")) { + urlPart1 = + cbsjobj.getString("ServiceAddress") + ":" + cbsjobj.getInt("ServicePort"); + } + + log.info("CONFIG_BINDING_SERVICE DNS RESOLVED:" + urlPart1); + url = urlPart1 + "/service_component/" + env.get("HOSTNAME"); + retString = executecurl(url); + + JSONObject jsonObject = new JSONObject(new JSONTokener(retString)); + try (FileWriter file = new FileWriter(configFile)) { + file.write(jsonObject.toString()); + + log.info( + "Successfully Copied JSON Object to file /opt/app/KV-Configuration.json"); + } catch (IOException e) { + log.error( + "Error in writing configuration into file /opt/app/KV-Configuration.json " + + jsonObject, e); + } + } else { + log.info(">>>Static configuration to be used"); + } + + } + + public static String executecurl(String url) { + + String[] command = {"curl", "-v", url}; + ProcessBuilder process = new ProcessBuilder(command); + Process p; + String result = null; + try { + p = process.start(); + InputStreamReader ipr = new InputStreamReader(p.getInputStream()); + BufferedReader reader = new BufferedReader(ipr); + StringBuilder builder = new StringBuilder(); + String line; + + while ((line = reader.readLine()) != null) { + builder.append(line); + } + result = builder.toString(); + log.info(result); + + reader.close(); + ipr.close(); + } catch (IOException e) { + log.error("error", e); + } + return result; + + } } diff --git a/src/main/java/org/onap/dcae/controller/LoadDynamicConfig.java b/src/main/java/org/onap/dcae/controller/LoadDynamicConfig.java index 63d5f6f3..c519d076 100644 --- a/src/main/java/org/onap/dcae/controller/LoadDynamicConfig.java +++ b/src/main/java/org/onap/dcae/controller/LoadDynamicConfig.java @@ -20,6 +20,12 @@ package org.onap.dcae.controller; +import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration.PropertiesConfiguration; +import org.json.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.BufferedReader; import java.io.FileReader; import java.io.FileWriter; @@ -28,131 +34,118 @@ import java.io.InputStreamReader; import java.util.Iterator; import java.util.Map; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.commons.configuration.PropertiesConfiguration; - -import org.json.JSONObject; - - public class LoadDynamicConfig { - static String propFile = "collector.properties"; - static String configFile = "/opt/app/KV-Configuration.json"; - static String url = null; - static String ret_string = null; + private static final Logger log = LoggerFactory.getLogger(LoadDynamicConfig.class); + + static String propFile = "collector.properties"; + static String configFile = "/opt/app/KV-Configuration.json"; + static String url; + static String retString; - public LoadDynamicConfig() { + public LoadDynamicConfig() { - } + } - public static void main(String[] args) { - Map<String, String> env = System.getenv(); - /*for (String envName : env.keySet()) { - System.out.format("%s=%s%n", envName, env.get(envName)); + public static void main(String[] args) { + Map<String, String> env = System.getenv(); + /*for (String envName : env.keySet()) { + System.out.format("%s=%s%n", envName, env.get(envName)); }*/ - //Check again to ensure new controller deployment related config - if (env.containsKey("CONSUL_HOST") && - env.containsKey("CONFIG_BINDING_SERVICE") && env.containsKey("HOSTNAME")) - { - - - try { - - String jsonData = readFile(configFile); - JSONObject jsonObject = new JSONObject(jsonData); - - PropertiesConfiguration conf; - conf = new PropertiesConfiguration(propFile); - conf.setEncoding(null); - - - if (jsonObject != null) { - // update properties based on consul dynamic configuration - Iterator<?> keys = jsonObject.keys(); - - while (keys.hasNext()) { - String key = (String) keys.next(); - // check if any configuration is related to dmaap - // and write into dmaapconfig.json - if (key.startsWith("streams_publishes")) { - //VESCollector only have publish streams - try (FileWriter file = new FileWriter("./etc/DmaapConfig.json")) { - file.write(jsonObject.get(key).toString()); - System.out.println("Successfully written JSON Object to DmaapConfig.json"); - } catch (IOException e) { - System.out.println("Error in writing dmaap configuration into DmaapConfig.json"); - e.printStackTrace(); - } - } else { - conf.setProperty(key, jsonObject.get(key).toString()); - } - - } - conf.save(); - - - } - } catch (ConfigurationException e) { - e.getMessage(); - e.printStackTrace(); - - } - - } - else - { - System.out.println(">>>Static configuration to be used"); - } - - } - - public static String executecurl(String url) { - - String[] command = { "curl", "-v", url }; - ProcessBuilder process = new ProcessBuilder(command); - Process p; - String result = null; - try { - p = process.start(); - - InputStreamReader ipr= new InputStreamReader(p.getInputStream()); - BufferedReader reader = new BufferedReader(ipr); - StringBuilder builder = new StringBuilder(); - String line = null; - - while ((line = reader.readLine()) != null) { - builder.append(line); - } - result = builder.toString(); - System.out.println(result); - - } catch (IOException e) { - System.out.print("error"); - e.printStackTrace(); - } - return result; - - } - - public static String readFile(String filename) { - String result = ""; - try { - BufferedReader br = new BufferedReader(new FileReader(filename)); - StringBuilder sb = new StringBuilder(); - String line = br.readLine(); - while (line != null) { - sb.append(line); - line = br.readLine(); - } - result = sb.toString(); - br.close(); - } catch(Exception e) { - e.printStackTrace(); - } - return result; - } + //Check again to ensure new controller deployment related config + if (env.containsKey("CONSUL_HOST") && + env.containsKey("CONFIG_BINDING_SERVICE") && env.containsKey("HOSTNAME")) { + + try { + + String jsonData = readFile(configFile); + JSONObject jsonObject = new JSONObject(jsonData); + + PropertiesConfiguration conf; + conf = new PropertiesConfiguration(propFile); + conf.setEncoding(null); + + // update properties based on consul dynamic configuration + Iterator<?> keys = jsonObject.keys(); + + while (keys.hasNext()) { + String key = (String) keys.next(); + // check if any configuration is related to dmaap + // and write into dmaapconfig.json + if (key.startsWith("streams_publishes")) { + //VESCollector only have publish streams + try (FileWriter file = new FileWriter("./etc/DmaapConfig.json")) { + file.write(jsonObject.get(key).toString()); + log.info("Successfully written JSON Object to DmaapConfig.json"); + file.close(); + } catch (IOException e) { + log.info( + "Error in writing dmaap configuration into DmaapConfig.json", + e); + } + } else { + conf.setProperty(key, jsonObject.get(key).toString()); + } + + } + conf.save(); + + } catch (ConfigurationException e) { + log.error(e.getLocalizedMessage(), e); + + } + + } else { + log.info(">>>Static configuration to be used"); + } + + } + + public static String executecurl(String url) { + + String[] command = {"curl", "-v", url}; + ProcessBuilder process = new ProcessBuilder(command); + Process p; + String result = null; + try { + p = process.start(); + + InputStreamReader ipr = new InputStreamReader(p.getInputStream()); + BufferedReader reader = new BufferedReader(ipr); + StringBuilder builder = new StringBuilder(); + String line = null; + + while ((line = reader.readLine()) != null) { + builder.append(line); + } + result = builder.toString(); + log.info(result); + + } catch (IOException e) { + log.error("error" + e.getLocalizedMessage(), e); + } + return result; + + } + + public static String readFile(String filename) { + String result = ""; + try (BufferedReader br = new BufferedReader(new FileReader(filename))) { + StringBuilder sb = new StringBuilder(); + String line = br.readLine(); + while (line != null) { + sb.append(line); + line = br.readLine(); + } + result = sb.toString(); + br.close(); + } catch (Exception e) { + log.error(e.getLocalizedMessage(), e); + } + return result; + } } |