FIX ALL POSSIBLE SONAR ISSUES IN HOLMES 91/56691/2
authorKrishnajinka <kris.jinka@samsung.com>
Wed, 18 Jul 2018 08:11:32 +0000 (17:11 +0900)
committerKrishnajinka <kris.jinka@samsung.com>
Wed, 18 Jul 2018 09:33:06 +0000 (18:33 +0900)
fix sonar flagged issue related to try catch
block and other simple issues

Issue-ID: HOLMES-144
Change-Id: I81c1ec08384b61f7ef21fa2695076943b4956f74
Signed-off-by: Krishnajinka <kris.jinka@samsung.com>
engine-d/src/main/java/org/onap/holmes/engine/EngineDActiveApp.java
engine-d/src/main/java/org/onap/holmes/engine/EngineDAppConfig.java
engine-d/src/main/java/org/onap/holmes/engine/dmaap/SubscriberAction.java
engine-d/src/main/java/org/onap/holmes/engine/manager/DroolsEngine.java
engine-d/src/main/java/org/onap/holmes/engine/request/CompileRuleRequest.java
engine-d/src/main/java/org/onap/holmes/engine/resources/EngineResources.java
engine-d/src/main/java/org/onap/holmes/engine/resources/SwaggerResource.java

index a0f46ce..26b92a0 100644 (file)
@@ -41,6 +41,7 @@ public class EngineDActiveApp extends IOCApplication<EngineDAppConfig> {
         new EngineDActiveApp().run(args);
     }
 
