Merge "added test case to PropertyOperatorTest.java"
[ccsdk/apps.git] / ms / controllerblueprints / modules / service / src / main / java / org / onap / ccsdk / apps / controllerblueprints / service / ConfigModelService.java
index feee3a3..a2f653c 100644 (file)
@@ -1,5 +1,6 @@
 /*\r
  * Copyright © 2017-2018 AT&T Intellectual Property.\r
+ * Modifications Copyright © 2018 IBM.\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
@@ -18,6 +19,7 @@ package org.onap.ccsdk.apps.controllerblueprints.service;
 \r
 import org.apache.commons.collections.CollectionUtils;\r
 import org.apache.commons.lang3.StringUtils;\r
+import org.jetbrains.annotations.NotNull;\r
 import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintConstants;\r
 import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintException;\r
 import org.onap.ccsdk.apps.controllerblueprints.core.ConfigModelConstant;\r
@@ -28,8 +30,8 @@ import org.onap.ccsdk.apps.controllerblueprints.service.domain.ConfigModel;
 import org.onap.ccsdk.apps.controllerblueprints.service.domain.ConfigModelContent;\r
 import org.onap.ccsdk.apps.controllerblueprints.service.repository.ConfigModelContentRepository;\r
 import org.onap.ccsdk.apps.controllerblueprints.service.repository.ConfigModelRepository;\r
-import org.slf4j.Logger;\r
-import org.slf4j.LoggerFactory;\r
+import com.att.eelf.configuration.EELFLogger;\r
+import com.att.eelf.configuration.EELFManager;\r
 import org.springframework.stereotype.Service;\r
 import org.springframework.transaction.annotation.Transactional;\r
 \r
@@ -48,7 +50,7 @@ import java.util.Optional;
 @Service\r
 public class ConfigModelService {\r
 \r
-    private static Logger log = LoggerFactory.getLogger(ConfigModelService.class);\r
+    private static EELFLogger log = EELFManager.getInstance().getLogger(ConfigModelService.class);\r
 \r
     private ConfigModelRepository configModelRepository;\r
     private ConfigModelContentRepository configModelContentRepository;\r
@@ -56,25 +58,26 @@ public class ConfigModelService {
 \r
     /**\r
      * This is a ConfigModelService constructor.\r
-     * \r
-     * @param configModelRepository\r
-     * @param configModelContentRepository\r
-     * @param configModelCreateService\r
+     *\r
+     * @param configModelRepository        configModelRepository\r
+     * @param configModelContentRepository configModelContentRepository\r
+     * @param configModelCreateService     configModelCreateService\r
      */\r
     public ConfigModelService(ConfigModelRepository configModelRepository,\r
-            ConfigModelContentRepository configModelContentRepository,\r
-            ConfigModelCreateService configModelCreateService) {\r
+                              ConfigModelContentRepository configModelContentRepository,\r
+                              ConfigModelCreateService configModelCreateService) {\r
         this.configModelRepository = configModelRepository;\r
         this.configModelContentRepository = configModelContentRepository;\r
         this.configModelCreateService = configModelCreateService;\r
+        log.info("Config Model Service Initiated...");\r
     }\r
 \r
     /**\r
      * This is a getInitialConfigModel method\r
-     * \r
-     * @param templateName\r
+     *\r
+     * @param templateName templateName\r
      * @return ConfigModel\r
-     * @throws BluePrintException\r
+     * @throws BluePrintException BluePrintException\r
      */\r
     public ConfigModel getInitialConfigModel(String templateName) throws BluePrintException {\r
         ConfigModel configModel = null;\r
@@ -99,10 +102,10 @@ public class ConfigModelService {
 \r
     /**\r
      * This is a saveConfigModel method\r
-     * \r
-     * @param configModel\r
+     *\r
+     * @param configModel configModel\r
      * @return ConfigModel\r
-     * @throws BluePrintException\r
+     * @throws BluePrintException BluePrintException\r
      */\r
     public ConfigModel saveConfigModel(ConfigModel configModel) throws BluePrintException {\r
         return this.configModelCreateService.saveConfigModel(configModel);\r
@@ -110,10 +113,10 @@ public class ConfigModelService {
 \r
     /**\r
      * This is a publishConfigModel method\r
-     * \r
-     * @param id\r
+     *\r
+     * @param id id\r
      * @return ConfigModel\r
-     * @throws BluePrintException\r
+     * @throws BluePrintException BluePrintException\r
      */\r
     public ConfigModel publishConfigModel(Long id) throws BluePrintException {\r
         return this.configModelCreateService.publishConfigModel(id);\r
@@ -121,8 +124,8 @@ public class ConfigModelService {
 \r
     /**\r
      * This is a searchConfigModels method\r
-     * \r
-     * @param tags\r
+     *\r
+     * @param tags tags\r
      * @return ConfigModel\r
      */\r
     public List<ConfigModel> searchConfigModels(String tags) {\r
@@ -137,14 +140,14 @@ public class ConfigModelService {
 \r
     /**\r
      * This is a getConfigModelByNameAndVersion method\r
-     * \r
-     * @param name\r
-     * @param version\r
+     *\r
+     * @param name    name\r
+     * @param version version\r
      * @return ConfigModel\r
      */\r
-    public ConfigModel getConfigModelByNameAndVersion(String name, String version) {\r
-        ConfigModel configModel = null;\r
-        Optional<ConfigModel> dbConfigModel = null;\r
+    public ConfigModel getConfigModelByNameAndVersion(@NotNull String name, String version) throws BluePrintException {\r
+        ConfigModel configModel;\r
+        Optional<ConfigModel> dbConfigModel;\r
         if (StringUtils.isNotBlank(version)) {\r
             dbConfigModel = configModelRepository.findByArtifactNameAndArtifactVersion(name, version);\r
         } else {\r
@@ -152,95 +155,104 @@ public class ConfigModelService {
         }\r
         if (dbConfigModel.isPresent()) {\r
             configModel = dbConfigModel.get();\r
+        } else {\r
+            throw new BluePrintException(String.format("failed to get config model name(%s), version(%s) from repo", name, version));\r
         }\r
         return configModel;\r
     }\r
 \r
     /**\r
      * This is a getConfigModel method\r
-     * \r
-     * @param id\r
+     *\r
+     * @param id id\r
      * @return ConfigModel\r
+     * @throws BluePrintException BluePrintException\r
      */\r
-    public ConfigModel getConfigModel(Long id) {\r
-        ConfigModel configModel = null;\r
-        if (id != null) {\r
-            Optional<ConfigModel> dbConfigModel = configModelRepository.findById(id);\r
-            if (dbConfigModel.isPresent()) {\r
-                configModel = dbConfigModel.get();\r
-            }\r
+    public ConfigModel getConfigModel(@NotNull Long id) throws BluePrintException {\r
+        ConfigModel configModel;\r
+        Optional<ConfigModel> dbConfigModel = configModelRepository.findById(id);\r
+        if (dbConfigModel.isPresent()) {\r
+            configModel = dbConfigModel.get();\r
+        } else {\r
+            throw new BluePrintException(String.format("failed to get config model id(%d) from repo", id));\r
         }\r
+\r
         return configModel;\r
     }\r
 \r
     /**\r
      * This method returns clone of the given model id, by masking the other unrelated fields\r
-     * \r
-     * @param id\r
-     * @return\r
+     *\r
+     * @param id id\r
+     * @return ConfigModel\r
+     * @throws BluePrintException BluePrintException\r
      */\r
 \r
-    public ConfigModel getCloneConfigModel(Long id) {\r
+    public ConfigModel getCloneConfigModel(@NotNull Long id) throws BluePrintException {\r
 \r
-        ConfigModel configModel = null;\r
-        ConfigModel cloneConfigModel = null;\r
-        if (id != null) {\r
-            Optional<ConfigModel> dbConfigModel = configModelRepository.findById(id);\r
-            if (dbConfigModel.isPresent()) {\r
-                configModel = dbConfigModel.get();\r
-                cloneConfigModel = configModel;\r
-                cloneConfigModel.setUpdatedBy("xxxxx@xxx.com");\r
-                cloneConfigModel.setArtifactName("XXXX");\r
-                cloneConfigModel.setPublished("XXXX");\r
-                cloneConfigModel.setPublished("XXXX");\r
-                cloneConfigModel.setUpdatedBy("XXXX");\r
-                cloneConfigModel.setId(null);\r
-                cloneConfigModel.setTags(null);\r
-                cloneConfigModel.setCreatedDate(new Date());\r
-                List<ConfigModelContent> configModelContents = cloneConfigModel.getConfigModelContents();\r
-\r
-                if (CollectionUtils.isNotEmpty(configModelContents)) {\r
-                    for (ConfigModelContent configModelContent : configModelContents) {\r
-                        if (configModelContent != null && StringUtils.isNotBlank(configModelContent.getContentType())) {\r
-                            configModelContent.setId(null);\r
-                            configModelContent.setCreationDate(new Date());\r
-\r
-                            if (ConfigModelConstant.MODEL_CONTENT_TYPE_TOSCA_JSON\r
-                                    .equalsIgnoreCase(configModelContent.getContentType())) {\r
-                                ServiceTemplate serviceTemplate = JacksonUtils\r
-                                        .readValue(configModelContent.getContent(), ServiceTemplate.class);\r
-                                if (serviceTemplate != null && serviceTemplate.getMetadata() != null) {\r
-                                    serviceTemplate.getMetadata()\r
-                                            .put(BluePrintConstants.METADATA_TEMPLATE_AUTHOR, "XXXX");\r
-                                    serviceTemplate.getMetadata()\r
-                                            .put(BluePrintConstants.METADATA_TEMPLATE_VERSION, "1.0.0");\r
-                                    serviceTemplate.getMetadata()\r
-                                            .put(BluePrintConstants.METADATA_TEMPLATE_NAME, "XXXXXX");\r
-\r
-                                    configModelContent.setContent(JacksonUtils.getJson(serviceTemplate));\r
-                                }\r
+        ConfigModel configModel;\r
+        ConfigModel cloneConfigModel;\r
+        Optional<ConfigModel> dbConfigModel = configModelRepository.findById(id);\r
+        if (dbConfigModel.isPresent()) {\r
+            configModel = dbConfigModel.get();\r
+            cloneConfigModel = configModel;\r
+            cloneConfigModel.setUpdatedBy("xxxxx@xxx.com");\r
+            cloneConfigModel.setArtifactName("XXXX");\r
+            cloneConfigModel.setPublished("XXXX");\r
+            cloneConfigModel.setPublished("XXXX");\r
+            cloneConfigModel.setUpdatedBy("XXXX");\r
+            cloneConfigModel.setId(null);\r
+            cloneConfigModel.setTags(null);\r
+            cloneConfigModel.setCreatedDate(new Date());\r
+            List<ConfigModelContent> configModelContents = cloneConfigModel.getConfigModelContents();\r
+\r
+            if (CollectionUtils.isNotEmpty(configModelContents)) {\r
+                for (ConfigModelContent configModelContent : configModelContents) {\r
+                    if (configModelContent != null && StringUtils.isNotBlank(configModelContent.getContentType())) {\r
+                        configModelContent.setId(null);\r
+                        configModelContent.setCreationDate(new Date());\r
+\r
+                        if (ConfigModelConstant.MODEL_CONTENT_TYPE_TOSCA_JSON\r
+                                .equalsIgnoreCase(configModelContent.getContentType())) {\r
+                            ServiceTemplate serviceTemplate = JacksonUtils\r
+                                    .readValue(configModelContent.getContent(), ServiceTemplate.class);\r
+                            if (serviceTemplate != null && serviceTemplate.getMetadata() != null) {\r
+                                serviceTemplate.getMetadata()\r
+                                        .put(BluePrintConstants.METADATA_TEMPLATE_AUTHOR, "XXXX");\r
+                                serviceTemplate.getMetadata()\r
+                                        .put(BluePrintConstants.METADATA_TEMPLATE_VERSION, "1.0.0");\r
+                                serviceTemplate.getMetadata()\r
+                                        .put(BluePrintConstants.METADATA_TEMPLATE_NAME, "XXXXXX");\r
+\r
+                                configModelContent.setContent(JacksonUtils.getJson(serviceTemplate));\r
                             }\r
                         }\r
-\r
                     }\r
+\r
                 }\r
             }\r
+        } else {\r
+            throw new BluePrintException(String.format("failed to get config model id(%d) from repo", id));\r
         }\r
+\r
         return cloneConfigModel;\r
     }\r
 \r
     /**\r
      * This is a deleteConfigModel method\r
-     * \r
-     * @param id\r
+     *\r
+     * @param id id\r
+     * @throws BluePrintException BluePrintException\r
      */\r
 \r
     @Transactional\r
-    public void deleteConfigModel(Long id) {\r
+    public void deleteConfigModel(@NotNull Long id) throws BluePrintException {\r
         Optional<ConfigModel> dbConfigModel = configModelRepository.findById(id);\r
         if (dbConfigModel.isPresent()) {\r
             configModelContentRepository.deleteByConfigModel(dbConfigModel.get());\r
             configModelRepository.delete(dbConfigModel.get());\r
+        } else {\r
+            throw new BluePrintException(String.format("failed to get config model id(%d) from repo", id));\r
         }\r
     }\r
 \r