Fix sonar issues in UniversalVesAdapter
[dcaegen2/services/mapper.git] / UniversalVesAdapter / src / main / java / org / onap / universalvesadapter / utils / CollectorConfigPropertyRetrieval.java
-/*-\r
- * ============LICENSE_START=======================================================\r
- * ONAP : DCAE\r
- * ================================================================================\r
- * Copyright 2018-2019 TechMahindra\r
- * ================================================================================\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- *      http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ============LICENSE_END=========================================================\r
- */\r
-\r
-package org.onap.universalvesadapter.utils;\r
-\r
-import java.io.File;\r
-import java.io.FileNotFoundException;\r
-import java.io.IOException;\r
-import java.net.URI;\r
-import java.net.URISyntaxException;\r
-import java.nio.file.Files;\r
-import java.util.HashMap;\r
-import java.util.Map;\r
-\r
-import org.json.simple.JSONArray;\r
-import org.json.simple.JSONObject;\r
-import org.json.simple.parser.JSONParser;\r
-import org.json.simple.parser.ParseException;\r
-import org.slf4j.Logger;\r
-import org.slf4j.LoggerFactory;\r
-import org.springframework.beans.factory.annotation.Autowired;\r
-import org.springframework.stereotype.Component;\r
-import org.springframework.util.ResourceUtils;\r
-\r
-import com.fasterxml.jackson.databind.JsonNode;\r
-import com.fasterxml.jackson.databind.ObjectMapper;\r
-\r
-@Component\r
-public class CollectorConfigPropertyRetrival {\r
-    \r
-    \r
-    private static final Logger debugLogger = LoggerFactory.getLogger("debugLogger");\r
-    private static final Logger errorLogger = LoggerFactory.getLogger("errorLogger");\r
-    private static JSONArray array;\r
-    @Autowired\r
-    private DmaapConfig dmaapConfig;\r
-    \r
-    public static JSONArray collectorConfigArray(String configFile) {\r
-        try {\r
-            JSONParser parser = new JSONParser();\r
-            String content = readFile(configFile);\r
-            JSONObject obj = (JSONObject) parser.parse(content);\r
-            JSONObject appobj = (JSONObject) obj.get("app_preferences");\r
-            array = (JSONArray) appobj.get("collectors");\r
-            \r
-            debugLogger.info("Retrieved JsonArray from Collector Config File");\r
-            \r
-        } catch (ParseException e) {\r
-            errorLogger.error("ParseException occured at position:", e.getPosition());\r
-        }\r
-        \r
-        \r
-        return array;\r
-        \r
-    }\r
-    \r
-    public static String[] getProperyArray(String properyName, String defaultConfigFilelocation) {\r
-        JSONArray jsonArray = collectorConfigArray(defaultConfigFilelocation);\r
-        \r
-        String[] propertyArray = new String[jsonArray.size()];\r
-        \r
-        for (int k = 0; k < jsonArray.size(); k++) {\r
-            \r
-            JSONObject collJson = (JSONObject) jsonArray.get(k);\r
-            \r
-            propertyArray[k] = (String) collJson.get(properyName);\r
-        }\r
-        debugLogger.info("returning " + properyName + " array from Collector Config");\r
-        return propertyArray;\r
-        \r
-    }\r
-    \r
-    public Map<String, String> getDmaapTopics(String subscriber, String publisher,\r
-            String defaultConfigFilelocation) {\r
-        JSONArray jsonArray = collectorConfigArray(defaultConfigFilelocation);\r
-        \r
-        Map<String, String> dmaapTopics = new HashMap<>();\r
-        \r
-        for (int k = 0; k < jsonArray.size(); k++) {\r
-            \r
-            JSONObject collJson = (JSONObject) jsonArray.get(k);\r
-            \r
-            dmaapTopics.put(collJson.get(subscriber).toString(),\r
-                    collJson.get(publisher).toString());\r
-            \r
-        }\r
-        debugLogger.info("returning Dmaap topics from Collector Config");\r
-        return dmaapTopics;\r
-        \r
-    }\r
-    \r
-    public Map<String, String> getTopics(String subscriber, String publisher,\r
-            String defaultConfigFilelocation) {\r
-        Map<String, String> dmaapTopics = new HashMap<>();\r
-        \r
-        try {\r
-            \r
-            ObjectMapper objectMapper = new ObjectMapper();\r
-            String content = readFile(defaultConfigFilelocation);\r
-            // read JSON like DOM Parser\r
-            JsonNode rootNode = objectMapper.readTree(content);\r
-            JsonNode subscriberUrl = rootNode.path("streams_subscribes").path(subscriber)\r
-                    .path("dmaap_info").path("topic_url");\r
-            JsonNode publisherUrl = rootNode.path("streams_publishes").path(publisher)\r
-                    .path("dmaap_info").path("topic_url");\r
-            \r
-            dmaapTopics.put(getTopicName(subscriberUrl.asText()),\r
-                    getTopicName(publisherUrl.asText()));\r
-            setDmaapConfig(subscriberUrl.asText());\r
-        } catch (IOException ex) {\r
-            errorLogger.error("IOException occured:" + ex.getMessage());\r
-            \r
-        } catch (URISyntaxException e) {\r
-            \r
-            errorLogger.error("Invalid URI :" + e.getInput() + ": " + e.getReason());\r
-        }\r
-        \r
-        return dmaapTopics;\r
-        \r
-    }\r
-    \r
-    public String getTopicName(String url) throws URISyntaxException {\r
-        URI uri = new URI(url);\r
-        String path = uri.getPath();\r
-        String idStr = path.substring(path.lastIndexOf('/') + 1);\r
-        return idStr;\r
-        \r
-    }\r
-    \r
-    public void setDmaapConfig(String url) throws URISyntaxException {\r
-        URI uri = new URI(url);\r
-        dmaapConfig.setDmaaphost(uri.getHost());\r
-        dmaapConfig.setDEFAULT_PORT_NUMBER(uri.getPort());\r
-        \r
-    }\r
-    \r
-    public static String readFile(String configFileName) {\r
-        String content = null;\r
-        File file = null;\r
-        \r
-        try {\r
-            file = ResourceUtils.getFile("classpath:" + configFileName);\r
-            content = new String(Files.readAllBytes(file.toPath()));\r
-        } catch (FileNotFoundException e) {\r
-            errorLogger.error("colud not find file :", configFileName);\r
-            \r
-        } catch (IOException e) {\r
-            errorLogger.error("unable to read the file , reason:", e.getCause());\r
-        }\r
-        \r
-        return content;\r
-        \r
-    }\r
-}\r
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : DCAE
+ * ================================================================================
+ * Copyright 2018-2019 TechMahindra
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.universalvesadapter.utils;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.nio.file.Files;
+import java.util.HashMap;
+import java.util.Map;
+import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
+import org.json.simple.parser.ParseException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.util.ResourceUtils;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+@Component
+public class CollectorConfigPropertyRetrieval {
+
+    private static final Logger debugLogger = LoggerFactory.getLogger("debugLogger");
+    private static final Logger errorLogger = LoggerFactory.getLogger("errorLogger");
+    private static JSONArray array;
+    @Autowired
+    private DmaapConfig dmaapConfig;
+
+    public static JSONArray collectorConfigArray(String configFile) {
+        try {
+            JSONParser parser = new JSONParser();
+            String content = readFile(configFile);
+            JSONObject obj = (JSONObject) parser.parse(content);
+            JSONObject appobj = (JSONObject) obj.get("app_preferences");
+            array = (JSONArray) appobj.get("collectors");
+
+            debugLogger.info("Retrieved JsonArray from Collector Config File");
+
+        } catch (ParseException e) {
+            errorLogger.error("ParseException occured at position:", e);
+        }
+
+        return array;
+
+    }
+
+    public static String[] getProperyArray(String propertyName, String defaultConfigFilelocation) {
+        JSONArray jsonArray = collectorConfigArray(defaultConfigFilelocation);
+
+        String[] propertyArray = new String[jsonArray.size()];
+
+        for (int k = 0; k < jsonArray.size(); k++) {
+
+            JSONObject collJson = (JSONObject) jsonArray.get(k);
+
+            propertyArray[k] = (String) collJson.get(propertyName);
+        }
+        debugLogger.info("returning {} array from Collector Config", propertyName);
+        return propertyArray;
+
+    }
+
+    public Map<String, String> getDmaapTopics(String subscriber, String publisher,
+            String defaultConfigFilelocation) {
+        JSONArray jsonArray = collectorConfigArray(defaultConfigFilelocation);
+
+        Map<String, String> dmaapTopics = new HashMap<>();
+
+        for (int k = 0; k < jsonArray.size(); k++) {
+
+            JSONObject collJson = (JSONObject) jsonArray.get(k);
+
+            dmaapTopics.put(collJson.get(subscriber).toString(),
+                    collJson.get(publisher).toString());
+
+        }
+        debugLogger.info("returning Dmaap topics from Collector Config");
+        return dmaapTopics;
+
+    }
+
+    public Map<String, String> getTopics(String subscriber, String publisher,
+            String defaultConfigFilelocation) {
+        Map<String, String> dmaapTopics = new HashMap<>();
+
+        try {
+
+            ObjectMapper objectMapper = new ObjectMapper();
+            String content = readFile(defaultConfigFilelocation);
+            // read JSON like DOM Parser
+            JsonNode rootNode = objectMapper.readTree(content);
+            JsonNode subscriberUrl = rootNode.path("streams_subscribes").path(subscriber)
+                    .path("dmaap_info").path("topic_url");
+            JsonNode publisherUrl = rootNode.path("streams_publishes").path(publisher)
+                    .path("dmaap_info").path("topic_url");
+
+            dmaapTopics.put(getTopicName(subscriberUrl.asText()),
+                    getTopicName(publisherUrl.asText()));
+            setDmaapConfig(subscriberUrl.asText());
+        } catch (IOException ex) {
+            errorLogger.error("IOException occured:", ex);
+        } catch (URISyntaxException e) {
+            errorLogger.error("Invalid URI :", e);
+        }
+
+        return dmaapTopics;
+    }
+
+    public String getTopicName(String url) throws URISyntaxException {
+        URI uri = new URI(url);
+        String path = uri.getPath();
+        String idStr = path.substring(path.lastIndexOf('/') + 1);
+        return idStr;
+    }
+
+    public void setDmaapConfig(String url) throws URISyntaxException {
+        URI uri = new URI(url);
+        dmaapConfig.setDmaaphost(uri.getHost());
+        dmaapConfig.setDEFAULT_PORT_NUMBER(uri.getPort());
+    }
+
+    public static String readFile(String configFileName) {
+        String content = null;
+        File file = null;
+
+        try {
+            file = ResourceUtils.getFile("classpath:" + configFileName);
+            content = new String(Files.readAllBytes(file.toPath()));
+        } catch (FileNotFoundException e) {
+            errorLogger.error("colud not find file :{}", configFileName);
+
+        } catch (IOException e) {
+            errorLogger.error("unable to read the file , reason:", e);
+        }
+
+        return content;
+    }
+}