+    @Override
     public void run(EngineDAppConfig configuration, Environment environment) throws Exception {
         super.run(configuration, environment);
 
index c748f85..71a58f9 100644 (file)
@@ -26,8 +26,6 @@ import org.onap.holmes.common.config.MQConfig;
 @Service
 public class EngineDAppConfig extends Configuration {
 
-    private String defaultName = "Correlation-Rule";
-
     private String apidescription = "Holmes rule management rest API";
 
     @JsonProperty
index b02cbe4..c96b813 100644 (file)
@@ -18,7 +18,6 @@ package org.onap.holmes.engine.dmaap;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
 import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 import lombok.extern.slf4j.Slf4j;
index dcc40fd..bb3795d 100644 (file)
@@ -63,8 +63,12 @@ import org.onap.holmes.engine.wrapper.RuleMgtWrapper;
 @Service\r
 public class DroolsEngine {\r
 \r
-    private final static int ENABLE = 1;\r
+    private static final int ENABLE = 1;\r
+    public static final String UTF_8 = "UTF-8";\r
+    public static final String K_BASE = "KBase";\r
+    private static final String RULES_FILE_NAME = "src/main/resources/rules/rule.drl";\r
     private final Set<String> packageNames = new HashSet<String>();\r
+\r
     @Inject\r
     private RuleMgtWrapper ruleMgtWrapper;\r
 \r
@@ -139,8 +143,8 @@ public class DroolsEngine {
     private void deployRuleFromDB(String ruleContent) throws CorrelationException {\r
         avoidDeployBug();\r
         StringReader reader = new StringReader(ruleContent);\r
-        kfs.write("src/main/resources/rules/rule.drl",\r
-                this.resources.newReaderResource(reader,"UTF-8").setResourceType(ResourceType.DRL));\r
+        kfs.write(RULES_FILE_NAME,\r
+                this.resources.newReaderResource(reader, UTF_8).setResourceType(ResourceType.DRL));\r
         kieBuilder = ks.newKieBuilder(kfs).buildAll();\r
         try {\r
             InternalKieModule internalKieModule = (InternalKieModule)kieBuilder.getKieModule();\r
@@ -155,14 +159,14 @@ public class DroolsEngine {
         throws CorrelationException {\r
         avoidDeployBug();\r
         StringReader reader = new StringReader(rule.getContent());\r
-        kfs.write("src/main/resources/rules/rule.drl",\r
-                this.resources.newReaderResource(reader,"UTF-8").setResourceType(ResourceType.DRL));\r
+        kfs.write(RULES_FILE_NAME,\r
+                this.resources.newReaderResource(reader, UTF_8).setResourceType(ResourceType.DRL));\r
         kieBuilder = ks.newKieBuilder(kfs).buildAll();\r
 \r
         judgeRuleContent(locale, kieBuilder, true);\r
 \r
         InternalKieModule internalKieModule = (InternalKieModule)kieBuilder.getKieModule();;\r
-        String packageName = internalKieModule.getKnowledgePackagesForKieBase("KBase").iterator().next().getName();\r
+        String packageName = internalKieModule.getKnowledgePackagesForKieBase(K_BASE).iterator().next().getName();\r
         try {\r
             kieContainer.updateToVersion(internalKieModule.getReleaseId());\r
         } catch (Exception e) {\r
@@ -191,8 +195,8 @@ public class DroolsEngine {
         throws CorrelationException {\r
         StringReader reader = new StringReader(content);\r
 \r
-        kfs.write("src/main/resources/rules/rule.drl",\r
-                this.resources.newReaderResource(reader,"UTF-8").setResourceType(ResourceType.DRL));\r
+        kfs.write(RULES_FILE_NAME,\r
+                this.resources.newReaderResource(reader, UTF_8).setResourceType(ResourceType.DRL));\r
 \r
         kieBuilder = ks.newKieBuilder(kfs).buildAll();\r
 \r
@@ -216,7 +220,7 @@ public class DroolsEngine {
         if (internalKieModule == null) {\r
             throw new CorrelationException("There are errors in the rule!");\r
         }\r
-        String packageName = internalKieModule.getKnowledgePackagesForKieBase("KBase").iterator().next().getName();\r
+        String packageName = internalKieModule.getKnowledgePackagesForKieBase(K_BASE).iterator().next().getName();\r
 \r
         if (queryAllPackage().contains(packageName) && judgePackageName) {\r
             throw new CorrelationException("The rule " + packageName + " already exists in the drools engine.");\r
@@ -254,7 +258,7 @@ public class DroolsEngine {
 \r
     private KieFileSystem createKieFileSystemWithKProject(KieServices ks) {\r
         KieModuleModel kieModuleModel = ks.newKieModuleModel();\r
-        KieBaseModel kieBaseModel = kieModuleModel.newKieBaseModel("KBase")\r
+        KieBaseModel kieBaseModel = kieModuleModel.newKieBaseModel(K_BASE)\r
                 .addPackage("rules")\r
                 .setDefault(true)\r
                 .setEqualsBehavior(EqualityBehaviorOption.EQUALITY)\r
@@ -271,10 +275,10 @@ public class DroolsEngine {
     private void avoidDeployBug() {\r
         String tmp = Math.random() + "";\r
         String rule = "package justInOrderToAvoidDeployBug" + tmp.substring(2);\r
-        kfs.write("src/main/resources/rules/rule.drl", rule);\r
+        kfs.write(RULES_FILE_NAME, rule);\r
         kieBuilder = ks.newKieBuilder(kfs).buildAll();\r
         InternalKieModule internalKieModule = (InternalKieModule)kieBuilder.getKieModule();\r
-        String packageName = internalKieModule.getKnowledgePackagesForKieBase("KBase").iterator().next().getName();\r
+        String packageName = internalKieModule.getKnowledgePackagesForKieBase(K_BASE).iterator().next().getName();\r
         kieRepository.addKieModule(internalKieModule);\r
         kieContainer.updateToVersion(internalKieModule.getReleaseId());\r
 \r
index 8af9778..b38ee5f 100644 (file)
@@ -15,7 +15,6 @@
  */
 package org.onap.holmes.engine.request;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
 import javax.validation.constraints.NotNull;
 import lombok.Getter;
 import lombok.Setter;
index 64d727e..4088d72 100644 (file)
@@ -20,9 +20,6 @@ import com.codahale.metrics.annotation.Timed;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.StringReader;
 import java.util.Locale;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
index a20b578..6743b8e 100644 (file)
 
 package org.onap.holmes.engine.resources;
 
-import io.swagger.annotations.Api;
-import io.swagger.annotations.SwaggerDefinition;
 import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileNotFoundException;
 import java.io.FileReader;
 import java.io.IOException;
-import java.io.UnsupportedEncodingException;
 import java.net.URL;
 import java.net.URLDecoder;
 import javax.ws.rs.GET;
@@ -44,30 +40,29 @@ public class SwaggerResource {
     public String getSwaggerJson() {
         URL url = SwaggerResource.class.getResource("/swagger.json");
         String ret = "{}";
-        BufferedReader br = null;
+        File file = null;
+
         try {
             System.out.println(URLDecoder.decode(url.getPath(), "UTF-8"));
-            File file = new File(URLDecoder.decode(url.getPath(), "UTF-8"));
+            file = new File(URLDecoder.decode(url.getPath(), "UTF-8"));
+        } catch (IOException e) {
+            log.warn("An error occurred while decoding url");
+        }
 
-            br = new BufferedReader(new FileReader(file));
+        if (file == null) {
+            log.warn("Unable to get Swagger Json since API description file could not be read");
+            return ret;
+        }
+
+        try(BufferedReader br = new BufferedReader(new FileReader(file))) {
             StringBuffer buffer = new StringBuffer();
             String line = " ";
             while ((line = br.readLine()) != null) {
                 buffer.append(line);
             }
             ret = buffer.toString();
-        } catch (FileNotFoundException e) {
-            log.warn("Failed to read the API description file.");
         } catch (IOException e) {
             log.warn("An error occurred while reading swagger.json.");
-        } finally {
-            if (br != null) {
-                try {
-                    br.close();
-                } catch (IOException e) {
-                    log.warn("Failed to close the file reader. This may cause memory leak.");
-                }
-            }
         }
         return ret;
     }