diff options
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/instance/ComponentInstanceInterfacesMerge.java')
-rw-r--r-- | catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/instance/ComponentInstanceInterfacesMerge.java | 50 |
1 files changed, 22 insertions, 28 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/instance/ComponentInstanceInterfacesMerge.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/instance/ComponentInstanceInterfacesMerge.java index b2579b73d2..2d49eaeffe 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/instance/ComponentInstanceInterfacesMerge.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/merge/instance/ComponentInstanceInterfacesMerge.java @@ -7,9 +7,9 @@ * 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. @@ -17,9 +17,9 @@ * limitations under the License. * ============LICENSE_END========================================================= */ - package org.openecomp.sdc.be.components.merge.instance; +import java.util.List; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; import org.openecomp.sdc.be.components.impl.exceptions.ByResponseFormatComponentException; @@ -35,19 +35,17 @@ import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaOperationFacade import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus; import org.springframework.beans.factory.annotation.Autowired; -import java.util.List; - @org.springframework.stereotype.Component("ComponentInstanceInterfacesMerge") public class ComponentInstanceInterfacesMerge implements ComponentInstanceMergeInterface { @Autowired private ComponentsUtils componentsUtils; - @Autowired private ToscaOperationFacade toscaOperationFacade; @Override - public void saveDataBeforeMerge(DataForMergeHolder dataHolder, Component containerComponent, ComponentInstance currentResourceInstance, Component originComponent) { + public void saveDataBeforeMerge(DataForMergeHolder dataHolder, Component containerComponent, ComponentInstance currentResourceInstance, + Component originComponent) { dataHolder.setOrigInstanceNode(originComponent); dataHolder.setOrigComponentInstanceInterfaces(containerComponent.safeGetComponentInstanceInterfaces(currentResourceInstance.getUniqueId())); } @@ -56,42 +54,38 @@ public class ComponentInstanceInterfacesMerge implements ComponentInstanceMergeI public Component mergeDataAfterCreate(User user, DataForMergeHolder dataHolder, Component updatedContainerComponent, String newInstanceId) { List<ComponentInstanceInterface> origInstanceInterfaces = dataHolder.getOrigComponentInstanceInterfaces(); ActionStatus mergeStatus = mergeComponentInstanceInterfaces(updatedContainerComponent, newInstanceId, origInstanceInterfaces); - if (!ActionStatus.OK.equals(mergeStatus)){ + if (!ActionStatus.OK.equals(mergeStatus)) { throw new ByResponseFormatComponentException(componentsUtils.getResponseFormat(mergeStatus)); - } - else { + } else { return updatedContainerComponent; } } - private ActionStatus mergeComponentInstanceInterfaces(Component currentComponent, String instanceId, List<ComponentInstanceInterface> prevInstanceInterfaces) { + private ActionStatus mergeComponentInstanceInterfaces(Component currentComponent, String instanceId, + List<ComponentInstanceInterface> prevInstanceInterfaces) { if (CollectionUtils.isEmpty(prevInstanceInterfaces) || MapUtils.isEmpty(currentComponent.getComponentInstancesInterfaces())) { return ActionStatus.OK; } - - if(CollectionUtils.isEmpty(currentComponent.getComponentInstancesInterfaces().get(instanceId))){ + if (CollectionUtils.isEmpty(currentComponent.getComponentInstancesInterfaces().get(instanceId))) { return ActionStatus.OK; } - - currentComponent.getComponentInstancesInterfaces().get(instanceId).stream() - .forEach(newInterfaceDef -> newInterfaceDef.getOperationsMap().values() - .forEach(newOperationDef -> prevInstanceInterfaces.stream().filter(in -> in.getUniqueId().equals(newInterfaceDef.getUniqueId())) - .forEach(prevInterfaceDef -> prevInterfaceDef.getOperationsMap().values().stream().filter(in1 -> in1.getUniqueId().equals(newOperationDef.getUniqueId())) + currentComponent.getComponentInstancesInterfaces().get(instanceId).stream().forEach( + newInterfaceDef -> newInterfaceDef.getOperationsMap().values().forEach( + newOperationDef -> prevInstanceInterfaces.stream().filter(in -> in.getUniqueId().equals(newInterfaceDef.getUniqueId())).forEach( + prevInterfaceDef -> prevInterfaceDef.getOperationsMap().values().stream() + .filter(in1 -> in1.getUniqueId().equals(newOperationDef.getUniqueId())) .forEach(oldOperationDef -> mergeOperationInputDefinitions(oldOperationDef.getInputs(), newOperationDef.getInputs()))))); - StorageOperationStatus updateStatus = toscaOperationFacade.updateComponentInstanceInterfaces(currentComponent, instanceId); return componentsUtils.convertFromStorageResponse(updateStatus); } - - private void mergeOperationInputDefinitions(ListDataDefinition<OperationInputDefinition> origInputs, ListDataDefinition<OperationInputDefinition> newInputs){ + private void mergeOperationInputDefinitions(ListDataDefinition<OperationInputDefinition> origInputs, + ListDataDefinition<OperationInputDefinition> newInputs) { newInputs.getListToscaDataDefinition() - .forEach(inp -> origInputs.getListToscaDataDefinition().stream().filter(in -> in.getInputId().equals(inp.getInputId())) - .forEach(in -> { - inp.setSourceProperty(in.getSourceProperty()); - inp.setSource(in.getSource()); - inp.setValue(in.getValue()); - })); + .forEach(inp -> origInputs.getListToscaDataDefinition().stream().filter(in -> in.getInputId().equals(inp.getInputId())).forEach(in -> { + inp.setSourceProperty(in.getSourceProperty()); + inp.setSource(in.getSource()); + inp.setValue(in.getValue()); + })); } - } |