1 package org.openecomp.sdc.be.components.merge;
5 import org.openecomp.sdc.be.components.merge.input.ComponentInputsMergeBL;
6 import org.openecomp.sdc.be.components.merge.resource.MergeResourceBusinessLogic;
7 import org.openecomp.sdc.be.dao.api.ActionStatus;
8 import org.openecomp.sdc.be.model.InputDefinition;
9 import org.openecomp.sdc.be.model.Resource;
10 import org.slf4j.Logger;
11 import org.slf4j.LoggerFactory;
12 import org.springframework.stereotype.Component;
14 import fj.data.Either;
17 public class GlobalTypesMergeBusinessLogic implements MergeResourceBusinessLogic {
19 private static final Logger LOGGER = LoggerFactory.getLogger(GlobalTypesMergeBusinessLogic.class);
21 @javax.annotation.Resource
22 private GlobalInputsFilteringBusinessLogic globalInputsFilteringBusinessLogic;
24 @javax.annotation.Resource
25 private ComponentInputsMergeBL inputsValuesMergeBL;
28 public ActionStatus mergeResourceEntities(Resource oldResource, Resource newResource) {
29 if (oldResource == null) {
30 return ActionStatus.OK;
32 Either<List<InputDefinition>, ActionStatus> globalInputsEither = globalInputsFilteringBusinessLogic.filterGlobalInputs(newResource);
33 if (globalInputsEither.isRight()) {
34 LOGGER.error("failed to get global inputs of resource {} status is {}", newResource.getUniqueId(), globalInputsEither.right().value());
35 return globalInputsEither.right().value();
37 List<InputDefinition> globalInputs = globalInputsEither.left().value();
38 return inputsValuesMergeBL.mergeComponentInputs(oldResource, newResource, globalInputs);