summaryrefslogtreecommitdiffstats
path: root/blueprints-processor/plugin/assignment-provider/src/main
diff options
context:
space:
mode:
authorSingal, Kapil (ks220y) <ks220y@att.com>2020-01-30 11:23:57 -0500
committerKAPIL SINGAL <ks220y@att.com>2020-01-30 16:38:18 +0000
commit032ce4ec7c3d7ac138555dfe980ca53ebbf39f01 (patch)
tree97ead4fa03fbc4e31900fcc39adf5c1fd4594d39 /blueprints-processor/plugin/assignment-provider/src/main
parent4903545aae48b6b8169b8716ba5bce7f0cd8d7ba (diff)
Removing blueprints-processor
Blueprints-Processor is deprecated, use CCSDK/CDS instead Change-Id: I0abc96061c3c5edc6c5d02bcd6f35e18e31882a7 Issue-ID: CCSDK-2051 Signed-off-by: Singal, Kapil (ks220y) <ks220y@att.com>
Diffstat (limited to 'blueprints-processor/plugin/assignment-provider/src/main')
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/ConfigAssignmentConstants.java37
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/data/ResourceAssignmentData.java163
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/DBResourceProcessor.java267
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/DefaultResourceProcessor.java107
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/InputResourceProcessor.java96
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/MdsalResourceProcessor.java239
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/ProcessorFactory.java52
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/ResourceAssignmentProcessor.java120
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentNode.java231
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentPersistService.java124
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentProcessService.java238
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentService.java35
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentServiceImpl.java79
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentUtils.java301
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigPreviewService.java119
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ResourceDictionaryService.java110
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ResourceModelService.java97
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml63
-rw-r--r--blueprints-processor/plugin/assignment-provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml63
19 files changed, 0 insertions, 2541 deletions
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/ConfigAssignmentConstants.java b/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/ConfigAssignmentConstants.java
deleted file mode 100644
index 3052a8611..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/ConfigAssignmentConstants.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.ccsdk.features.assignment;
-
-@SuppressWarnings("squid:S1118")
-public class ConfigAssignmentConstants {
-
- public static final String OUTPUT_PARAM_STATUS = "status";
- public static final String OUTPUT_PARAM_RESOURCE_ASSIGNMENT_PARAMS = "resource-assignment-params";
- public static final String OUTPUT_PARAM_MASHED_DATA = "mashed-data";
- public static final String OUTPUT_PARAM_ERROR_MESSAGE = "error-message";
- public static final String OUTPUT_STATUS_SUCCESS = "success";
- public static final String OUTPUT_STATUS_FAILURE = "failure";
-
- public static final String INPUT_PARAM_REQUEST_ID = "request-id";
- public static final String INPUT_PARAM_RESOURCE_ID = "resource-id";
- public static final String INPUT_PARAM_RESOURCE_TYPE = "resource-type";
- public static final String INPUT_PARAM_ACTION_NAME = "action-name";
- public static final String INPUT_PARAM_TEMPLATE_NAMES = "template-names";
- public static final String INPUT_PARAM_INPUT_DATA = "input-data";
-
-}
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/data/ResourceAssignmentData.java b/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/data/ResourceAssignmentData.java
deleted file mode 100644
index 75a1398bd..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/data/ResourceAssignmentData.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.ccsdk.features.assignment.data;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.onap.ccsdk.features.model.data.ResourceAssignment;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-
-public class ResourceAssignmentData {
-
- private String requestId;
- private boolean reloadModel;
- private String resourceType;
- private String resourceId;
- private String serviceTemplateName;
- private String serviceTemplateVersion;
- private String actionName;
- private String inputData;
- private SvcLogicContext svcLogicContext;
- private List<String> templateNames;
- private Map<String, List<ResourceAssignment>> templatesResourceAssignments = new HashMap<>();
- private Map<String, String> templatesContents = new HashMap<>();
- private Map<String, String> templatesMashedContents = new HashMap<>();
- private Map<String, String> templatesData = new HashMap<>();
- private Map<String, Object> context = new HashMap<>();
-
- public String getRequestId() {
- return requestId;
- }
-
- public void setRequestId(String requestId) {
- this.requestId = requestId;
- }
-
- public String getResourceType() {
- return resourceType;
- }
-
- public void setResourceType(String resourceType) {
- this.resourceType = resourceType;
- }
-
- public String getResourceId() {
- return resourceId;
- }
-
- public void setResourceId(String resourceId) {
- this.resourceId = resourceId;
- }
-
- public String getServiceTemplateName() {
- return serviceTemplateName;
- }
-
- public void setServiceTemplateName(String serviceTemplateName) {
- this.serviceTemplateName = serviceTemplateName;
- }
-
- public String getServiceTemplateVersion() {
- return serviceTemplateVersion;
- }
-
- public void setServiceTemplateVersion(String serviceTemplateVersion) {
- this.serviceTemplateVersion = serviceTemplateVersion;
- }
-
- public String getActionName() {
- return actionName;
- }
-
- public void setActionName(String actionName) {
- this.actionName = actionName;
- }
-
- public String getInputData() {
- return inputData;
- }
-
- public void setInputData(String inputData) {
- this.inputData = inputData;
- }
-
- public List<String> getTemplateNames() {
- return templateNames;
- }
-
- public void setTemplateNames(List<String> templateNames) {
- this.templateNames = templateNames;
- }
-
- public Map<String, List<ResourceAssignment>> getTemplatesResourceAssignments() {
- return templatesResourceAssignments;
- }
-
- public void setTemplatesResourceAssignments(Map<String, List<ResourceAssignment>> templatesResourceAssignments) {
- this.templatesResourceAssignments = templatesResourceAssignments;
- }
-
- public Map<String, String> getTemplatesContents() {
- return templatesContents;
- }
-
- public void setTemplatesContents(Map<String, String> templatesContents) {
- this.templatesContents = templatesContents;
- }
-
- public Map<String, String> getTemplatesMashedContents() {
- return templatesMashedContents;
- }
-
- public void setTemplatesMashedContents(Map<String, String> templatesMashedContents) {
- this.templatesMashedContents = templatesMashedContents;
- }
-
- public Map<String, String> getTemplatesData() {
- return templatesData;
- }
-
- public void setTemplatesData(Map<String, String> templatesData) {
- this.templatesData = templatesData;
- }
-
- public Map<String, Object> getContext() {
- return context;
- }
-
- public void setContext(Map<String, Object> context) {
- this.context = context;
- }
-
- public SvcLogicContext getSvcLogicContext() {
- return svcLogicContext;
- }
-
- public void setSvcLogicContext(SvcLogicContext svcLogicContext) {
- this.svcLogicContext = svcLogicContext;
- }
-
- public boolean isReloadModel() {
- return reloadModel;
- }
-
- public void setReloadModel(boolean reloadModel) {
- this.reloadModel = reloadModel;
- }
-}
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/DBResourceProcessor.java b/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/DBResourceProcessor.java
deleted file mode 100644
index 132d03c4f..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/DBResourceProcessor.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.ccsdk.features.assignment.processor;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.ccsdk.features.assignment.service.ConfigAssignmentUtils;
-import org.onap.ccsdk.features.data.adaptor.service.ConfigResourceService;
-import org.onap.ccsdk.features.model.ConfigModelConstant;
-import org.onap.ccsdk.features.model.ConfigModelException;
-import org.onap.ccsdk.features.model.ValidTypes;
-import org.onap.ccsdk.features.model.data.ResourceAssignment;
-import org.onap.ccsdk.features.model.data.dict.ResourceDefinition;
-import org.onap.ccsdk.features.model.data.dict.SourcesDefinition;
-import org.onap.ccsdk.features.model.service.ComponentNode;
-import org.onap.ccsdk.features.model.utils.JsonUtils;
-import org.onap.ccsdk.features.model.utils.ResourceAssignmentUtils;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-public class DBResourceProcessor implements ComponentNode {
-
- private static EELFLogger logger = EELFManager.getInstance().getLogger(DBResourceProcessor.class);
- private ConfigResourceService configResourceService;
- private Map<String, ResourceDefinition> dictionaries;
-
- public DBResourceProcessor(ConfigResourceService configResourceService) {
- this.configResourceService = configResourceService;
- }
-
- @Override
- public Boolean preCondition(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- return Boolean.TRUE;
- }
-
- @Override
- public void preProcess(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- // Auto-generated method stub
- }
-
- @Override
- public void process(Map<String, String> inParams, SvcLogicContext ctx) throws SvcLogicException {
- // Auto-generated method stub
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public void process(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- try {
- List<ResourceAssignment> batchResourceAssignment =
- (List<ResourceAssignment>) componentContext.get(ConfigModelConstant.PROPERTY_RESOURCE_ASSIGNMENTS);
- dictionaries =
- (Map<String, ResourceDefinition>) componentContext.get(ConfigModelConstant.PROPERTY_DICTIONARIES);
-
- if (CollectionUtils.isNotEmpty(batchResourceAssignment)) {
- for (ResourceAssignment resourceAssignment : batchResourceAssignment) {
- processResourceAssignment(ctx, componentContext, resourceAssignment);
- }
- }
- } catch (Exception e) {
- throw new SvcLogicException(String.format("DBResourceProcessor Exception : (%s)", e), e);
- }
- }
-
- private void processResourceAssignment(SvcLogicContext ctx, Map<String, Object> componentContext,
- ResourceAssignment resourceAssignment) throws SvcLogicException, ConfigModelException {
- if (resourceAssignment != null) {
- try {
- validate(resourceAssignment);
-
- // Check if It has Input
- Object value = ConfigAssignmentUtils.getContextKeyValue(ctx, resourceAssignment.getName());
- if (value != null) {
- logger.info("db source template key ({}) found from input and value is ({})",
- resourceAssignment.getName(), value);
- ResourceAssignmentUtils.setResourceDataValue(componentContext, resourceAssignment, value);
- return;
- }
-
- ResourceDefinition resourceDefinition = dictionaries.get(resourceAssignment.getDictionaryName());
- SourcesDefinition sourceDb = resourceDefinition.getSources().get("db");
- if (StringUtils.isBlank(sourceDb.getProperties().getQuery())) {
- throw new SvcLogicException("db query property is missing");
- }
-
- String sql = sourceDb.getProperties().getQuery();
- Map<String, String> inputKeyMapping = sourceDb.getProperties().getInputKeyMapping();
-
- logger.info("Db dictionary information : ({}), ({}), ({})", sql, inputKeyMapping,
- sourceDb.getProperties().getOutputKeyMapping());
-
- Map<String, Object> namedParameters = populateNamedParameter(componentContext, inputKeyMapping);
-
- logger.info("Parameter information : ({})", namedParameters);
- List<Map<String, Object>> rows = configResourceService.query(sql, namedParameters);
- if (rows != null && !rows.isEmpty()) {
- processDBResults(ctx, componentContext, resourceAssignment, sourceDb, rows);
- } else {
- logger.warn("Failed to get db result for dictionary name ({}) the query ({})",
- resourceAssignment.getDictionaryName(), sql);
- }
-
- // Check the value has populated for mandatory case
- ResourceAssignmentUtils.assertTemplateKeyValueNotNull(componentContext, resourceAssignment);
- } catch (Exception e) {
- ResourceAssignmentUtils.setFailedResourceDataValue(componentContext, resourceAssignment,
- e.getMessage());
- throw new SvcLogicException(
- String.format("Failed in template key (%s) assignments : (%s)", resourceAssignment, e), e);
- }
- } else {
- // Do Nothing
- }
- }
-
- private void validate(ResourceAssignment resourceAssignment) throws SvcLogicException {
- if (resourceAssignment == null) {
- throw new SvcLogicException("resource assignment is not defined");
- }
-
- if (StringUtils.isBlank(resourceAssignment.getName())) {
- throw new SvcLogicException("resource assignment template key is not defined");
- }
-
- if (StringUtils.isBlank(resourceAssignment.getDictionaryName())) {
- throw new SvcLogicException(
- String.format("resource assignment dictionary name is not defined for template key (%s)",
- resourceAssignment.getName()));
- }
-
- if (!ConfigModelConstant.SOURCE_DB.equalsIgnoreCase(resourceAssignment.getDictionarySource())) {
- throw new SvcLogicException(String.format("resource assignment source is not db, it is (%s)",
- resourceAssignment.getDictionarySource()));
- }
-
- ResourceDefinition resourceDefinition = dictionaries.get(resourceAssignment.getDictionaryName());
- if (resourceDefinition == null) {
- throw new SvcLogicException(String.format("missing resource dictionary definition for name (%s) ",
- resourceAssignment.getDictionaryName()));
- }
-
- if (resourceDefinition.getSources() == null || resourceDefinition.getSources().get("db") == null) {
- throw new SvcLogicException(String.format("missing resource dictionary db source definition for name (%s) ",
- resourceAssignment.getDictionaryName()));
- }
-
- SourcesDefinition sourceDb = resourceDefinition.getSources().get("db");
- if (StringUtils.isBlank(sourceDb.getProperties().getQuery())) {
- throw new SvcLogicException(String.format("Failed to get request Query for dictionary (%s)",
- resourceAssignment.getDictionaryName()));
- }
-
- }
-
- private Map<String, Object> populateNamedParameter(Map<String, Object> componentContext,
- Map<String, String> inputKeyMapping) {
- Map<String, Object> namedParameters = new HashMap<>();
- if (MapUtils.isNotEmpty(inputKeyMapping)) {
-
- for (Map.Entry<String, String> mapping : inputKeyMapping.entrySet()) {
- ResourceDefinition referenceDictionaryDefinition = dictionaries.get(mapping.getValue());
- Object expressionValue =
- ResourceAssignmentUtils.getDictionaryKeyValue(componentContext, referenceDictionaryDefinition);
- logger.trace("Reference dictionary key ({}), value ({})", mapping.getKey(), expressionValue);
- namedParameters.put(mapping.getKey(), expressionValue);
- }
- }
- return namedParameters;
- }
-
- @SuppressWarnings("squid:S3776")
- private void processDBResults(SvcLogicContext ctx, Map<String, Object> componentContext,
- ResourceAssignment resourceAssignment, SourcesDefinition sourceDb, List<Map<String, Object>> rows)
- throws SvcLogicException, ConfigModelException {
-
- Map<String, String> outputKeyMapping = sourceDb.getProperties().getOutputKeyMapping();
- String type = resourceAssignment.getProperty().getType();
- String entrySchema = null;
- logger.info("Response processing type({})", type);
- // Primitive Types
- if (ValidTypes.getPrimitivePropertType().contains(type)) {
-
- Map<String, Object> row = rows.get(0);
- String dbColumnName = outputKeyMapping.get(resourceAssignment.getDictionaryName());
- Object dbColumnValue = row.get(dbColumnName);
- ResourceAssignmentUtils.setResourceDataValue(componentContext, resourceAssignment, dbColumnValue);
-
- } else if (ValidTypes.getListPropertType().contains(type)) {
- // Array Types
- if (resourceAssignment.getProperty().getEntrySchema() != null) {
- entrySchema = resourceAssignment.getProperty().getEntrySchema().getType();
- }
-
- if (StringUtils.isNotBlank(entrySchema)) {
- ArrayNode arrayNode = JsonNodeFactory.instance.arrayNode();
-
- for (Map<String, Object> row : rows) {
- if (ValidTypes.getPrimitivePropertType().contains(entrySchema)) {
- String dbColumnName = outputKeyMapping.get(resourceAssignment.getDictionaryName());
- Object dbColumnValue = row.get(dbColumnName);
- // Add Array JSON
- JsonUtils.populatePrimitiveValues(dbColumnValue, entrySchema, arrayNode);
- } else {
- ObjectNode arrayChildNode = JsonNodeFactory.instance.objectNode();
- for (Map.Entry<String, String> mapping : outputKeyMapping.entrySet()) {
- Object dbColumnValue = row.get(mapping.getKey());
- String propertyTypeForDataType =
- ConfigAssignmentUtils.getPropertyType(ctx, entrySchema, mapping.getKey());
- JsonUtils.populatePrimitiveValues(mapping.getKey(), dbColumnValue, propertyTypeForDataType,
- arrayChildNode);
- }
- arrayNode.add(arrayChildNode);
- }
- }
- // Set the List of Complex Values
- ResourceAssignmentUtils.setResourceDataValue(componentContext, resourceAssignment, arrayNode);
- } else {
- throw new SvcLogicException(String.format("Entry schema is not defined for dictionary (%s) info",
- resourceAssignment.getDictionaryName()));
- }
- } else {
- // Complex Types
- Map<String, Object> row = rows.get(0);
- ObjectNode objectNode = JsonNodeFactory.instance.objectNode();
- for (Map.Entry<String, String> mapping : outputKeyMapping.entrySet()) {
- Object dbColumnValue = row.get(mapping.getKey());
- String propertyTypeForDataType = ConfigAssignmentUtils.getPropertyType(ctx, type, mapping.getKey());
- JsonUtils.populatePrimitiveValues(mapping.getKey(), dbColumnValue, propertyTypeForDataType, objectNode);
- }
- ResourceAssignmentUtils.setResourceDataValue(componentContext, resourceAssignment, objectNode);
- }
- }
-
- @Override
- public void postProcess(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- // Auto-generated method stub
- }
-
-}
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/DefaultResourceProcessor.java b/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/DefaultResourceProcessor.java
deleted file mode 100644
index 563d5b523..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/DefaultResourceProcessor.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.ccsdk.features.assignment.processor;
-
-import java.util.List;
-import java.util.Map;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.ccsdk.features.assignment.service.ConfigAssignmentUtils;
-import org.onap.ccsdk.features.data.adaptor.service.ConfigResourceService;
-import org.onap.ccsdk.features.model.ConfigModelConstant;
-import org.onap.ccsdk.features.model.ConfigModelException;
-import org.onap.ccsdk.features.model.data.ResourceAssignment;
-import org.onap.ccsdk.features.model.service.ComponentNode;
-import org.onap.ccsdk.features.model.utils.ResourceAssignmentUtils;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-
-public class DefaultResourceProcessor implements ComponentNode {
-
- public DefaultResourceProcessor(ConfigResourceService configResourceService) {}
-
- @Override
- public Boolean preCondition(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- return Boolean.TRUE;
- }
-
- @Override
- public void preProcess(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- // Auto-generated method stub
- }
-
- @Override
- public void process(Map<String, String> inParams, SvcLogicContext ctx) throws SvcLogicException {
- // Auto-generated method stub
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public void process(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- try {
- List<ResourceAssignment> batchResourceAssignment =
- (List<ResourceAssignment>) componentContext.get(ConfigModelConstant.PROPERTY_RESOURCE_ASSIGNMENTS);
-
- if (batchResourceAssignment != null && !batchResourceAssignment.isEmpty()) {
- for (ResourceAssignment resourceAssignment : batchResourceAssignment) {
- processResourceAssignment(ctx, componentContext, resourceAssignment);
- }
- }
- } catch (Exception e) {
- throw new SvcLogicException(String.format("DefaultResourceProcessor Exception : (%s)", e), e);
- }
-
- }
-
- private void processResourceAssignment(SvcLogicContext ctx, Map<String, Object> componentContext,
- ResourceAssignment resourceAssignment) throws ConfigModelException, SvcLogicException {
- if (resourceAssignment != null && StringUtils.isNotBlank(resourceAssignment.getName())
- && resourceAssignment.getProperty() != null) {
- try {
- // Check if It has Input
- Object value = ConfigAssignmentUtils.getContextKeyValue(ctx, resourceAssignment.getName());
- if (value == null) {
- value = resourceAssignment.getProperty().getDefaultValue();
- }
-
- // if value is null don't call setResourceDataValue to populate the value
- if (value != null) {
- ResourceAssignmentUtils.setResourceDataValue(componentContext, resourceAssignment, value);
- }
-
- // Check the value has populated for mandatory case
- ResourceAssignmentUtils.assertTemplateKeyValueNotNull(componentContext, resourceAssignment);
- } catch (Exception e) {
- ResourceAssignmentUtils.setFailedResourceDataValue(componentContext, resourceAssignment,
- e.getMessage());
- throw new SvcLogicException(
- String.format("Failed in template key (%s) assignments with : (%s)", resourceAssignment, e), e);
- }
- }
- }
-
- @Override
- public void postProcess(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- // Auto-generated method stub
-
- }
-
-}
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/InputResourceProcessor.java b/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/InputResourceProcessor.java
deleted file mode 100644
index 6c73b08de..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/InputResourceProcessor.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.ccsdk.features.assignment.processor;
-
-import java.util.List;
-import java.util.Map;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.ccsdk.features.data.adaptor.service.ConfigResourceService;
-import org.onap.ccsdk.features.model.ConfigModelConstant;
-import org.onap.ccsdk.features.model.ConfigModelException;
-import org.onap.ccsdk.features.model.data.ResourceAssignment;
-import org.onap.ccsdk.features.model.service.ComponentNode;
-import org.onap.ccsdk.features.model.utils.ResourceAssignmentUtils;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-
-public class InputResourceProcessor implements ComponentNode {
-
- public InputResourceProcessor(ConfigResourceService configResourceService) {}
-
- @Override
- public Boolean preCondition(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- return Boolean.TRUE;
- }
-
- @Override
- public void preProcess(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- // Auto-generated method stub
- }
-
- @Override
- public void process(Map<String, String> inParams, SvcLogicContext ctx) throws SvcLogicException {
- // Auto-generated method stub
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public void process(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- try {
- List<ResourceAssignment> batchResourceAssignment =
- (List<ResourceAssignment>) componentContext.get(ConfigModelConstant.PROPERTY_RESOURCE_ASSIGNMENTS);
- if (batchResourceAssignment != null && !batchResourceAssignment.isEmpty()) {
- for (ResourceAssignment resourceAssignment : batchResourceAssignment) {
- processResourceAssignment(ctx, componentContext, resourceAssignment);
- }
- }
- } catch (Exception e) {
- throw new SvcLogicException(String.format("InputResourceProcessor Exception : (%s)", e), e);
- }
- }
-
- private void processResourceAssignment(SvcLogicContext ctx, Map<String, Object> componentContext,
- ResourceAssignment resourceAssignment) throws ConfigModelException, SvcLogicException {
- try {
- if (StringUtils.isNotBlank(resourceAssignment.getName())) {
- String value = ctx.getAttribute(resourceAssignment.getName());
- // if value is null don't call setResourceDataValue to populate the value
- if (StringUtils.isNotBlank(value)) {
- ResourceAssignmentUtils.setResourceDataValue(componentContext, resourceAssignment, value);
- }
- }
-
- // Check the value has populated for mandatory case
- ResourceAssignmentUtils.assertTemplateKeyValueNotNull(componentContext, resourceAssignment);
- } catch (Exception e) {
- ResourceAssignmentUtils.setFailedResourceDataValue(componentContext, resourceAssignment, e.getMessage());
- throw new SvcLogicException(
- String.format("Failed in template key (%s) assignments with : (%s)", resourceAssignment, e), e);
- }
- }
-
- @Override
- public void postProcess(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- // Auto-generated method stub
- }
-
-}
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/MdsalResourceProcessor.java b/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/MdsalResourceProcessor.java
deleted file mode 100644
index dfc041cee..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/MdsalResourceProcessor.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.ccsdk.features.assignment.processor;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.ccsdk.features.assignment.service.ConfigAssignmentUtils;
-import org.onap.ccsdk.features.model.ConfigModelConstant;
-import org.onap.ccsdk.features.model.ConfigModelException;
-import org.onap.ccsdk.features.model.data.ResourceAssignment;
-import org.onap.ccsdk.features.model.data.dict.ResourceDefinition;
-import org.onap.ccsdk.features.model.data.dict.SourcesDefinition;
-import org.onap.ccsdk.features.model.service.ComponentNode;
-import org.onap.ccsdk.features.model.utils.ResourceAssignmentUtils;
-import org.onap.ccsdk.features.model.utils.TransformationUtils;
-import org.onap.ccsdk.features.rest.adaptor.ConfigRestAdaptorConstants;
-import org.onap.ccsdk.features.rest.adaptor.service.ConfigRestAdaptorService;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.fasterxml.jackson.databind.JsonNode;
-
-public class MdsalResourceProcessor implements ComponentNode {
-
- private static EELFLogger logger = EELFManager.getInstance().getLogger(MdsalResourceProcessor.class);
- private ConfigRestAdaptorService configRestAdaptorService;
- private Map<String, ResourceDefinition> dictionaries;
-
- public MdsalResourceProcessor(ConfigRestAdaptorService configRestAdaptorService) {
- this.configRestAdaptorService = configRestAdaptorService;
- }
-
- @Override
- public Boolean preCondition(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- return Boolean.TRUE;
- }
-
- @Override
- public void preProcess(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- // Auto-generated method stub
- }
-
- @Override
- public void process(Map<String, String> inParams, SvcLogicContext ctx) throws SvcLogicException {
- // Auto-generated method stub
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public void process(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- try {
- List<ResourceAssignment> batchResourceAssignment =
- (List<ResourceAssignment>) componentContext.get(ConfigModelConstant.PROPERTY_RESOURCE_ASSIGNMENTS);
- dictionaries =
- (Map<String, ResourceDefinition>) componentContext.get(ConfigModelConstant.PROPERTY_DICTIONARIES);
-
- if (CollectionUtils.isNotEmpty(batchResourceAssignment)) {
- for (ResourceAssignment resourceAssignment : batchResourceAssignment) {
- processResourceAssignmnet(ctx, componentContext, resourceAssignment);
- }
- }
- } catch (Exception e) {
- throw new SvcLogicException(String.format("MdsalResourceProcessor Exception : (%s) ", e), e);
- }
- }
-
- private void processResourceAssignmnet(SvcLogicContext ctx, Map<String, Object> componentContext,
- ResourceAssignment resourceAssignment) throws ConfigModelException, SvcLogicException {
-
- try {
- // Validating Resource Assignment and Dictionary Definition data
- validate(resourceAssignment);
-
- // Check if It has Input
- Object value = ConfigAssignmentUtils.getContextKeyValue(ctx, resourceAssignment.getName());
- if (value != null) {
- logger.info("mdsal source template key ({}) found from input and value is ({})",
- resourceAssignment.getName(), value);
- ResourceAssignmentUtils.setResourceDataValue(componentContext, resourceAssignment, value);
- return;
- }
-
- ResourceDefinition resourceDefinition = dictionaries.get(resourceAssignment.getDictionaryName());
- SourcesDefinition sourceMdsal = resourceDefinition.getSources().get("mdsal");
- String urlPath = sourceMdsal.getProperties().getUrlPath();
- String path = sourceMdsal.getProperties().getPath();
- Map<String, String> inputKeyMapping = sourceMdsal.getProperties().getInputKeyMapping();
- Map<String, String> outputKeyMapping = sourceMdsal.getProperties().getOutputKeyMapping();
-
- logger.info(
- "mdsal dictionary information : urlpath ({}), path({}), inputKeyMapping ({}), outputKeyMapping ({})",
- urlPath, path, inputKeyMapping, outputKeyMapping);
-
- // Resolving url Variables
- Map<String, Object> urlVariables = populateUrlVariables(inputKeyMapping, componentContext);
- for (Map.Entry<String, Object> entry : urlVariables.entrySet()) {
- urlPath = urlPath.replaceAll("\\$" + entry.getKey(), entry.getValue().toString());
- }
-
- String restResponse = fetchResourceFromMDSAL(urlPath);
- // if restResponse is null don't call processMdsalResults to populate the value
- if (StringUtils.isNotBlank(restResponse)) {
- // Processing MDSAL Response
- processMdsalResults(ctx, componentContext, resourceAssignment, sourceMdsal, restResponse);
- } else {
- logger.warn("Coudn't get proper mdsal Response content ({}) for Resource Name ({}) for URI ({})",
- restResponse, resourceAssignment.getDictionaryName(), urlPath);
- }
-
- // Check the value has populated for mandatory case
- ResourceAssignmentUtils.assertTemplateKeyValueNotNull(componentContext, resourceAssignment);
- } catch (Exception e) {
- ResourceAssignmentUtils.setFailedResourceDataValue(componentContext, resourceAssignment, e.getMessage());
- throw new SvcLogicException(
- String.format("Failed in assignments for (%s) with (%s)", resourceAssignment, e), e);
- }
- }
-
- private String fetchResourceFromMDSAL(String urlPath) {
- String response = null;
- try {
- response = configRestAdaptorService.getResource(ConfigRestAdaptorConstants.SELECTOR_RESTCONF, urlPath,
- String.class);
- } catch (Exception e) {
- logger.warn("Fetching MDSAL data for URL ({}) failed with Error ({})", urlPath, e);
- }
- return response;
- }
-
- private void validate(ResourceAssignment resourceAssignment) throws SvcLogicException {
- if (resourceAssignment == null) {
- throw new SvcLogicException("resource assignment is not defined");
- }
-
- if (StringUtils.isBlank(resourceAssignment.getName())) {
- throw new SvcLogicException("resource assignment template key is not defined");
- }
-
- if (StringUtils.isBlank(resourceAssignment.getDictionaryName())) {
- throw new SvcLogicException(
- String.format("resource assignment dictionary name is not defined for template key (%s)",
- resourceAssignment.getName()));
- }
-
- if (!ConfigModelConstant.SOURCE_MDSAL.equalsIgnoreCase(resourceAssignment.getDictionarySource())) {
- throw new SvcLogicException(String.format("resource assignment source is not mdsal, it is (%s)",
- resourceAssignment.getDictionarySource()));
- }
-
- ResourceDefinition resourceDefinition = dictionaries.get(resourceAssignment.getDictionaryName());
- if (resourceDefinition == null) {
- throw new SvcLogicException(String.format("missing resource dictionary definition for name (%s) ",
- resourceAssignment.getDictionaryName()));
- }
-
- if (StringUtils.isBlank(resourceDefinition.getProperty().getType())) {
- throw new SvcLogicException(String.format(String.format("Failed to get dictionary (%s) data type info.",
- resourceAssignment.getDictionaryName())));
- }
-
- if (resourceDefinition.getSources() == null || resourceDefinition.getSources().get("mdsal") == null) {
- throw new SvcLogicException(
- String.format("missing resource dictionary mdsal source definition for name (%s) ",
- resourceAssignment.getDictionaryName()));
- }
-
- SourcesDefinition sourceMdsal = resourceDefinition.getSources().get("mdsal");
- if (StringUtils.isBlank(sourceMdsal.getProperties().getUrlPath())) {
- throw new SvcLogicException(String.format("Failed to get request URL Path for dictionary (%s)",
- resourceAssignment.getDictionaryName()));
- }
-
- if (StringUtils.isBlank(sourceMdsal.getProperties().getPath())) {
- throw new SvcLogicException(String.format("Failed to get request Path for dictionary (%s)",
- resourceAssignment.getDictionaryName()));
- }
- }
-
- private Map<String, Object> populateUrlVariables(Map<String, String> inputKeyMapping,
- Map<String, Object> componentContext) {
- Map<String, Object> urlVariables = new HashMap<>();
- if (MapUtils.isNotEmpty(inputKeyMapping)) {
-
- for (Map.Entry<String, String> mapping : inputKeyMapping.entrySet()) {
- ResourceDefinition referenceDictionaryDefinition = dictionaries.get(mapping.getValue());
- Object expressionValue =
- ResourceAssignmentUtils.getDictionaryKeyValue(componentContext, referenceDictionaryDefinition);
- logger.trace("Reference dictionary key ({}), value ({})", mapping.getKey(), expressionValue);
- urlVariables.put(mapping.getKey(), expressionValue);
- }
- }
- return urlVariables;
- }
-
- private void processMdsalResults(SvcLogicContext ctx, Map<String, Object> componentContext,
- ResourceAssignment resourceAssignment, SourcesDefinition sourceMdsal, String restResponse)
- throws SvcLogicException, ConfigModelException {
-
- Map<String, String> outputKeyMapping = sourceMdsal.getProperties().getOutputKeyMapping();
- JsonNode responseNode = TransformationUtils.getJsonNodeForString(restResponse);
- if (StringUtils.isNotBlank(sourceMdsal.getProperties().getPath())) {
- responseNode = responseNode.at(sourceMdsal.getProperties().getPath());
- }
- if (responseNode != null) {
- ConfigAssignmentUtils.populateValueForOutputMapping(ctx, componentContext, resourceAssignment,
- outputKeyMapping, responseNode);
- }
- }
-
- @Override
- public void postProcess(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- // Do Nothing
- }
-
-}
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/ProcessorFactory.java b/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/ProcessorFactory.java
deleted file mode 100644
index bb620a1a3..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/ProcessorFactory.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.ccsdk.features.assignment.processor;
-
-import org.onap.ccsdk.features.data.adaptor.service.ConfigResourceService;
-import org.onap.ccsdk.features.model.ConfigModelConstant;
-import org.onap.ccsdk.features.model.service.ComponentNode;
-import org.onap.ccsdk.features.model.service.ComponentNodeService;
-import org.onap.ccsdk.features.rest.adaptor.service.ConfigRestAdaptorService;
-
-public class ProcessorFactory {
-
- private ConfigResourceService configResourceService;
- private ConfigRestAdaptorService configRestAdaptorService;
- private ComponentNodeService componentNodeService;
-
- public ProcessorFactory(ConfigResourceService configResourceService,
- ConfigRestAdaptorService configRestAdaptorService, ComponentNodeService componentNodeService) {
- this.componentNodeService = componentNodeService;
- this.configResourceService = configResourceService;
- this.configRestAdaptorService = configRestAdaptorService;
- }
-
- public ComponentNode getInstance(String source) {
-
- if (ConfigModelConstant.SOURCE_DEFAULT.equalsIgnoreCase(source)) {
- return new DefaultResourceProcessor(configResourceService);
- } else if (ConfigModelConstant.SOURCE_DB.equalsIgnoreCase(source)) {
- return new DBResourceProcessor(configResourceService);
- } else if (ConfigModelConstant.SOURCE_MDSAL.equalsIgnoreCase(source)) {
- return new MdsalResourceProcessor(configRestAdaptorService);
- }
- // Default
- return new InputResourceProcessor(configResourceService);
- }
-
-}
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/ResourceAssignmentProcessor.java b/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/ResourceAssignmentProcessor.java
deleted file mode 100644
index 3ee49f085..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/processor/ResourceAssignmentProcessor.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.ccsdk.features.assignment.processor;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.commons.collections.CollectionUtils;
-import org.onap.ccsdk.features.model.data.ResourceAssignment;
-import org.onap.ccsdk.features.model.utils.TopologicalSortingUtils;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-
-public class ResourceAssignmentProcessor {
- private static EELFLogger logger = EELFManager.getInstance().getLogger(ResourceAssignmentProcessor.class);
-
- private List<ResourceAssignment> assignments;
- private Map<String, ResourceAssignment> resourceAssignmentMap;
-
- @SuppressWarnings("squid:S1172")
- public ResourceAssignmentProcessor(List<ResourceAssignment> assignments, SvcLogicContext ctx) {
- this.assignments = assignments;
- this.resourceAssignmentMap = new HashMap<>();
- }
-
- @SuppressWarnings("squid:S3776")
- public List<List<ResourceAssignment>> process() {
- List<List<ResourceAssignment>> sequenceBatchResourceAssignment = new ArrayList<>();
- if (this.assignments != null) {
- logger.info("Assignments ({})", this.assignments);
- this.assignments.forEach(resourceMapping -> {
- if (resourceMapping != null) {
- logger.trace("Processing Key ({})", resourceMapping.getName());
- resourceAssignmentMap.put(resourceMapping.getName(), resourceMapping);
- }
- });
-
- TopologicalSortingUtils<ResourceAssignment> topologySorting = new TopologicalSortingUtils<>();
- this.resourceAssignmentMap.forEach((mappingKey, mapping) -> {
- if (mapping != null) {
- if (mapping.getDependencies() != null && !mapping.getDependencies().isEmpty()) {
- for (String dependency : mapping.getDependencies()) {
- topologySorting.add(resourceAssignmentMap.get(dependency), mapping);
- }
- } else {
- topologySorting.add(null, mapping);
- }
- }
- });
-
- List<ResourceAssignment> sequencedResourceAssignments = topologySorting.topSort();
- logger.info("Sorted Sequenced Assignments ({})", sequencedResourceAssignments);
-
- List<ResourceAssignment> batchResourceAssignment = null;
- List<String> batchAssignmentName = null;
- for (int i = 0; i < sequencedResourceAssignments.size(); i++) {
- ResourceAssignment resourceAssignment = sequencedResourceAssignments.get(i);
- ResourceAssignment previousResourceAssignment = null;
-
- if (i > 0) {
- previousResourceAssignment = sequencedResourceAssignments.get(i - 1);
- }
- if (resourceAssignment != null) {
-
- boolean dependencyPresence = false;
- if (batchAssignmentName != null && resourceAssignment.getDependencies() != null) {
- dependencyPresence =
- CollectionUtils.containsAny(batchAssignmentName, resourceAssignment.getDependencies());
- }
-
- logger.trace("({}) -> Checking ({}), with ({}), result ({})", resourceAssignment.getName(),
- batchAssignmentName, resourceAssignment.getDependencies(), dependencyPresence);
-
- if (previousResourceAssignment != null && resourceAssignment.getDictionarySource() != null
- && resourceAssignment.getDictionarySource()
- .equalsIgnoreCase(previousResourceAssignment.getDictionarySource())
- && !dependencyPresence) {
- batchResourceAssignment.add(resourceAssignment);
- batchAssignmentName.add(resourceAssignment.getName());
- } else {
- if (batchResourceAssignment != null) {
- sequenceBatchResourceAssignment.add(batchResourceAssignment);
- logger.trace("Created old Set ({})", batchAssignmentName);
- }
- batchResourceAssignment = new ArrayList<>();
- batchResourceAssignment.add(resourceAssignment);
-
- batchAssignmentName = new ArrayList<>();
- batchAssignmentName.add(resourceAssignment.getName());
- }
- }
-
- if (i == (sequencedResourceAssignments.size() - 1)) {
- logger.trace("Created old Set ({})", batchAssignmentName);
- sequenceBatchResourceAssignment.add(batchResourceAssignment);
- }
- }
- logger.info("Batched Sequence : ({})", sequenceBatchResourceAssignment);
- }
- return sequenceBatchResourceAssignment;
- }
-
-}
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentNode.java b/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentNode.java
deleted file mode 100644
index aaeadcabd..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentNode.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.ccsdk.features.assignment.service;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.ccsdk.features.assignment.ConfigAssignmentConstants;
-import org.onap.ccsdk.features.assignment.data.ResourceAssignmentData;
-import org.onap.ccsdk.features.data.adaptor.service.ConfigResourceService;
-import org.onap.ccsdk.features.generator.service.ConfigGeneratorService;
-import org.onap.ccsdk.features.model.ConfigModelConstant;
-import org.onap.ccsdk.features.model.service.ComponentNode;
-import org.onap.ccsdk.features.model.service.ComponentNodeService;
-import org.onap.ccsdk.features.model.service.ConfigModelService;
-import org.onap.ccsdk.features.model.utils.TransformationUtils;
-import org.onap.ccsdk.features.rest.adaptor.service.ConfigRestAdaptorService;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-
-public class ConfigAssignmentNode implements ComponentNode {
- private static EELFLogger logger = EELFManager.getInstance().getLogger(ConfigAssignmentNode.class);
-
- private ComponentNodeService componentNodeService;
- private ConfigResourceService configResourceService;
- private ConfigModelService configModelService;
- private ConfigRestAdaptorService configRestAdaptorService;
- private ConfigGeneratorService configGeneratorService;
-
- public ConfigAssignmentNode(ConfigResourceService configResourceService,
- ConfigRestAdaptorService configRestAdaptorService, ConfigModelService configModelService,
- ComponentNodeService componentNodeService, ConfigGeneratorService configGeneratorService) {
- logger.info("{} Constrctor Initiated", "ConfigAssignmentNode");
- this.componentNodeService = componentNodeService;
- this.configResourceService = configResourceService;
- this.configModelService = configModelService;
- this.configRestAdaptorService = configRestAdaptorService;
- this.configGeneratorService = configGeneratorService;
- }
-
- @Override
- public Boolean preCondition(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- return Boolean.TRUE;
- }
-
- @Override
- public void preProcess(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- // Auto-generated method stub
- }
-
- /**
- * This method is used to resolve the resources defined in the template. Generic Resource API DG
- * calls this execute node.
- *
- * @param inParams This is the input parameter to process this node
- *
- * <pre>
- request-id (string): Tracking Id
- resource-type (string): Resource Type ( ex : vnf-type)
- resource-id (string): Resource Id
- service-template-name (string): Blueprint Name
- service-template-version (string): Blueprint Version
- action-name (string):
- template-names (List of string): Template Names / Artifact Node Names to resolve. ["template1", "template2"]
- input-data (string): Input Data in JSON String, for the substitution in the Template.
- prifix (string): Return Value selector
- * </pre>
- *
- * @param ctx This is the service logger context, Output will be stored (
- * <responsePrefix>.resource-assignment-params.<template-name> : Output Data in JSON String.
- * <responsePrefix>.status <responsePrefix>.error-message )
- * @throws SvcLogicException On processing error.
- */
-
- @Override
- public void process(Map<String, String> inParams, SvcLogicContext ctx) throws SvcLogicException {
-
- final String responsePrefix = StringUtils.isNotBlank(inParams.get(ConfigModelConstant.PROPERTY_SELECTOR))
- ? (inParams.get(ConfigModelConstant.PROPERTY_SELECTOR) + ".")
- : "";
- try {
-
- ResourceAssignmentData resourceAssignmentData = populateResourceData(inParams);
- resourceAssignmentData.setSvcLogicContext(ctx);
- Map<String, Object> componentContext = new HashMap<>();
- resourceAssignmentData.setContext(componentContext);
- resourceAssignmentData.setReloadModel(true);
-
- ConfigAssignmentProcessService configAssignmentProcessService =
- new ConfigAssignmentProcessService(configResourceService, configRestAdaptorService,
- configModelService, componentNodeService, configGeneratorService);
- configAssignmentProcessService.resolveResources(resourceAssignmentData);
-
- if (MapUtils.isNotEmpty(resourceAssignmentData.getTemplatesMashedContents())) {
- resourceAssignmentData.getTemplatesMashedContents().forEach((templateName, previewContent) -> {
- logger.debug("For Template name : ({}),\n Preview Content is : ({})", templateName, previewContent);
- ctx.setAttribute(
- responsePrefix + ConfigAssignmentConstants.OUTPUT_PARAM_MASHED_DATA + "." + templateName,
- previewContent);
- });
- }
- ctx.setAttribute(responsePrefix + ConfigAssignmentConstants.OUTPUT_PARAM_STATUS,
- ConfigAssignmentConstants.OUTPUT_STATUS_SUCCESS);
- } catch (Exception e) {
- ctx.setAttribute(responsePrefix + ConfigAssignmentConstants.OUTPUT_PARAM_STATUS,
- ConfigAssignmentConstants.OUTPUT_STATUS_FAILURE);
- ctx.setAttribute(responsePrefix + ConfigAssignmentConstants.OUTPUT_PARAM_ERROR_MESSAGE, e.getMessage());
- throw new SvcLogicException(e.getMessage(), e);
- }
- }
-
- @Override
- public void process(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
-
- final String responsePrefix = StringUtils.isNotBlank(inParams.get(ConfigModelConstant.PROPERTY_SELECTOR))
- ? (inParams.get(ConfigModelConstant.PROPERTY_SELECTOR) + ".")
- : "";
- try {
-
- ResourceAssignmentData resourceAssignmentData = populateResourceData(inParams);
- resourceAssignmentData.setSvcLogicContext(ctx);
- resourceAssignmentData.setContext(componentContext);
- resourceAssignmentData.setReloadModel(false);
-
- ConfigAssignmentProcessService configAssignmentProcessService =
- new ConfigAssignmentProcessService(configResourceService, configRestAdaptorService,
- configModelService, componentNodeService, configGeneratorService);
- configAssignmentProcessService.resolveResources(resourceAssignmentData);
- ctx.setAttribute(responsePrefix + ConfigAssignmentConstants.OUTPUT_PARAM_STATUS,
- ConfigAssignmentConstants.OUTPUT_STATUS_SUCCESS);
-
- } catch (Exception e) {
- ctx.setAttribute(responsePrefix + ConfigAssignmentConstants.OUTPUT_PARAM_STATUS,
- ConfigAssignmentConstants.OUTPUT_STATUS_FAILURE);
- ctx.setAttribute(responsePrefix + ConfigAssignmentConstants.OUTPUT_PARAM_ERROR_MESSAGE, e.getMessage());
- throw new SvcLogicException(e.getMessage(), e);
- }
- }
-
- @Override
- public void postProcess(Map<String, String> inParams, SvcLogicContext ctx, Map<String, Object> componentContext)
- throws SvcLogicException {
- // Do Nothing
- }
-
- private ResourceAssignmentData populateResourceData(Map<String, String> inParams) throws SvcLogicException {
- validateInputParams(inParams);
-
- String requestId = inParams.get(ConfigAssignmentConstants.INPUT_PARAM_REQUEST_ID);
- String resourceId = inParams.get(ConfigAssignmentConstants.INPUT_PARAM_RESOURCE_ID);
- String resourceType = inParams.get(ConfigAssignmentConstants.INPUT_PARAM_RESOURCE_TYPE);
- String serviceTemplateName = inParams.get(ConfigModelConstant.SERVICE_TEMPLATE_KEY_ARTIFACT_NAME);
- String serviceTemplateVersion = inParams.get(ConfigModelConstant.SERVICE_TEMPLATE_KEY_ARTIFACT_VERSION);
- String actionName = inParams.get(ConfigModelConstant.PROPERTY_ACTION_NAME);
- String inputData = inParams.get(ConfigAssignmentConstants.INPUT_PARAM_INPUT_DATA);
-
- String templateNamesStr = inParams.get(ConfigAssignmentConstants.INPUT_PARAM_TEMPLATE_NAMES);
- List<String> templateNames = TransformationUtils.getListfromJson(templateNamesStr, String.class);
-
- ResourceAssignmentData resourceAssignmentData = new ResourceAssignmentData();
- resourceAssignmentData.setRequestId(requestId);
- resourceAssignmentData.setResourceId(resourceId);
- resourceAssignmentData.setResourceType(resourceType);
- resourceAssignmentData.setServiceTemplateName(serviceTemplateName);
- resourceAssignmentData.setServiceTemplateVersion(serviceTemplateVersion);
- resourceAssignmentData.setActionName(actionName);
- resourceAssignmentData.setInputData(inputData);
- resourceAssignmentData.setTemplateNames(templateNames);
-
- return resourceAssignmentData;
- }
-
- private void validateInputParams(Map<String, String> inParams) throws SvcLogicException {
- if (inParams == null) {
- throw new SvcLogicException("Input parameters missing");
- }
-
- String requestId = inParams.get(ConfigAssignmentConstants.INPUT_PARAM_REQUEST_ID);
- if (StringUtils.isBlank(requestId)) {
- throw new SvcLogicException("Request id parameters missing");
- }
- String resourceId = inParams.get(ConfigAssignmentConstants.INPUT_PARAM_RESOURCE_ID);
- if (StringUtils.isBlank(resourceId)) {
- throw new SvcLogicException("Resource id parameter is missing");
- }
- String resourceType = inParams.get(ConfigAssignmentConstants.INPUT_PARAM_RESOURCE_TYPE);
- if (StringUtils.isBlank(resourceType)) {
- throw new SvcLogicException("Resource type parameter is missing");
- }
- String recipeName = inParams.get(ConfigAssignmentConstants.INPUT_PARAM_ACTION_NAME);
- if (StringUtils.isBlank(recipeName)) {
- throw new SvcLogicException("Action name is parameter is missing");
- }
- String templateNames = inParams.get(ConfigAssignmentConstants.INPUT_PARAM_TEMPLATE_NAMES);
- if (StringUtils.isBlank(templateNames)) {
- throw new SvcLogicException("Template names parameter missing");
- }
- String serviceTemplateName = inParams.get(ConfigModelConstant.SERVICE_TEMPLATE_KEY_ARTIFACT_NAME);
- if (StringUtils.isBlank(serviceTemplateName)) {
- throw new SvcLogicException("Service Template name parameter missing");
- }
- String serviceTemplateVersion = inParams.get(ConfigModelConstant.SERVICE_TEMPLATE_KEY_ARTIFACT_VERSION);
- if (StringUtils.isBlank(serviceTemplateVersion)) {
- throw new SvcLogicException("Service Template version parameter missing");
- }
-
- }
-
-}
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentPersistService.java b/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentPersistService.java
deleted file mode 100644
index 44ddf5382..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentPersistService.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.ccsdk.features.assignment.service;
-
-import java.util.List;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.ccsdk.features.data.adaptor.DataAdaptorConstants;
-import org.onap.ccsdk.features.data.adaptor.domain.ConfigResource;
-import org.onap.ccsdk.features.data.adaptor.domain.ResourceAssignmentData;
-import org.onap.ccsdk.features.data.adaptor.domain.TransactionLog;
-import org.onap.ccsdk.features.data.adaptor.service.ConfigResourceService;
-import org.onap.ccsdk.features.model.ConfigModelConstant;
-import org.onap.ccsdk.features.model.data.ResourceAssignment;
-import org.onap.ccsdk.features.model.utils.ResourceAssignmentUtils;
-import org.onap.ccsdk.features.model.utils.TransformationUtils;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-
-public class ConfigAssignmentPersistService {
-
- private static EELFLogger logger = EELFManager.getInstance().getLogger(ConfigAssignmentPersistService.class);
-
- private ConfigResourceService configResourceService;
-
- public ConfigAssignmentPersistService(ConfigResourceService configResourceService) {
- this.configResourceService = configResourceService;
- }
-
- public void saveResourceMapping(
- org.onap.ccsdk.features.assignment.data.ResourceAssignmentData resourceAssignmentData, String templateName,
- List<ResourceAssignment> resourceAssignments) throws SvcLogicException {
- try {
-
- if (resourceAssignmentData == null) {
- throw new SvcLogicException("Resource assignment data is missing");
- }
-
- if (StringUtils.isBlank(resourceAssignmentData.getRequestId())) {
- logger.warn("Request Id ({}) is missing, may be getting request for resource update.",
- resourceAssignmentData.getRequestId());
- }
-
- if (StringUtils.isBlank(resourceAssignmentData.getResourceId())) {
- throw new SvcLogicException("Resource Id is missing");
- }
-
- if (StringUtils.isBlank(resourceAssignmentData.getResourceType())) {
- throw new SvcLogicException("Resource type is missing");
- }
-
- if (StringUtils.isBlank(resourceAssignmentData.getActionName())) {
- throw new SvcLogicException("Action name is missing");
- }
-
- if (StringUtils.isBlank(templateName)) {
- throw new SvcLogicException("template name is missing");
- }
-
- StringBuilder builder = new StringBuilder();
- builder.append("Resource Assignment for Template Name :");
- builder.append(templateName);
- builder.append("\n");
- builder.append(TransformationUtils.getJson(resourceAssignments, true));
-
- configResourceService.save(new TransactionLog(resourceAssignmentData.getRequestId(),
- DataAdaptorConstants.LOG_MESSAGE_TYPE_LOG, builder.toString()));
-
- // Resource Data should be Regenerated based on the new Updates
- String resourceData = ResourceAssignmentUtils.generateResourceDataForAssignments(resourceAssignments);
-
- List<ResourceAssignmentData> resourceAssignmentDataList =
- ConfigAssignmentUtils.convertResoureAssignmentList(resourceAssignments);
-
- ConfigResource configResource = new ConfigResource();
- configResource.setRequestId(resourceAssignmentData.getRequestId());
- configResource.setServiceTemplateName(resourceAssignmentData.getServiceTemplateName());
- configResource.setServiceTemplateVersion(resourceAssignmentData.getServiceTemplateVersion());
- configResource.setRecipeName(resourceAssignmentData.getActionName());
- configResource.setResourceId(resourceAssignmentData.getResourceId());
- configResource.setResourceType(resourceAssignmentData.getResourceType());
- configResource.setResourceData(resourceData);
- configResource.setTemplateName(templateName);
- configResource.setStatus(ConfigModelConstant.STATUS_SUCCESS);
- configResource.setUpdatedBy(ConfigModelConstant.USER_SYSTEM);
-
- if (CollectionUtils.isNotEmpty(resourceAssignmentDataList)) {
- configResource.setResourceAssignments(resourceAssignmentDataList);
- }
- configResource = configResourceService.saveConfigResource(configResource);
- logger.info("Resource data saved successfully for the template ({}) with resource id ({})", templateName,
- configResource.getResourceId());
-
- builder = new StringBuilder();
- builder.append("Resource Data Template Name :");
- builder.append(templateName);
- builder.append("\n");
- builder.append(resourceData);
- configResourceService.save(new TransactionLog(resourceAssignmentData.getRequestId(),
- DataAdaptorConstants.LOG_MESSAGE_TYPE_LOG, builder.toString()));
-
- } catch (Exception e) {
- throw new SvcLogicException("ConfigAssignmentPersistService : " + e.getMessage(), e);
- }
-
- }
-
-}
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentProcessService.java b/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentProcessService.java
deleted file mode 100644
index 61c035960..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentProcessService.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.ccsdk.features.assignment.service;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.ccsdk.features.assignment.ConfigAssignmentConstants;
-import org.onap.ccsdk.features.assignment.data.ResourceAssignmentData;
-import org.onap.ccsdk.features.assignment.processor.ProcessorFactory;
-import org.onap.ccsdk.features.assignment.processor.ResourceAssignmentProcessor;
-import org.onap.ccsdk.features.data.adaptor.service.ConfigResourceService;
-import org.onap.ccsdk.features.generator.service.ConfigGeneratorService;
-import org.onap.ccsdk.features.model.ConfigModelConstant;
-import org.onap.ccsdk.features.model.data.ResourceAssignment;
-import org.onap.ccsdk.features.model.data.dict.ResourceDefinition;
-import org.onap.ccsdk.features.model.service.ComponentNode;
-import org.onap.ccsdk.features.model.service.ComponentNodeService;
-import org.onap.ccsdk.features.model.service.ConfigModelService;
-import org.onap.ccsdk.features.model.utils.ResourceAssignmentUtils;
-import org.onap.ccsdk.features.model.utils.TransformationUtils;
-import org.onap.ccsdk.features.rest.adaptor.service.ConfigRestAdaptorService;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-
-public class ConfigAssignmentProcessService {
-
- private static EELFLogger logger = EELFManager.getInstance().getLogger(ConfigAssignmentProcessService.class);
-
- private ComponentNodeService componentNodeService;
- private ConfigResourceService configResourceService;
- private ConfigModelService configModelService;
- private ConfigRestAdaptorService configRestAdaptorService;
- private ConfigGeneratorService configGeneratorService;
-
- public ConfigAssignmentProcessService(ConfigResourceService configResourceService,
- ConfigRestAdaptorService configRestAdaptorService, ConfigModelService configModelService,
- ComponentNodeService componentNodeService, ConfigGeneratorService configGeneratorService) {
- this.componentNodeService = componentNodeService;
- this.configResourceService = configResourceService;
- this.configModelService = configModelService;
- this.configRestAdaptorService = configRestAdaptorService;
- this.configGeneratorService = configGeneratorService;
- }
-
- @SuppressWarnings("squid:S1141")
- public void resolveResources(ResourceAssignmentData resourceAssignmentData) throws SvcLogicException {
- try {
- validateInputParams(resourceAssignmentData);
-
- String serviceTemplateName = resourceAssignmentData.getServiceTemplateName();
- String serviceTemplateVersion = resourceAssignmentData.getServiceTemplateVersion();
- String actionName = resourceAssignmentData.getActionName();
- String inputData = resourceAssignmentData.getInputData();
- SvcLogicContext svcLogicContext = resourceAssignmentData.getSvcLogicContext();
- List<String> templateNames = resourceAssignmentData.getTemplateNames();
-
- if (resourceAssignmentData.isReloadModel()) {
- Map<String, String> context = new HashMap<>();
- context.put(ConfigModelConstant.PROPERTY_ACTION_NAME, actionName);
- context = configModelService.prepareContext(context, inputData, serviceTemplateName,
- serviceTemplateVersion);
- context.forEach((key, value) -> svcLogicContext.setAttribute(key, value));
- logger.info("List of Resources provided in input: {}", svcLogicContext.toProperties());
- }
-
- Map<String, Object> componentContext = resourceAssignmentData.getContext();
-
- if (CollectionUtils.isNotEmpty(templateNames)) {
- // Get the Resource Assignments for templates and Validate the mappings
- ResourceModelService resourceModelService = new ResourceModelService(configModelService);
-
- // Get the Resource Assignment
- Map<String, List<ResourceAssignment>> templatesResourceAssignments =
- resourceModelService.getTemplatesResourceAssignments(svcLogicContext, templateNames);
-
- // Get the Template Contents
- Map<String, String> templatesContents =
- resourceModelService.getTemplatesContents(svcLogicContext, templateNames);
-
- // Process each template
- for (String templateName : templateNames) {
- List<ResourceAssignment> resourceAssignments = templatesResourceAssignments.get(templateName);
- String templateContent = templatesContents.get(templateName);
- if (resourceAssignments != null) {
- String templateData = null;
- try {
- // Populate the Dictionary
- ResourceDictionaryService resourceDictionaryService =
- new ResourceDictionaryService(configRestAdaptorService);
- Map<String, ResourceDefinition> dictionaries =
- resourceDictionaryService.getDataDictionaryDefinitions(resourceAssignments);
-
- processResourceAssignments(resourceAssignmentData, svcLogicContext, componentContext,
- templateName, resourceAssignments, dictionaries);
-
- logger.info("decrypting config data for templateName {}", templateName);
- templateData =
- ResourceAssignmentUtils.generateResourceDataForAssignments(resourceAssignments);
- } finally {
- saveResourceMapping(resourceAssignmentData, templateName, resourceAssignments);
- }
-
- logger.info("generating config preview for templateName {}", templateName);
- ConfigPreviewService configPreviewService = new ConfigPreviewService(configResourceService,
- configModelService, configGeneratorService);
- String mashedData = configPreviewService.generatePreview(templateContent, templateData);
- resourceAssignmentData.getTemplatesMashedContents().put(templateName, mashedData);
- resourceAssignmentData.getTemplatesData().put(templateName, templateData);
-
- } else {
- // Do nothing for Mapping not found
- logger.warn("No resource Assignment mappings to resolve for templateName {}", templateName);
- }
- }
- }
-
- } catch (Exception e) {
- throw new SvcLogicException(e.getMessage(), e);
- }
- }
-
- private void processResourceAssignments(ResourceAssignmentData resourceAssignmentData, SvcLogicContext ctx,
- Map<String, Object> componentContext, String templateName, List<ResourceAssignment> resourceAssignments,
- Map<String, ResourceDefinition> dictionaries) throws SvcLogicException {
-
- String recipeName = resourceAssignmentData.getActionName();
-
- ResourceAssignmentProcessor resourceAssignmentProcessor =
- new ResourceAssignmentProcessor(resourceAssignments, ctx);
- List<List<ResourceAssignment>> sequenceBatchResourceAssignment = resourceAssignmentProcessor.process();
-
- logger.debug("Resource dictionary Info ({})", dictionaries);
-
- if (sequenceBatchResourceAssignment != null) {
- componentContext.put(ConfigModelConstant.PROPERTY_ACTION_NAME, recipeName);
- componentContext.put(ConfigModelConstant.PROPERTY_TEMPLATE_NAME, templateName);
- componentContext.put(ConfigModelConstant.PROPERTY_DICTIONARIES, dictionaries);
- for (List<ResourceAssignment> batchResourceAssignment : sequenceBatchResourceAssignment) {
-
- processBatchResourceAssignments(resourceAssignmentData, ctx, componentContext, batchResourceAssignment);
-
- logger.debug("Batch Resource data status ({})", TransformationUtils.getJson(batchResourceAssignment));
- }
- }
- }
-
- private void processBatchResourceAssignments(ResourceAssignmentData resourceAssignmentData, SvcLogicContext ctx,
- Map<String, Object> componentContext, List<ResourceAssignment> batchResourceAssignment)
- throws SvcLogicException {
-
- if (CollectionUtils.isNotEmpty(batchResourceAssignment)) {
-
- ResourceAssignment batchFirstResourceAssignment = batchResourceAssignment.get(0);
- if (batchFirstResourceAssignment != null
- && StringUtils.isNotBlank(batchFirstResourceAssignment.getDictionarySource())) {
- String source = batchFirstResourceAssignment.getDictionarySource();
- // Processing their Source
- logger.info("Processing source ({}) with batch ({}) ", source, batchResourceAssignment);
- componentContext.put(ConfigModelConstant.PROPERTY_RESOURCE_ASSIGNMENTS, batchResourceAssignment);
-
- ProcessorFactory factory =
- new ProcessorFactory(configResourceService, configRestAdaptorService, componentNodeService);
-
- ComponentNode processor = factory.getInstance(source);
-
- Map<String, String> inParams = new HashMap<>();
- inParams.put(ConfigAssignmentConstants.INPUT_PARAM_REQUEST_ID, resourceAssignmentData.getRequestId());
- inParams.put(ConfigAssignmentConstants.INPUT_PARAM_RESOURCE_ID, resourceAssignmentData.getResourceId());
- inParams.put(ConfigAssignmentConstants.INPUT_PARAM_RESOURCE_TYPE,
- resourceAssignmentData.getResourceType());
- inParams.put(ConfigAssignmentConstants.INPUT_PARAM_ACTION_NAME, resourceAssignmentData.getActionName());
- inParams.put(ConfigAssignmentConstants.INPUT_PARAM_TEMPLATE_NAMES,
- resourceAssignmentData.getTemplateNames().toString());
- processor.process(inParams, ctx, componentContext);
- }
- }
- }
-
- private void saveResourceMapping(ResourceAssignmentData resourceAssignmentData, String templateName,
- List<ResourceAssignment> resourceAssignments) throws SvcLogicException {
- if (resourceAssignmentData != null && StringUtils.isNotBlank(templateName)) {
-
- ConfigAssignmentPersistService configAssignmentPersistService =
- new ConfigAssignmentPersistService(configResourceService);
- configAssignmentPersistService.saveResourceMapping(resourceAssignmentData, templateName,
- resourceAssignments);
- }
- }
-
- private void validateInputParams(ResourceAssignmentData resourceAssignmentData) throws SvcLogicException {
- if (resourceAssignmentData == null) {
- throw new SvcLogicException("Input parameters missing");
- }
-
- String requestId = resourceAssignmentData.getRequestId();
- if (StringUtils.isBlank(requestId)) {
- throw new SvcLogicException("Request id parameters missing");
- }
- String resourceId = resourceAssignmentData.getResourceId();
- if (StringUtils.isBlank(resourceId)) {
- throw new SvcLogicException("Resource id parameter is missing");
- }
- String resourceType = resourceAssignmentData.getResourceType();
- if (StringUtils.isBlank(resourceType)) {
- throw new SvcLogicException("Resource type parameter is missing");
- }
- String actionName = resourceAssignmentData.getActionName();
- if (StringUtils.isBlank(actionName)) {
- throw new SvcLogicException("Action name is parameter is missing");
- }
-
- List<String> templatesNames = resourceAssignmentData.getTemplateNames();
- if (CollectionUtils.isEmpty(templatesNames)) {
- throw new SvcLogicException("Template names parameter missing");
- }
- }
-
-}
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentService.java b/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentService.java
deleted file mode 100644
index e3f32171d..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentService.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.ccsdk.features.assignment.service;
-
-import java.util.List;
-import org.onap.ccsdk.features.assignment.data.ResourceAssignmentData;
-import org.onap.ccsdk.features.model.data.ResourceAssignment;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-
-public interface ConfigAssignmentService {
-
- public void resolveResources(ResourceAssignmentData resourceAssignmentData) throws SvcLogicException;
-
- public void saveResourceMapping(ResourceAssignmentData resourceAssignmentData, String templateName,
- List<ResourceAssignment> resourceAssignments) throws SvcLogicException;
-
- public ResourceAssignmentData generateTemplateResourceMash(ResourceAssignmentData resourceAssignmentData)
- throws SvcLogicException;
-
-}
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentServiceImpl.java b/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentServiceImpl.java
deleted file mode 100644
index bb60a23a4..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentServiceImpl.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.ccsdk.features.assignment.service;
-
-import java.util.List;
-import org.onap.ccsdk.features.assignment.data.ResourceAssignmentData;
-import org.onap.ccsdk.features.data.adaptor.service.ConfigResourceService;
-import org.onap.ccsdk.features.generator.service.ConfigGeneratorService;
-import org.onap.ccsdk.features.model.data.ResourceAssignment;
-import org.onap.ccsdk.features.model.service.ComponentNodeService;
-import org.onap.ccsdk.features.model.service.ConfigModelService;
-import org.onap.ccsdk.features.rest.adaptor.service.ConfigRestAdaptorService;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-
-public class ConfigAssignmentServiceImpl implements ConfigAssignmentService {
-
- private static EELFLogger logger = EELFManager.getInstance().getLogger(ConfigAssignmentServiceImpl.class);
-
- private ComponentNodeService componentNodeService;
- private ConfigResourceService configResourceService;
- private ConfigModelService configModelService;
- private ConfigRestAdaptorService configRestAdaptorService;
- private ConfigGeneratorService configGeneratorService;
-
- private static final String CLASS_NAME = "ConfigAssignmentServiceImpl";
-
- public ConfigAssignmentServiceImpl(ConfigResourceService configResourceService,
- ConfigRestAdaptorService configRestAdaptorService, ConfigModelService configModelService,
- ComponentNodeService componentNodeService, ConfigGeneratorService configGeneratorService) {
- logger.info("{} Constuctor Initated...", CLASS_NAME);
- this.componentNodeService = componentNodeService;
- this.configResourceService = configResourceService;
- this.configModelService = configModelService;
- this.configRestAdaptorService = configRestAdaptorService;
- this.configGeneratorService = configGeneratorService;
- }
-
- @Override
- public void resolveResources(ResourceAssignmentData resourceAssignmentData) throws SvcLogicException {
- ConfigAssignmentProcessService configAssignmentProcessService =
- new ConfigAssignmentProcessService(configResourceService, configRestAdaptorService, configModelService,
- componentNodeService, configGeneratorService);
- configAssignmentProcessService.resolveResources(resourceAssignmentData);
- }
-
- @Override
- public void saveResourceMapping(ResourceAssignmentData resourceAssignmentData, String templateName,
- List<ResourceAssignment> resourceAssignments) throws SvcLogicException {
- ConfigAssignmentPersistService configAssignmentPersistService =
- new ConfigAssignmentPersistService(configResourceService);
- configAssignmentPersistService.saveResourceMapping(resourceAssignmentData, templateName, resourceAssignments);
- }
-
- @Override
- public ResourceAssignmentData generateTemplateResourceMash(ResourceAssignmentData resourceAssignmentData)
- throws SvcLogicException {
- ConfigPreviewService configPreviewService =
- new ConfigPreviewService(configResourceService, configModelService, configGeneratorService);
- return configPreviewService.generateTemplateResourceMash(resourceAssignmentData);
- }
-
-}
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentUtils.java b/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentUtils.java
deleted file mode 100644
index 15221ae64..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigAssignmentUtils.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.ccsdk.features.assignment.service;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.collections.IteratorUtils;
-import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.ccsdk.features.data.adaptor.domain.ResourceAssignmentData;
-import org.onap.ccsdk.features.model.ConfigModelConstant;
-import org.onap.ccsdk.features.model.ConfigModelException;
-import org.onap.ccsdk.features.model.ValidTypes;
-import org.onap.ccsdk.features.model.data.DataType;
-import org.onap.ccsdk.features.model.data.EntrySchema;
-import org.onap.ccsdk.features.model.data.PropertyDefinition;
-import org.onap.ccsdk.features.model.data.ResourceAssignment;
-import org.onap.ccsdk.features.model.data.dict.ResourceDefinition;
-import org.onap.ccsdk.features.model.domain.ResourceDictionary;
-import org.onap.ccsdk.features.model.utils.JsonUtils;
-import org.onap.ccsdk.features.model.utils.ResourceAssignmentUtils;
-import org.onap.ccsdk.features.model.utils.TransformationUtils;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-public class ConfigAssignmentUtils {
-
- private ConfigAssignmentUtils() {
-
- }
-
- private static EELFLogger logger = EELFManager.getInstance().getLogger(ConfigAssignmentUtils.class);
-
- public static synchronized Object getContextKeyValue(SvcLogicContext context, String key) {
- Object value = null;
- if (context != null && key != null && context.getAttributeKeySet().contains(key)) {
- String strValue = context.getAttribute(key);
- if (StringUtils.isNotBlank(strValue)) {
- value = strValue;
- }
- }
- return value;
- }
-
- /*
- * Populate the Field property type for the Data type
- */
- public static synchronized String getPropertyType(SvcLogicContext ctx, String dataTypeName, String propertyName)
- throws SvcLogicException {
- String type = ValidTypes.DATA_TYPE_STRING;
- try {
- if (ctx != null && StringUtils.isNotBlank(dataTypeName) && StringUtils.isNotBlank(propertyName)) {
- String dataTypeContent = ctx.getAttribute(ConfigModelConstant.PROPERTY_DATA_TYPES_DOT + dataTypeName);
- if (StringUtils.isNotBlank(dataTypeContent)) {
- DataType dataType = TransformationUtils.readValue(dataTypeContent, DataType.class);
- if (dataType != null && dataType.getProperties() != null
- && dataType.getProperties().containsKey(propertyName)) {
- PropertyDefinition propertyDefinition = dataType.getProperties().get(propertyName);
- if (StringUtils.isNotBlank(propertyDefinition.getType())) {
- type = propertyDefinition.getType();
- logger.trace("Data type({})'s property ({}) is ({})", dataTypeName, propertyName, type);
- } else {
- throw new SvcLogicException(String.format("Couldn't get data type (%s) ", dataTypeName));
- }
- }
- } else {
- throw new SvcLogicException(String.format("Couldn't get data type (%s) content", dataTypeName));
- }
- }
- } catch (Exception e) {
- logger.error("couldn't get data type({})'s property ({}), type ({}), error message ({}).", dataTypeName,
- propertyName, type, e.getMessage());
- throw new SvcLogicException(e.getMessage());
- }
- return type;
- }
-
- /*
- * Populate the Field property type for the Data type
- */
- public static synchronized PropertyDefinition getPropertyDefinition(SvcLogicContext ctx, String dataTypeName,
- String propertyName) throws SvcLogicException {
- PropertyDefinition propertyDefinition = null;
- try {
- if (ctx != null && StringUtils.isNotBlank(dataTypeName) && StringUtils.isNotBlank(propertyName)) {
- String dataTypeContent = ctx.getAttribute(ConfigModelConstant.PROPERTY_DATA_TYPES_DOT + dataTypeName);
- if (StringUtils.isNotBlank(dataTypeContent)) {
- DataType dataType = TransformationUtils.readValue(dataTypeContent, DataType.class);
- if (dataType != null && dataType.getProperties() != null
- && dataType.getProperties().containsKey(propertyName)) {
- propertyDefinition = dataType.getProperties().get(propertyName);
- if (propertyDefinition == null) {
- throw new SvcLogicException(String.format("couldn't get data type (%s) ", dataTypeName));
- }
- }
- } else {
- throw new SvcLogicException(String.format("couldn't get data type (%s) content.", dataTypeName));
- }
- }
- } catch (Exception e) {
- throw new SvcLogicException(e.getMessage());
- }
- return propertyDefinition;
- }
-
- public static synchronized ResourceDefinition getDictionaryDefinition(Map<String, ResourceDictionary> dictionaries,
- String dictionaryName) {
- ResourceDefinition resourceDefinition = null;
- if (dictionaries != null && StringUtils.isNotBlank(dictionaryName)) {
- ResourceDictionary resourceDictionary = dictionaries.get(dictionaryName);
- if (resourceDictionary != null && resourceDictionary.getDefinition() != null) {
- resourceDefinition =
- TransformationUtils.treeToValue(resourceDictionary.getDefinition(), ResourceDefinition.class);
- }
- }
- return resourceDefinition;
- }
-
- @SuppressWarnings("squid:S3776")
- public static synchronized void populateValueForOutputMapping(SvcLogicContext ctx,
- Map<String, Object> componentContext, ResourceAssignment resourceAssignment,
- Map<String, String> outputKeyMapping, JsonNode responseNode)
- throws ConfigModelException, SvcLogicException {
- if (resourceAssignment == null) {
- throw new SvcLogicException("resourceAssignment is null.");
- }
-
- if (ctx == null) {
- throw new SvcLogicException("service logic context is null.");
- }
-
- if (componentContext == null) {
- throw new SvcLogicException("component context is null.");
- }
-
- logger.info("populating value for output mapping ({}), from json ({})", outputKeyMapping, responseNode);
- String dictionaryName = resourceAssignment.getDictionaryName();
- String type = resourceAssignment.getProperty().getType();
-
- String entrySchema = null;
- if (ValidTypes.getPrimitivePropertType().contains(type)) {
- ResourceAssignmentUtils.setResourceDataValue(componentContext, resourceAssignment, responseNode);
- } else if (ValidTypes.getListPropertType().contains(type)) {
- // Array Types
- if (resourceAssignment.getProperty().getEntrySchema() != null) {
- entrySchema = resourceAssignment.getProperty().getEntrySchema().getType();
- }
-
- if (StringUtils.isNotBlank(entrySchema)) {
- ArrayNode arrayNode = JsonNodeFactory.instance.arrayNode();
- if (ValidTypes.getPrimitivePropertType().contains(entrySchema)) {
- arrayNode = (ArrayNode) responseNode;
- } else if (MapUtils.isNotEmpty(outputKeyMapping)) {
- List<JsonNode> responseArrayNode = IteratorUtils.toList(responseNode.elements());
- for (JsonNode responseSingleJsonNode : responseArrayNode) {
- if (responseSingleJsonNode != null) {
- ObjectNode arrayChildNode = JsonNodeFactory.instance.objectNode();
- for (Map.Entry<String, String> mapping : outputKeyMapping.entrySet()) {
- JsonNode responseKeyValue = responseSingleJsonNode.get(mapping.getKey());
-
- String propertyTypeForDataType =
- ConfigAssignmentUtils.getPropertyType(ctx, entrySchema, mapping.getKey());
- logger.info("For List Type Resource: key ({}), value ({}), type ({})",
- mapping.getKey(), responseKeyValue, propertyTypeForDataType);
- JsonUtils.populateJsonNodeValues(mapping.getValue(), responseKeyValue,
- propertyTypeForDataType, arrayChildNode);
- }
- arrayNode.add(arrayChildNode);
- }
- }
- } else {
- arrayNode = (ArrayNode) responseNode;
- }
- // Set the List of Complex Values
- ResourceAssignmentUtils.setResourceDataValue(componentContext, resourceAssignment, arrayNode);
- } else {
- throw new SvcLogicException(
- String.format("Entry schema is not defined for dictionary (%s) info", dictionaryName));
- }
- } else {
- // Complex Types
- ObjectNode objectNode = null;
- if (MapUtils.isNotEmpty(outputKeyMapping)) {
- objectNode = JsonNodeFactory.instance.objectNode();
- for (Map.Entry<String, String> mapping : outputKeyMapping.entrySet()) {
- JsonNode responseKeyValue = responseNode.get(mapping.getKey());
- String propertyTypeForDataType =
- ConfigAssignmentUtils.getPropertyType(ctx, entrySchema, mapping.getKey());
- logger.info("For Complex Type Resource: key ({}), value ({}), type ({})", mapping.getKey(),
- responseKeyValue, propertyTypeForDataType);
- JsonUtils.populateJsonNodeValues(mapping.getValue(), responseKeyValue, propertyTypeForDataType,
- objectNode);
- }
- } else {
- objectNode = (ObjectNode) responseNode;
- }
- ResourceAssignmentUtils.setResourceDataValue(componentContext, resourceAssignment, objectNode);
- }
- }
-
- @SuppressWarnings("squid:S3776")
- public static synchronized List<ResourceAssignment> convertResoureAssignmentDataList(
- List<ResourceAssignmentData> resourceAssignmentDataList) {
- List<ResourceAssignment> assignments = new ArrayList<>();
- if (CollectionUtils.isNotEmpty(resourceAssignmentDataList)) {
- for (ResourceAssignmentData resourceAssignmentData : resourceAssignmentDataList) {
- if (resourceAssignmentData != null) {
- ResourceAssignment resourceAssignment = new ResourceAssignment();
- resourceAssignment.setName(resourceAssignmentData.getTemplateKeyName());
- resourceAssignment.setVersion(resourceAssignmentData.getVersion());
- resourceAssignment.setUpdatedBy(resourceAssignmentData.getUpdatedBy());
- resourceAssignment.setUpdatedDate(resourceAssignmentData.getUpdatedDate());
- resourceAssignment.setDictionaryName(resourceAssignmentData.getResourceName());
- resourceAssignment.setDictionarySource(resourceAssignmentData.getSource());
- resourceAssignment.setStatus(resourceAssignmentData.getStatus());
- resourceAssignment.setMessage(resourceAssignmentData.getMessage());
- PropertyDefinition property = new PropertyDefinition();
- property.setType(resourceAssignmentData.getDataType());
-
- if (StringUtils.isNotBlank(resourceAssignmentData.getResourceValue())) {
- if (ValidTypes.getPrimitivePropertType().contains(resourceAssignmentData.getDataType())) {
- property.setValue(resourceAssignmentData.getResourceValue());
- } else {
- JsonNode valueNode =
- TransformationUtils.getJsonNodeForString(resourceAssignmentData.getResourceValue());
- property.setValue(valueNode);
- }
- }
- if (StringUtils.isNotBlank(resourceAssignmentData.getEntrySchema())) {
- EntrySchema entrySchema = new EntrySchema();
- entrySchema.setType(resourceAssignmentData.getEntrySchema());
- property.setEntrySchema(entrySchema);
- } else {
- property.setEntrySchema(null);
- }
- resourceAssignment.setProperty(property);
- assignments.add(resourceAssignment);
- }
- }
-
- }
- return assignments;
- }
-
- @SuppressWarnings("squid:S3776")
- public static synchronized List<ResourceAssignmentData> convertResoureAssignmentList(
- List<ResourceAssignment> assignments) {
- List<ResourceAssignmentData> resourceAssignmentDataList = new ArrayList<>();
- if (CollectionUtils.isNotEmpty(assignments)) {
- for (ResourceAssignment assignment : assignments) {
- if (assignment != null) {
- ResourceAssignmentData resourceAssignmentData = new ResourceAssignmentData();
- resourceAssignmentData.setTemplateKeyName(assignment.getName());
- resourceAssignmentData.setVersion(assignment.getVersion());
- resourceAssignmentData.setUpdatedBy(assignment.getUpdatedBy());
- resourceAssignmentData.setUpdatedDate(assignment.getUpdatedDate());
- if (assignment.getProperty() != null) {
- resourceAssignmentData.setDataType(assignment.getProperty().getType());
- if (assignment.getProperty().getEntrySchema() != null) {
- resourceAssignmentData.setEntrySchema(assignment.getProperty().getEntrySchema().getType());
- }
- if (assignment.getProperty().getValue() != null) {
- String valueContent = TransformationUtils.getJson(assignment.getProperty().getValue());
- resourceAssignmentData.setResourceValue(valueContent);
- }
- }
- resourceAssignmentData.setResourceName(assignment.getDictionaryName());
- resourceAssignmentData.setSource(assignment.getDictionarySource());
- resourceAssignmentData.setStatus(assignment.getStatus());
- resourceAssignmentData.setMessage(assignment.getMessage());
- resourceAssignmentDataList.add(resourceAssignmentData);
- }
- }
- }
- return resourceAssignmentDataList;
- }
-
-}
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigPreviewService.java b/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigPreviewService.java
deleted file mode 100644
index 071b5a548..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ConfigPreviewService.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.ccsdk.features.assignment.service;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.ccsdk.features.assignment.data.ResourceAssignmentData;
-import org.onap.ccsdk.features.data.adaptor.domain.ConfigResource;
-import org.onap.ccsdk.features.data.adaptor.service.ConfigResourceService;
-import org.onap.ccsdk.features.generator.data.ConfigGeneratorInfo;
-import org.onap.ccsdk.features.generator.service.ConfigGeneratorService;
-import org.onap.ccsdk.features.model.ConfigModelConstant;
-import org.onap.ccsdk.features.model.service.ConfigModelService;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-
-public class ConfigPreviewService {
- private static EELFLogger logger = EELFManager.getInstance().getLogger(ConfigAssignmentPersistService.class);
- private ConfigResourceService configResourceService;
- private ConfigModelService configModelService;
- private ConfigGeneratorService configGeneratorService;
-
- public ConfigPreviewService(ConfigResourceService configResourceService, ConfigModelService configModelService,
- ConfigGeneratorService configGeneratorService) {
- this.configResourceService = configResourceService;
- this.configModelService = configModelService;
- this.configGeneratorService = configGeneratorService;
- }
-
- public String generatePreview(String templateContent, String templateData) throws SvcLogicException {
- String mashedData = "";
- ConfigGeneratorInfo configGeneratorInfo =
- configGeneratorService.generateConfiguration(templateContent, templateData);
- if (configGeneratorInfo != null) {
- mashedData = configGeneratorInfo.getMashedData();
- }
- return mashedData;
- }
-
- public ResourceAssignmentData generateTemplateResourceMash(ResourceAssignmentData resourceAssignmentData)
- throws SvcLogicException {
- if (resourceAssignmentData == null) {
- throw new SvcLogicException("Resource assignment data is missing");
- }
- if (StringUtils.isBlank(resourceAssignmentData.getServiceTemplateName())) {
- throw new SvcLogicException("Service template name is missing");
- }
- if (StringUtils.isBlank(resourceAssignmentData.getServiceTemplateVersion())) {
- throw new SvcLogicException("Service template version is missing");
- }
- if (StringUtils.isBlank(resourceAssignmentData.getResourceType())) {
- throw new SvcLogicException("Resource type is missing");
- }
- if (StringUtils.isBlank(resourceAssignmentData.getResourceId())) {
- throw new SvcLogicException("Resource Id is missing");
- }
- if (StringUtils.isBlank(resourceAssignmentData.getActionName())) {
- throw new SvcLogicException("Action name is missing");
- }
-
- String serviceTemplateName = resourceAssignmentData.getServiceTemplateName();
- String serviceTemplateVersion = resourceAssignmentData.getServiceTemplateVersion();
- String actionName = resourceAssignmentData.getActionName();
- String resourceId = resourceAssignmentData.getResourceId();
- String resourceType = resourceAssignmentData.getResourceType();
- String inputData = "{}";
-
- Map<String, String> context = new HashMap<>();
- context.put(ConfigModelConstant.PROPERTY_ACTION_NAME, actionName);
- context = configModelService.prepareContext(context, inputData, serviceTemplateName, serviceTemplateVersion);
-
- ConfigResource configResourceQuery = new ConfigResource();
- configResourceQuery.setServiceTemplateVersion(serviceTemplateName);
- configResourceQuery.setServiceTemplateVersion(serviceTemplateVersion);
- configResourceQuery.setRecipeName(actionName);
- configResourceQuery.setResourceId(resourceId);
- configResourceQuery.setResourceType(resourceType);
-
- List<ConfigResource> configResources = configResourceService.getConfigResource(configResourceQuery);
- if (CollectionUtils.isNotEmpty(configResources)) {
- for (ConfigResource cr : configResources) {
- String templateContent = context
- .get(ConfigModelConstant.PROPERTY_NODE_TEMPLATES_DOT + cr.getTemplateName() + ".content");
- String templateData = cr.getResourceData();
- String previewContent = generatePreview(templateContent, templateData);
- resourceAssignmentData.getTemplatesMashedContents().put(cr.getTemplateName(), previewContent);
- logger.info("Preview generated for template name ({}) ", cr.getTemplateName());
- logger.trace("Preview generated for preview ({}) ", previewContent);
- }
- } else {
- logger.info(
- "Couldn't get config resource for service template name ({}) service template version ({})"
- + " action ({}) resource id ({}) resource type ({})",
- serviceTemplateName, serviceTemplateVersion, actionName, resourceId, resourceType);
- }
- return resourceAssignmentData;
-
- }
-
-}
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ResourceDictionaryService.java b/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ResourceDictionaryService.java
deleted file mode 100644
index d8692c4c7..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ResourceDictionaryService.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.ccsdk.features.assignment.service;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.ccsdk.features.model.data.ResourceAssignment;
-import org.onap.ccsdk.features.model.data.dict.ResourceDefinition;
-import org.onap.ccsdk.features.model.domain.ResourceDictionary;
-import org.onap.ccsdk.features.model.utils.TransformationUtils;
-import org.onap.ccsdk.features.rest.adaptor.ConfigRestAdaptorConstants;
-import org.onap.ccsdk.features.rest.adaptor.ConfigRestAdaptorException;
-import org.onap.ccsdk.features.rest.adaptor.service.ConfigRestAdaptorService;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-
-public class ResourceDictionaryService {
-
- private static EELFLogger logger = EELFManager.getInstance().getLogger(ResourceDictionaryService.class);
- private ConfigRestAdaptorService configRestAdaptorService;
-
- public ResourceDictionaryService(ConfigRestAdaptorService configRestAdaptorService) {
- this.configRestAdaptorService = configRestAdaptorService;
- }
-
- @SuppressWarnings("squid:S3776")
- public Map<String, ResourceDefinition> getDataDictionaryDefinitions(List<ResourceAssignment> resourceAssignments)
- throws SvcLogicException {
- try {
- Map<String, ResourceDefinition> dictionaries = new HashMap<>();
- if (resourceAssignments != null) {
- List<String> names = new ArrayList<>();
- for (ResourceAssignment resourceAssignment : resourceAssignments) {
- if (resourceAssignment != null && StringUtils.isNotBlank(resourceAssignment.getDictionaryName())) {
- if (!names.contains(resourceAssignment.getDictionaryName())) {
- names.add(resourceAssignment.getDictionaryName());
- }
- if (resourceAssignment.getDependencies() != null
- && !resourceAssignment.getDependencies().isEmpty()) {
- List<String> dependencieNames = resourceAssignment.getDependencies();
- for (String dependencieName : dependencieNames) {
- if (StringUtils.isNotBlank(dependencieName) && !names.contains(dependencieName)) {
- names.add(dependencieName);
- }
- }
- }
- }
- }
- queryResourceDictionaryDefinitions(dictionaries, names);
- }
- return dictionaries;
- } catch (Exception e) {
- throw new SvcLogicException("Failed in getting resource data dictionary : " + e.getMessage());
- }
-
- }
-
- @SuppressWarnings("squid:S3776")
- private void queryResourceDictionaryDefinitions(Map<String, ResourceDefinition> dictionaries, List<String> names)
- throws SvcLogicException, ConfigRestAdaptorException {
- logger.info("Getting resource dictionary definition for the names ({})", names);
- if (!names.isEmpty()) {
-
- String dictionaryContents = configRestAdaptorService.postResource(
- ConfigRestAdaptorConstants.SELECTOR_MODEL_SERVICE, "dictionary/by-names", names, String.class);
-
- if (StringUtils.isNotBlank(dictionaryContents)) {
- List<ResourceDictionary> dataDictionaries =
- TransformationUtils.getListfromJson(dictionaryContents, ResourceDictionary.class);
- if (dataDictionaries != null) {
- for (ResourceDictionary dataDictionary : dataDictionaries) {
- if (dataDictionary != null && StringUtils.isNotBlank(dataDictionary.getName())
- && dataDictionary.getDefinition() != null) {
- ResourceDefinition resourceDefinition = TransformationUtils
- .treeToValue(dataDictionary.getDefinition(), ResourceDefinition.class);
- if (resourceDefinition != null && StringUtils.isNotBlank(resourceDefinition.getName())) {
- dictionaries.put(resourceDefinition.getName(), resourceDefinition);
- } else {
- throw new SvcLogicException(
- "Failed in getting resource data dictionary definition for : "
- + dataDictionary.getName());
- }
- }
- }
- }
- } else {
- logger.warn("No resource dictionary definition found for the names ({})", names);
- }
- }
- }
-}
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ResourceModelService.java b/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ResourceModelService.java
deleted file mode 100644
index befa36a34..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/java/org/onap/ccsdk/features/assignment/service/ResourceModelService.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.ccsdk.features.assignment.service;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.ccsdk.features.model.data.ResourceAssignment;
-import org.onap.ccsdk.features.model.service.ConfigModelService;
-import org.onap.ccsdk.features.model.utils.TransformationUtils;
-import org.onap.ccsdk.features.model.validator.ResourceAssignmentValidator;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-
-public class ResourceModelService {
- private static EELFLogger logger = EELFManager.getInstance().getLogger(ResourceModelService.class);
-
- private ConfigModelService configModelService;
-
- public ResourceModelService(ConfigModelService configModelService) {
- this.configModelService = configModelService;
- }
-
- public Map<String, String> getTemplatesContents(SvcLogicContext ctx, List<String> templateNames)
- throws SvcLogicException {
- Map<String, String> templatesContents = new HashMap<>();
- try {
- if (CollectionUtils.isNotEmpty(templateNames)) {
- for (String templateName : templateNames) {
- String templateContent = this.configModelService.getNodeTemplateContent(ctx, templateName);
- logger.trace("Processing template ({}) with content : {}", templateName, templateContent);
- templatesContents.put(templateName, templateContent);
- }
- }
- } catch (Exception e) {
- throw new SvcLogicException(e.getMessage());
- }
- return templatesContents;
- }
-
- public Map<String, List<ResourceAssignment>> getTemplatesResourceAssignments(SvcLogicContext ctx,
- List<String> templateNames) throws SvcLogicException {
- Map<String, List<ResourceAssignment>> templatesResourceAssignments = new HashMap<>();
- try {
- if (CollectionUtils.isNotEmpty(templateNames)) {
- for (String templateName : templateNames) {
- String resourceMappingContent = this.configModelService.getNodeTemplateMapping(ctx, templateName);
- logger.info("Processing template ({}) with resource assignment content : {}", templateName,
- resourceMappingContent);
-
- if (StringUtils.isNotBlank(resourceMappingContent)) {
-
- List<ResourceAssignment> resourceAssignments =
- TransformationUtils.getListfromJson(resourceMappingContent, ResourceAssignment.class);
-
- if (resourceAssignments != null) {
- ResourceAssignmentValidator resourceAssignmentValidator =
- new ResourceAssignmentValidator(resourceAssignments);
- resourceAssignmentValidator.validateResourceAssignment();
- logger.info("Resource assignment validated successfully for the template ({})",
- templateName);
- templatesResourceAssignments.put(templateName, resourceAssignments);
- } else {
- throw new SvcLogicException(String.format(
- "Failed to convert assignment content (%s) to object", resourceMappingContent));
- }
- } else {
- // Do nothing, because som e templates may not have mappings
- }
- }
- }
- } catch (Exception e) {
- throw new SvcLogicException(e.getMessage());
- }
-
- return templatesResourceAssignments;
- }
-}
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml b/blueprints-processor/plugin/assignment-provider/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml
deleted file mode 100644
index f15429dfe..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright © 2017-2018 AT&T Intellectual Property.
- Modifications Copyright © 2018 IBM.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
- xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
- odl:use-default-for-reference-types="true">
-
- <reference id="componentNodeService"
- interface="org.onap.ccsdk.features.model.service.ComponentNodeService" />
-
- <reference id="configResourceService"
- interface="org.onap.ccsdk.features.data.adaptor.service.ConfigResourceService" />
-
- <reference id="configModelService"
- interface="org.onap.ccsdk.features.model.service.ConfigModelService" />
-
- <reference id="configRestAdaptorService"
- interface="org.onap.ccsdk.features.rest.adaptor.service.ConfigRestAdaptorService" />
-
- <reference id="configGeneratorService"
- interface="org.onap.ccsdk.features.generator.service.ConfigGeneratorService" />
-
- <!-- Expose the Common Component Bean -->
- <bean id="configAssignmentNode"
- class="org.onap.ccsdk.features.assignment.service.ConfigAssignmentNode">
- <argument ref="configResourceService" />
- <argument ref="configRestAdaptorService" />
- <argument ref="configModelService" />
- <argument ref="componentNodeService" />
- <argument ref="configGeneratorService" />
- </bean>
-
- <service ref="configAssignmentNode"
- interface="org.onap.ccsdk.features.assignment.service.ConfigAssignmentNode" />
-
- <bean id="configAssignmentService"
- class="org.onap.ccsdk.features.assignment.service.ConfigAssignmentServiceImpl">
- <argument ref="configResourceService" />
- <argument ref="configRestAdaptorService" />
- <argument ref="configModelService" />
- <argument ref="componentNodeService" />
- <argument ref="configGeneratorService" />
- </bean>
-
- <service ref="configAssignmentService"
- interface="org.onap.ccsdk.features.assignment.service.ConfigAssignmentService" />
-
-</blueprint>
diff --git a/blueprints-processor/plugin/assignment-provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml b/blueprints-processor/plugin/assignment-provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml
deleted file mode 100644
index f15429dfe..000000000
--- a/blueprints-processor/plugin/assignment-provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright © 2017-2018 AT&T Intellectual Property.
- Modifications Copyright © 2018 IBM.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
- xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
- odl:use-default-for-reference-types="true">
-
- <reference id="componentNodeService"
- interface="org.onap.ccsdk.features.model.service.ComponentNodeService" />
-
- <reference id="configResourceService"
- interface="org.onap.ccsdk.features.data.adaptor.service.ConfigResourceService" />
-
- <reference id="configModelService"
- interface="org.onap.ccsdk.features.model.service.ConfigModelService" />
-
- <reference id="configRestAdaptorService"
- interface="org.onap.ccsdk.features.rest.adaptor.service.ConfigRestAdaptorService" />
-
- <reference id="configGeneratorService"
- interface="org.onap.ccsdk.features.generator.service.ConfigGeneratorService" />
-
- <!-- Expose the Common Component Bean -->
- <bean id="configAssignmentNode"
- class="org.onap.ccsdk.features.assignment.service.ConfigAssignmentNode">
- <argument ref="configResourceService" />
- <argument ref="configRestAdaptorService" />
- <argument ref="configModelService" />
- <argument ref="componentNodeService" />
- <argument ref="configGeneratorService" />
- </bean>
-
- <service ref="configAssignmentNode"
- interface="org.onap.ccsdk.features.assignment.service.ConfigAssignmentNode" />
-
- <bean id="configAssignmentService"
- class="org.onap.ccsdk.features.assignment.service.ConfigAssignmentServiceImpl">
- <argument ref="configResourceService" />
- <argument ref="configRestAdaptorService" />
- <argument ref="configModelService" />
- <argument ref="componentNodeService" />
- <argument ref="configGeneratorService" />
- </bean>
-
- <service ref="configAssignmentService"
- interface="org.onap.ccsdk.features.assignment.service.ConfigAssignmentService" />
-
-</blueprint>