diff options
Diffstat (limited to 'catalog-model/src/main/java/org/openecomp/sdc/be/model/Resource.java')
-rw-r--r-- | catalog-model/src/main/java/org/openecomp/sdc/be/model/Resource.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/Resource.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/Resource.java index 45fc5f62b3..d48718bbff 100644 --- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/Resource.java +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/Resource.java @@ -25,6 +25,7 @@ import java.util.List; import java.util.Map; import org.openecomp.sdc.be.config.ConfigurationManager; +import org.openecomp.sdc.be.dao.utils.MapUtil; import org.openecomp.sdc.be.datatypes.components.ResourceMetadataDataDefinition; import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; @@ -299,5 +300,15 @@ public class Resource extends Component implements Serializable { public boolean deriveFromGeneric(){ return this.shouldGenerateInputs() || (derivedFrom != null && derivedFrom.contains(fetchGenericTypeToscaNameFromConfig())); } - + + public Map<String, List<RequirementCapabilityRelDef>> groupRelationsByInstanceName(Resource resource) { + Map<String, List<RequirementCapabilityRelDef>> relationsByInstanceId = MapUtil.groupListBy(resource.getComponentInstancesRelations(), RequirementCapabilityRelDef::getFromNode); + return MapUtil.convertMapKeys(relationsByInstanceId, (instId) -> getInstanceNameFromInstanceId(resource, instId)); + } + + private String getInstanceNameFromInstanceId(Resource resource, String instId) { + return resource.getComponentInstanceById(instId).get().getName(); + } + + } |