Controller Blueprints Microservice
[ccsdk/apps.git] / ms / controllerblueprints / modules / service / src / main / java / org / onap / ccsdk / apps / controllerblueprints / service / AutoResourceMappingService.java
index 2c44378..5eba4fc 100644 (file)
@@ -17,6 +17,7 @@
 \r
 package org.onap.ccsdk.apps.controllerblueprints.service;\r
 \r
+import com.google.common.base.Preconditions;\r
 import org.apache.commons.collections.CollectionUtils;\r
 import org.apache.commons.lang3.StringUtils;\r
 import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintException;\r
@@ -45,6 +46,7 @@ import java.util.Map;
  */\r
 \r
 @Service\r
+@SuppressWarnings("unused")\r
 public class AutoResourceMappingService {\r
 \r
     private static Logger log = LoggerFactory.getLogger(AutoResourceMappingService.class);\r
@@ -53,9 +55,8 @@ public class AutoResourceMappingService {
 \r
     /**\r
      * This is a AutoResourceMappingService constructor\r
-     * \r
-     * @param dataDictionaryRepository\r
-     * \r
+     *\r
+     * @param dataDictionaryRepository dataDictionaryRepository\r
      */\r
     public AutoResourceMappingService(ResourceDictionaryRepository dataDictionaryRepository) {\r
         this.dataDictionaryRepository = dataDictionaryRepository;\r
@@ -63,8 +64,8 @@ public class AutoResourceMappingService {
 \r
     /**\r
      * This is a autoMap service to map the template keys automatically to Dictionary fields.\r
-     * \r
-     * @param resourceAssignments\r
+     *\r
+     * @param resourceAssignments resourceAssignments\r
      * @return AutoMapResponse\r
      */\r
     public AutoMapResponse autoMap(List<ResourceAssignment> resourceAssignments) throws BluePrintException {\r
@@ -83,8 +84,6 @@ public class AutoResourceMappingService {
 \r
                         log.info("Mapped Resource : {}", resourceAssignment);\r
 \r
-                    } else {\r
-                        // Do nothins\r
                     }\r
                 }\r
             }\r
@@ -125,7 +124,7 @@ public class AutoResourceMappingService {
         if (CollectionUtils.isNotEmpty(names)) {\r
 \r
             List<ResourceDictionary> dictionaries = dataDictionaryRepository.findByNameIn(names);\r
-            if (CollectionUtils.isNotEmpty( dictionaries)) {\r
+            if (CollectionUtils.isNotEmpty(dictionaries)) {\r
                 for (ResourceDictionary dataDictionary : dictionaries) {\r
                     if (dataDictionary != null && StringUtils.isNotBlank(dataDictionary.getName())) {\r
                         dictionaryMap.put(dataDictionary.getName(), dataDictionary);\r
@@ -167,14 +166,13 @@ public class AutoResourceMappingService {
     private List<ResourceAssignment> getAllAutomapResourceAssignments(List<ResourceAssignment> resourceAssignments) {\r
         List<ResourceDictionary> dictionaries = null;\r
         List<String> names = new ArrayList<>();\r
-        List<ResourceAssignment> resourceAssignmentsWithDepencies = resourceAssignments;\r
         for (ResourceAssignment resourceAssignment : resourceAssignments) {\r
             if (resourceAssignment != null && StringUtils.isNotBlank(resourceAssignment.getDictionaryName())) {\r
                 if (resourceAssignment.getDependencies() != null && !resourceAssignment.getDependencies().isEmpty()) {\r
                     List<String> dependencieNames = resourceAssignment.getDependencies();\r
                     for (String dependencieName : dependencieNames) {\r
                         if (StringUtils.isNotBlank(dependencieName) && !names.contains(dependencieName)\r
-                                && !checkAssignmentsExists(resourceAssignmentsWithDepencies, dependencieName)) {\r
+                                && !checkAssignmentsExists(resourceAssignments, dependencieName)) {\r
                             names.add(dependencieName);\r
                         }\r
                     }\r
@@ -188,24 +186,25 @@ public class AutoResourceMappingService {
         if (dictionaries != null) {\r
             for (ResourceDictionary resourcedictionary : dictionaries) {\r
                 ResourceDefinition dictionaryDefinition = JacksonUtils.readValue(resourcedictionary.getDefinition(), ResourceDefinition.class);\r
+                Preconditions.checkNotNull(dictionaryDefinition, "failed to get Resource Definition from dictionary definition");\r
                 PropertyDefinition property = new PropertyDefinition();\r
-                               property.setRequired(true);\r
-                               ResourceAssignment resourceAssignment = new ResourceAssignment();\r
-                               resourceAssignment.setName(resourcedictionary.getName());\r
-                               resourceAssignment.setDictionaryName(resourcedictionary\r
-                                               .getName());\r
-                               resourceAssignment.setVersion(0);\r
-                               resourceAssignment.setProperty(property);\r
+                property.setRequired(true);\r
+                ResourceAssignment resourceAssignment = new ResourceAssignment();\r
+                resourceAssignment.setName(resourcedictionary.getName());\r
+                resourceAssignment.setDictionaryName(resourcedictionary\r
+                        .getName());\r
+                resourceAssignment.setVersion(0);\r
+                resourceAssignment.setProperty(property);\r
                 ResourceDictionaryUtils.populateSourceMapping(resourceAssignment, dictionaryDefinition);\r
-                    resourceAssignmentsWithDepencies.add(resourceAssignment);\r
+                resourceAssignments.add(resourceAssignment);\r
             }\r
         }\r
-        return resourceAssignmentsWithDepencies;\r
+        return resourceAssignments;\r
 \r
     }\r
 \r
 \r
-    public boolean checkAssignmentsExists(List<ResourceAssignment> resourceAssignmentsWithDepencies, String resourceName) {\r
+    private boolean checkAssignmentsExists(List<ResourceAssignment> resourceAssignmentsWithDepencies, String resourceName) {\r
         return resourceAssignmentsWithDepencies.stream().anyMatch(names -> names.getName().equalsIgnoreCase(resourceName));\r
     }\r
 \r