From 50619616a9bd803bb9bb820fe83d999f26ba3f34 Mon Sep 17 00:00:00 2001 From: MichaelMorris Date: Fri, 16 Jul 2021 09:05:12 +0100 Subject: Import VSP top. template handling non SDC model Signed-off-by: MichaelMorris Issue-ID: SDC-3649 Change-Id: I2e2004187f5694f92d65b73139436fc990e7a6af --- .../sdc/be/model/ParsedToscaYamlInfo.java | 1 + .../operations/NodeTemplateOperation.java | 3 +- .../operations/ToscaOperationFacade.java | 40 ++++++++++++++++++++-- 3 files changed, 41 insertions(+), 3 deletions(-) (limited to 'catalog-model') diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/ParsedToscaYamlInfo.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/ParsedToscaYamlInfo.java index a8de860b28..ce7c6deb91 100644 --- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/ParsedToscaYamlInfo.java +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/ParsedToscaYamlInfo.java @@ -33,4 +33,5 @@ public class ParsedToscaYamlInfo { Map instances; Map groups; Map policies; + String substitutionMappingNodeType; } diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/NodeTemplateOperation.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/NodeTemplateOperation.java index 87bcda99d7..9db61e8ec3 100644 --- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/NodeTemplateOperation.java +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/NodeTemplateOperation.java @@ -1110,6 +1110,7 @@ public class NodeTemplateOperation extends BaseOperation { private void bindCapabilityDefinition(final CapabilityDataDefinition fromCapabilityDefinition, final CapabilityDataDefinition capabilityDefinitionToUpdate) { capabilityDefinitionToUpdate.setExternal(fromCapabilityDefinition.isExternal()); + capabilityDefinitionToUpdate.setExternalName(fromCapabilityDefinition.getExternalName()); } private Optional findComponentVertex(final String componentId) { @@ -1190,7 +1191,7 @@ public class NodeTemplateOperation extends BaseOperation { listRequirementDataDefinition.getListToscaDataDefinition().stream() .filter(e -> requirementDataDefinition.getOwnerId().equals(e.getOwnerId()) && requirementDataDefinition.getName().equals(e.getName())) - .forEach(r -> r.setExternal(requirementDataDefinition.isExternal())); + .forEach(r -> {r.setExternal(requirementDataDefinition.isExternal()); r.setExternalName(requirementDataDefinition.getExternalName());}); return updateCalculatedReqOnGraph(componentId, containerV, existingReqs); } diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/ToscaOperationFacade.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/ToscaOperationFacade.java index ec5721b95a..faedba5363 100644 --- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/ToscaOperationFacade.java +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/ToscaOperationFacade.java @@ -1871,6 +1871,36 @@ public class ToscaOperationFacade { updateInstancesCapAndReqOnComponentFromDB(component); return storageOperationStatus; } + + public StorageOperationStatus updateCalculatedCapabilitiesRequirements(final Map>> instCapabilties, + final Map>> instReg, + final Component component) { + StorageOperationStatus storageOperationStatus = StorageOperationStatus.OK; + if (instCapabilties != null) { + for (Entry>> entry : instCapabilties.entrySet()) { + final Map> cap = entry.getValue(); + for (List capabilityList: cap.values()) { + for (CapabilityDefinition capability: capabilityList) { + nodeTemplateOperation.updateComponentInstanceCapabilities(component.getUniqueId(), entry.getKey().getUniqueId(), capability); + } + } + } + } + if (instReg != null) { + for (Entry>> entry : instReg.entrySet()) { + final Map> req = entry.getValue(); + for (List requirementList: req.values()) { + for (RequirementDefinition requirement: requirementList) { + storageOperationStatus = nodeTemplateOperation.updateComponentInstanceRequirement(component.getUniqueId(), entry.getKey().getUniqueId(), requirement); + if (storageOperationStatus != StorageOperationStatus.OK) { + return storageOperationStatus; + } + } + } + } + } + return storageOperationStatus; + } private void updateInstancesCapAndReqOnComponentFromDB(Component component) { ComponentParametersView componentParametersView = new ComponentParametersView(true); @@ -1896,6 +1926,9 @@ public class ToscaOperationFacade { // include props hasProps.put(GraphPropertyEnum.COMPONENT_TYPE, ComponentTypeEnum.SERVICE.name()); hasProps.put(GraphPropertyEnum.IS_HIGHEST_VERSION, true); + if (modelName != null) { + hasProps.put(GraphPropertyEnum.MODEL, modelName); + } // exclude props states.add(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT); hasNotProps.put(GraphPropertyEnum.STATE, states); @@ -1912,7 +1945,7 @@ public class ToscaOperationFacade { List services = null; Map hasProps = new EnumMap<>(GraphPropertyEnum.class); Map hasNotProps = new EnumMap<>(GraphPropertyEnum.class); - fillPropsMap(hasProps, hasNotProps, internalComponentType, componentTypeEnum, isAbstract, vertexType); + fillPropsMap(hasProps, hasNotProps, internalComponentType, componentTypeEnum, isAbstract, vertexType, modelName); Either, JanusGraphOperationStatus> getRes = janusGraphDao .getByCriteria(vertexType, hasProps, hasNotProps, JsonParseFlagEnum.ParseMetadata); if (getRes.isRight() && !JanusGraphOperationStatus.NOT_FOUND.equals(getRes.right().value())) { @@ -2155,11 +2188,14 @@ public class ToscaOperationFacade { } private void fillPropsMap(Map hasProps, Map hasNotProps, String internalComponentType, - ComponentTypeEnum componentTypeEnum, boolean isAbstract, VertexTypeEnum internalVertexType) { + ComponentTypeEnum componentTypeEnum, boolean isAbstract, VertexTypeEnum internalVertexType, String modelName) { hasNotProps.put(GraphPropertyEnum.STATE, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name()); hasNotProps.put(GraphPropertyEnum.IS_DELETED, true); hasNotProps.put(GraphPropertyEnum.IS_ARCHIVED, true); hasProps.put(GraphPropertyEnum.IS_HIGHEST_VERSION, true); + if (modelName != null) { + hasProps.put(GraphPropertyEnum.MODEL, modelName); + } if (VertexTypeEnum.NODE_TYPE == internalVertexType) { hasProps.put(GraphPropertyEnum.IS_ABSTRACT, isAbstract); if (internalComponentType != null) { -- cgit 1.2.3-korg