+++ /dev/null
-/*\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
- * You may obtain a copy of the License at\r
- * \r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-package org.onap.ccsdk.features.assignment.service;\r
-\r
-import java.util.HashMap;\r
-import java.util.List;\r
-import java.util.Map;\r
-import org.apache.commons.collections.CollectionUtils;\r
-import org.apache.commons.lang3.StringUtils;\r
-import org.onap.ccsdk.features.assignment.data.ResourceAssignmentData;\r
-import org.onap.ccsdk.features.data.adaptor.domain.ConfigResource;\r
-import org.onap.ccsdk.features.data.adaptor.service.ConfigResourceService;\r
-import org.onap.ccsdk.features.generator.data.ConfigGeneratorInfo;\r
-import org.onap.ccsdk.features.generator.service.ConfigGeneratorService;\r
-import org.onap.ccsdk.features.model.ConfigModelConstant;\r
-import org.onap.ccsdk.features.model.service.ConfigModelService;\r
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;\r
-import com.att.eelf.configuration.EELFLogger;\r
-import com.att.eelf.configuration.EELFManager;\r
-\r
-public class ConfigPreviewService {\r
- private static EELFLogger logger = EELFManager.getInstance().getLogger(ConfigAssignmentPersistService.class);\r
- private ConfigResourceService configResourceService;\r
- private ConfigModelService configModelService;\r
- private ConfigGeneratorService configGeneratorService;\r
-\r
- public ConfigPreviewService(ConfigResourceService configResourceService, ConfigModelService configModelService,\r
- ConfigGeneratorService configGeneratorService) {\r
- this.configResourceService = configResourceService;\r
- this.configModelService = configModelService;\r
- this.configGeneratorService = configGeneratorService;\r
- }\r
-\r
- public String generatePreview(String templateContent, String templateData) throws SvcLogicException {\r
- String mashedData = "";\r
- ConfigGeneratorInfo configGeneratorInfo =\r
- configGeneratorService.generateConfiguration(templateContent, templateData);\r
- if (configGeneratorInfo != null) {\r
- mashedData = configGeneratorInfo.getMashedData();\r
- }\r
- return mashedData;\r
- }\r
-\r
- public ResourceAssignmentData generateTemplateResourceMash(ResourceAssignmentData resourceAssignmentData)\r
- throws SvcLogicException {\r
- if (resourceAssignmentData == null) {\r
- throw new SvcLogicException("Resource assignment data is missing");\r
- }\r
- if (StringUtils.isBlank(resourceAssignmentData.getServiceTemplateName())) {\r
- throw new SvcLogicException("Service template name is missing");\r
- }\r
- if (StringUtils.isBlank(resourceAssignmentData.getServiceTemplateVersion())) {\r
- throw new SvcLogicException("Service template version is missing");\r
- }\r
- if (StringUtils.isBlank(resourceAssignmentData.getResourceType())) {\r
- throw new SvcLogicException("Resource type is missing");\r
- }\r
- if (StringUtils.isBlank(resourceAssignmentData.getResourceId())) {\r
- throw new SvcLogicException("Resource Id is missing");\r
- }\r
- if (StringUtils.isBlank(resourceAssignmentData.getActionName())) {\r
- throw new SvcLogicException("Action name is missing");\r
- }\r
-\r
- String serviceTemplateName = resourceAssignmentData.getServiceTemplateName();\r
- String serviceTemplateVersion = resourceAssignmentData.getServiceTemplateVersion();\r
- String actionName = resourceAssignmentData.getActionName();\r
- String resourceId = resourceAssignmentData.getResourceId();\r
- String resourceType = resourceAssignmentData.getResourceType();\r
- String inputData = "{}";\r
-\r
- Map<String, String> context = new HashMap<>();\r
- context.put(ConfigModelConstant.PROPERTY_ACTION_NAME, actionName);\r
- context = configModelService.prepareContext(context, inputData, serviceTemplateName, serviceTemplateVersion);\r
-\r
- ConfigResource configResourceQuery = new ConfigResource();\r
- configResourceQuery.setServiceTemplateVersion(serviceTemplateName);\r
- configResourceQuery.setServiceTemplateVersion(serviceTemplateVersion);\r
- configResourceQuery.setRecipeName(actionName);\r
- configResourceQuery.setResourceId(resourceId);\r
- configResourceQuery.setResourceType(resourceType);\r
-\r
- List<ConfigResource> configResources = configResourceService.getConfigResource(configResourceQuery);\r
- if (CollectionUtils.isNotEmpty(configResources)) {\r
- for (ConfigResource cr : configResources) {\r
- String templateContent = context\r
- .get(ConfigModelConstant.PROPERTY_NODE_TEMPLATES_DOT + cr.getTemplateName() + ".content");\r
- String templateData = cr.getResourceData();\r
- String previewContent = generatePreview(templateContent, templateData);\r
- resourceAssignmentData.getTemplatesMashedContents().put(cr.getTemplateName(), previewContent);\r
- logger.info("Preview generated for template name ({}) ", cr.getTemplateName());\r
- logger.trace("Preview generated for preview ({}) ", previewContent);\r
- }\r
- } else {\r
- logger.info(\r
- "Couldn't get config resource for service template name ({}) service template version ({})"\r
- + " action ({}) resource id ({}) resource type ({})",\r
- serviceTemplateName, serviceTemplateVersion, actionName, resourceId, resourceType);\r
- }\r
- return resourceAssignmentData;\r
-\r
- }\r
-\r
-}\r