/*\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
\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
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
@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
\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
\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
\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
\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
\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
}\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