Fix for Sonar Blocker issues 69/13469/4
authorrama-huawei <rama.subba.reddy.s@huawei.com>
Tue, 19 Sep 2017 12:56:52 +0000 (18:26 +0530)
committerRama SubbaReddy <rama.subba.reddy.s@huawei.com>
Tue, 19 Sep 2017 15:26:29 +0000 (15:26 +0000)
NullPointerException might be thrown

Replace the type specification on RHS side

Iterate over the "entrySet" instead of the "keySet".

The return type of this method should be an interface such as "Map" rather than the implementation "HashMap".

DCAEGEN2-114

Change-Id: I84ef3e21cd426963f4f0ed726f5d8fa9979eb441
Signed-off-by: rama-huawei <rama.subba.reddy.s@huawei.com>
src/main/java/com/att/nsa/dmaap/filemonitor/ServicePropertiesMap.java

index 731428d..0f7744c 100644 (file)
@@ -52,12 +52,15 @@ public class ServicePropertiesMap
         */
        public static void refresh(File file) throws Exception
        {
+               String filePath= null;
                try
                {
                        logger.info("Loading properties - " + (file != null?file.getName():""));
                        
                        //Store .json & .properties files into map of maps
-                       String filePath = file.getPath();
+                       if (file != null) {
+                               filePath = file.getPath();
+                       }
                        
                        if(filePath.lastIndexOf(".json")>0){
                                
@@ -65,9 +68,10 @@ public class ServicePropertiesMap
                                TypeReference<HashMap<String, String>> typeRef = 
                                                new TypeReference<HashMap<String, String>>() {};
                                HashMap<String, String> propMap = om.readValue(file, typeRef);
-                               HashMap<String, String> lcasePropMap = new HashMap<String, String>();
-                               for (String key : propMap.keySet() )
+                               HashMap<String, String> lcasePropMap = new HashMap<>();
+                               for (Map.Entry<String,String> entry : propMap.entrySet())
                                {
+                                       String key = entry.getKey();
                                        String lcaseKey = ifNullThenEmpty(key);
                                        lcasePropMap.put(lcaseKey, propMap.get(key));
                                }
@@ -81,7 +85,7 @@ public class ServicePropertiesMap
                                prop.load(fis);
                                
                                @SuppressWarnings("unchecked")
-                               HashMap<String, String> propMap = new HashMap<String, String>((Map)prop);
+                               HashMap<String, String> propMap = new HashMap<>((Map)prop);
                                
                                mapOfMaps.put(file.getName(), propMap);
                        }
@@ -111,7 +115,7 @@ public class ServicePropertiesMap
         * @param fileName fileName
         * @return mapProp
         */
-       public static HashMap<String, String> getProperties(String fileName){
+       public static Map<String, String> getProperties(String fileName){
                return mapOfMaps.get(fileName);
        }