2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.sdc.be.model;
23 import com.fasterxml.jackson.annotation.JsonIgnore;
24 import org.openecomp.sdc.be.config.ConfigurationManager;
25 import org.openecomp.sdc.be.dao.utils.MapUtil;
26 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
27 import org.openecomp.sdc.be.model.category.CategoryDefinition;
28 import org.openecomp.sdc.be.model.category.SubCategoryDefinition;
29 import org.openecomp.sdc.be.model.jsontitan.datamodel.ToscaElementTypeEnum;
30 import org.openecomp.sdc.common.api.ArtifactTypeEnum;
32 import java.util.stream.Collectors;
33 import static java.util.Collections.emptyList;
34 import org.openecomp.sdc.be.dao.utils.MapUtil;
35 import org.openecomp.sdc.be.model.jsontitan.datamodel.ToscaElementTypeEnum;
36 import org.openecomp.sdc.common.api.ArtifactTypeEnum;
38 import java.io.Serializable;
40 import java.util.stream.Collectors;
42 public abstract class Component implements Serializable {
47 private static final long serialVersionUID = -6373756459967949120L;
49 private ComponentMetadataDefinition componentMetadataDefinition;
50 private Map<String, ArtifactDefinition> artifacts;
51 private Map<String, ArtifactDefinition> deploymentArtifacts;
52 private Map<String, ArtifactDefinition> toscaArtifacts;
53 private List<CategoryDefinition> categories;
54 private List<ComponentInstance> componentInstances;
55 private List<RequirementCapabilityRelDef> componentInstancesRelations;
56 private Map<String, List<ComponentInstanceInput>> componentInstancesInputs;
57 private Map<String, List<ComponentInstanceProperty>> componentInstancesProperties;
58 private Map<String, List<ComponentInstanceProperty>> componentInstancesAttributes;
59 private Map<String, List<CapabilityDefinition>> capabilities;
60 private Map<String, List<RequirementDefinition>> requirements;
61 private List<InputDefinition> inputs;
62 private List<GroupDefinition> groups;
63 private Map<String, PolicyDefinition> policies;
64 private String derivedFromGenericType;
65 private String derivedFromGenericVersion;
66 private String toscaType;
67 protected List<AdditionalInformationDefinition> additionalInformation;
69 public String getDerivedFromGenericVersion() {
70 return derivedFromGenericVersion;
73 public void setDerivedFromGenericVersion(String derivedFromGenericVersion) {
74 this.derivedFromGenericVersion = derivedFromGenericVersion;
77 public String getDerivedFromGenericType() {
78 return derivedFromGenericType;
81 public void setDerivedFromGenericType(String derivedFromGenericType) {
82 this.derivedFromGenericType = derivedFromGenericType;
85 public Component(ComponentMetadataDefinition componentMetadataDefinition) {
86 this.componentMetadataDefinition = componentMetadataDefinition;
90 public ComponentMetadataDefinition getComponentMetadataDefinition() {
91 return componentMetadataDefinition;
94 public Map<String, ArtifactDefinition> getArtifacts() {
98 public void setArtifacts(Map<String, ArtifactDefinition> artifacts) {
99 this.artifacts = artifacts;
102 public Map<String, ArtifactDefinition> getToscaArtifacts() {
103 return toscaArtifacts;
106 public void setToscaArtifacts(Map<String, ArtifactDefinition> toscaArtifacts) {
107 this.toscaArtifacts = toscaArtifacts;
110 public String getUniqueId() {
111 return componentMetadataDefinition.getMetadataDataDefinition().getUniqueId();
114 public void setUniqueId(String uniqueId) {
115 componentMetadataDefinition.getMetadataDataDefinition().setUniqueId(uniqueId);
118 public void setName(String name) {
119 componentMetadataDefinition.getMetadataDataDefinition().setName(name);
122 public void setVersion(String version) {
123 componentMetadataDefinition.getMetadataDataDefinition().setVersion(version);
126 public void setHighestVersion(Boolean isHighestVersion) {
127 componentMetadataDefinition.getMetadataDataDefinition().setHighestVersion(isHighestVersion);
130 public void setCreationDate(Long creationDate) {
131 componentMetadataDefinition.getMetadataDataDefinition().setCreationDate(creationDate);
134 public void setLastUpdateDate(Long lastUpdateDate) {
135 componentMetadataDefinition.getMetadataDataDefinition().setLastUpdateDate(lastUpdateDate);
138 public void setDescription(String description) {
139 componentMetadataDefinition.getMetadataDataDefinition().setDescription(description);
142 public void setState(LifecycleStateEnum state) {
143 componentMetadataDefinition.getMetadataDataDefinition().setState(state.name());
146 public void setTags(List<String> tags) {
147 componentMetadataDefinition.getMetadataDataDefinition().setTags(tags);
150 public void setConformanceLevel(String conformanceLevel) {
151 componentMetadataDefinition.getMetadataDataDefinition().setConformanceLevel(conformanceLevel);
154 public void setIcon(String icon) {
155 componentMetadataDefinition.getMetadataDataDefinition().setIcon(icon);
158 public void setContactId(String contactId) {
159 componentMetadataDefinition.getMetadataDataDefinition().setContactId(contactId);
162 public String getCreatorUserId() {
163 return this.componentMetadataDefinition.getMetadataDataDefinition().getCreatorUserId();
166 public void setCreatorUserId(String creatorUserId) {
167 this.componentMetadataDefinition.getMetadataDataDefinition().setCreatorUserId(creatorUserId);
170 public String getCreatorFullName() {
171 return this.componentMetadataDefinition.getMetadataDataDefinition().getCreatorFullName();
174 public void setCreatorFullName(String creatorFullName) {
175 this.componentMetadataDefinition.getMetadataDataDefinition().setCreatorFullName(creatorFullName);
178 public String getLastUpdaterUserId() {
179 return this.componentMetadataDefinition.getMetadataDataDefinition().getLastUpdaterUserId();
182 public void setLastUpdaterUserId(String lastUpdaterUserId) {
183 this.componentMetadataDefinition.getMetadataDataDefinition().setLastUpdaterUserId(lastUpdaterUserId);
186 public String getLastUpdaterFullName() {
187 return this.componentMetadataDefinition.getMetadataDataDefinition().getLastUpdaterFullName();
190 public void setLastUpdaterFullName(String lastUpdaterFullName) {
191 this.componentMetadataDefinition.getMetadataDataDefinition().setLastUpdaterFullName(lastUpdaterFullName);
194 public String getName() {
195 return componentMetadataDefinition.getMetadataDataDefinition().getName();
198 public String getVersion() {
199 return componentMetadataDefinition.getMetadataDataDefinition().getVersion();
202 public Boolean isHighestVersion() {
203 return componentMetadataDefinition.getMetadataDataDefinition().isHighestVersion();
206 public Long getCreationDate() {
207 return componentMetadataDefinition.getMetadataDataDefinition().getCreationDate();
210 public Long getLastUpdateDate() {
211 return componentMetadataDefinition.getMetadataDataDefinition().getLastUpdateDate();
214 public String getDescription() {
215 return componentMetadataDefinition.getMetadataDataDefinition().getDescription();
218 public LifecycleStateEnum getLifecycleState() {
219 if (componentMetadataDefinition.getMetadataDataDefinition().getState() != null) {
220 return LifecycleStateEnum.valueOf(componentMetadataDefinition.getMetadataDataDefinition().getState());
226 public List<String> getTags() {
227 return componentMetadataDefinition.getMetadataDataDefinition().getTags();
230 public String getConformanceLevel() {
231 return componentMetadataDefinition.getMetadataDataDefinition().getConformanceLevel();
234 public String getIcon() {
235 return componentMetadataDefinition.getMetadataDataDefinition().getIcon();
238 public String getContactId() {
239 return componentMetadataDefinition.getMetadataDataDefinition().getContactId();
242 public List<InputDefinition> getInputs() {
246 public void setInputs(List<InputDefinition> inputs) {
247 this.inputs = inputs;
250 public void setLifecycleState(LifecycleStateEnum state) {
252 this.componentMetadataDefinition.getMetadataDataDefinition().setState(state.name());
256 public String getUUID() {
257 return componentMetadataDefinition.getMetadataDataDefinition().getUUID();
260 public void setUUID(String uUID) {
261 componentMetadataDefinition.getMetadataDataDefinition().setUUID(uUID);
264 public void setSystemName(String systemName) {
265 componentMetadataDefinition.getMetadataDataDefinition().setSystemName(systemName);
268 public String getSystemName() {
269 return componentMetadataDefinition.getMetadataDataDefinition().getSystemName();
272 public void setAllVersions(Map<String, String> allVersions) {
273 componentMetadataDefinition.getMetadataDataDefinition().setAllVersions(allVersions);
276 public Map<String, String> getAllVersions() {
277 return componentMetadataDefinition.getMetadataDataDefinition().getAllVersions();
280 public Map<String, ArtifactDefinition> getDeploymentArtifacts() {
281 return deploymentArtifacts;
284 public void setDeploymentArtifacts(Map<String, ArtifactDefinition> deploymentArtifacts) {
285 this.deploymentArtifacts = deploymentArtifacts;
288 public Map<String, ArtifactDefinition> getAllArtifacts() {
289 HashMap<String, ArtifactDefinition> allArtifacts = new HashMap<>();
290 allArtifacts.putAll(Optional.ofNullable(this.deploymentArtifacts).orElse(Collections.emptyMap()));
291 allArtifacts.putAll(Optional.ofNullable(this.artifacts).orElse(Collections.emptyMap()));
295 public List<CategoryDefinition> getCategories() {
299 public void setCategories(List<CategoryDefinition> categories) {
300 this.categories = categories;
303 public String getNormalizedName() {
304 return componentMetadataDefinition.getMetadataDataDefinition().getNormalizedName();
307 public void setNormalizedName(String normalizedName) {
308 componentMetadataDefinition.getMetadataDataDefinition().setNormalizedName(normalizedName);
311 public ComponentTypeEnum getComponentType() {
312 return this.componentMetadataDefinition.getMetadataDataDefinition().getComponentType();
315 public void setComponentType(ComponentTypeEnum componentType) {
316 this.componentMetadataDefinition.getMetadataDataDefinition().setComponentType(componentType);
319 public Map<String, List<CapabilityDefinition>> getCapabilities() {
323 public void setCapabilities(Map<String, List<CapabilityDefinition>> capabilities) {
324 this.capabilities = capabilities;
327 public Map<String, List<RequirementDefinition>> getRequirements() {
331 public void setRequirements(Map<String, List<RequirementDefinition>> requirements) {
332 this.requirements = requirements;
335 public List<ComponentInstance> getComponentInstances() {
336 return componentInstances;
339 public Optional<ComponentInstance> fetchInstanceById(String instanceId) {
340 return Optional.ofNullable(MapUtil.toMap(componentInstances, ComponentInstance::getUniqueId).get(instanceId));
343 @SuppressWarnings("unchecked")
344 public Map<String, ArtifactDefinition> safeGetComponentInstanceDeploymentArtifacts(String componentInstanceId) {
345 Optional<ComponentInstance> componentInstanceById = getComponentInstanceById(componentInstanceId);
346 Map<String, ArtifactDefinition> instanceDeploymentArtifacts = componentInstanceById.get().safeGetDeploymentArtifacts();
347 return instanceDeploymentArtifacts != null ? instanceDeploymentArtifacts : Collections.emptyMap();
350 @SuppressWarnings("unchecked")
351 public Map<String, ArtifactDefinition> safeGetComponentInstanceInformationalArtifacts(String componentInstanceId) {
352 Optional<ComponentInstance> componentInstanceById = getComponentInstanceById(componentInstanceId);
353 Map<String, ArtifactDefinition> instanceInformationalArtifacts = componentInstanceById.get().safeGetInformationalArtifacts();
354 return instanceInformationalArtifacts != null ? instanceInformationalArtifacts : Collections.emptyMap();
357 public List<ArtifactDefinition> safeGetComponentInstanceHeatArtifacts(String componentInstanceId) {
358 Optional<ComponentInstance> componentInstanceById = getComponentInstanceById(componentInstanceId);
359 List<ArtifactDefinition> instanceHeatEnvArtifacts = Optional.ofNullable(componentInstanceById.get().safeGetDeploymentArtifacts().values()).orElse(new ArrayList<ArtifactDefinition>())
361 .filter(artifact -> artifact.getArtifactType() != null && artifact.getArtifactType().equals(ArtifactTypeEnum.HEAT_ENV.name()))
362 .collect(Collectors.toList());
363 return instanceHeatEnvArtifacts == null ? emptyList() : instanceHeatEnvArtifacts;
366 public void setComponentInstances(List<ComponentInstance> resourceInstances) {
367 this.componentInstances = resourceInstances;
370 public List<RequirementCapabilityRelDef> getComponentInstancesRelations() {
371 return componentInstancesRelations;
374 public void setComponentInstancesRelations(List<RequirementCapabilityRelDef> resourceInstancesRelations) {
375 this.componentInstancesRelations = resourceInstancesRelations;
378 public Map<String, List<ComponentInstanceProperty>> getComponentInstancesProperties() {
379 return componentInstancesProperties;
382 public List<ComponentInstanceProperty> safeGetComponentInstanceProperties(String cmptInstacneId) {
383 return this.safeGetComponentInstanceEntity(cmptInstacneId, this.componentInstancesProperties);
386 public List<ComponentInstanceInput> safeGetComponentInstanceInput(String comptInstanceId) {
387 return this.safeGetComponentInstanceEntity(comptInstanceId, this.componentInstancesInputs);
390 public void setComponentInstancesProperties(
391 Map<String, List<ComponentInstanceProperty>> resourceInstancesProperties) {
392 this.componentInstancesProperties = resourceInstancesProperties;
395 public Boolean getIsDeleted() {
396 return componentMetadataDefinition.getMetadataDataDefinition().isDeleted();
399 public void setIsDeleted(Boolean isDeleted) {
400 componentMetadataDefinition.getMetadataDataDefinition().setIsDeleted(isDeleted);
403 public String getProjectCode() {
404 return componentMetadataDefinition.getMetadataDataDefinition().getProjectCode();
407 public void setProjectCode(String projectCode) {
408 componentMetadataDefinition.getMetadataDataDefinition().setProjectCode(projectCode);
411 public String getCsarUUID() {
412 return componentMetadataDefinition.getMetadataDataDefinition().getCsarUUID();
415 public void setCsarUUID(String csarUUID) {
416 componentMetadataDefinition.getMetadataDataDefinition().setCsarUUID(csarUUID);
419 public String getCsarVersion() {
420 return componentMetadataDefinition.getMetadataDataDefinition().getCsarVersion();
423 public void setCsarVersion(String csarVersion) {
424 componentMetadataDefinition.getMetadataDataDefinition().setCsarVersion(csarVersion);
427 public String getImportedToscaChecksum() {
428 return componentMetadataDefinition.getMetadataDataDefinition().getImportedToscaChecksum();
431 public void setImportedToscaChecksum(String importedToscaChecksum) {
432 componentMetadataDefinition.getMetadataDataDefinition().setImportedToscaChecksum(importedToscaChecksum);
435 public String getInvariantUUID() {
436 return componentMetadataDefinition.getMetadataDataDefinition().getInvariantUUID();
439 public void setInvariantUUID(String invariantUUID) {
440 componentMetadataDefinition.getMetadataDataDefinition().setInvariantUUID(invariantUUID);
443 public Optional<ComponentInstance> getComponentInstanceById(String id) {
444 if (componentInstances == null) {
445 return Optional.empty();
447 return componentInstances.stream().filter(instance -> id.equals(instance.getUniqueId())).findFirst();
450 public List<GroupDefinition> getGroups() {
453 public Optional<GroupDefinition> getGroupById(String id){
454 return groups.stream().filter(g -> g.getUniqueId().equals(id)).findAny();
458 public void setGroups(List<GroupDefinition> groups) {
459 this.groups = groups;
462 public Map<String, PolicyDefinition> getPolicies() {
466 public void setPolicies(Map<String, PolicyDefinition> policies) {
467 this.policies = policies;
471 public int hashCode() {
472 final int prime = 31;
474 result = prime * result + ((artifacts == null) ? 0 : artifacts.hashCode());
475 result = prime * result + ((categories == null) ? 0 : categories.hashCode());
476 result = prime * result + ((componentMetadataDefinition == null) ? 0 : componentMetadataDefinition.hashCode());
477 // result = prime * result + ((creatorUserId == null) ? 0 : creatorUserId.hashCode());
478 // result = prime * result + ((creatorFullName == null) ? 0 : creatorFullName.hashCode());
479 result = prime * result + ((deploymentArtifacts == null) ? 0 : deploymentArtifacts.hashCode());
480 // result = prime * result + ((lastUpdaterUserId == null) ? 0 : lastUpdaterUserId.hashCode());
481 // result = prime * result + ((lastUpdaterFullName == null) ? 0 : lastUpdaterFullName.hashCode());
482 result = prime * result + ((capabilities == null) ? 0 : capabilities.hashCode());
483 result = prime * result + ((requirements == null) ? 0 : requirements.hashCode());
484 result = prime * result + ((componentInstances == null) ? 0 : componentInstances.hashCode());
485 result = prime * result
486 + ((componentInstancesProperties == null) ? 0 : componentInstancesProperties.hashCode());
487 result = prime * result
488 + ((componentInstancesAttributes == null) ? 0 : componentInstancesAttributes.hashCode());
489 result = prime * result + ((componentInstancesInputs == null) ? 0 : componentInstancesInputs.hashCode());
490 result = prime * result + ((componentInstancesRelations == null) ? 0 : componentInstancesRelations.hashCode());
491 result = prime * result + ((groups == null) ? 0 : groups.hashCode());
492 result = prime * result + ((policies == null) ? 0 : policies.hashCode());
493 result = prime * result + ((derivedFromGenericType == null) ? 0 : derivedFromGenericType.hashCode());
494 result = prime * result + ((derivedFromGenericVersion == null) ? 0 : derivedFromGenericVersion.hashCode());
499 public boolean equals(Object obj) {
504 if (getClass() != obj.getClass())
506 Component other = (Component) obj;
507 if (artifacts == null) {
508 if (other.artifacts != null)
510 } else if (!artifacts.equals(other.artifacts))
512 if (categories == null) {
513 if (other.categories != null)
515 } else if (!categories.equals(other.categories))
517 if (componentMetadataDefinition == null) {
518 if (other.componentMetadataDefinition != null)
520 } else if (!componentMetadataDefinition.equals(other.componentMetadataDefinition))
522 // if (creatorUserId == null) {
523 // if (other.creatorUserId != null)
525 // } else if (!creatorUserId.equals(other.creatorUserId))
527 // if (creatorFullName == null) {
528 // if (other.creatorFullName != null)
530 // } else if (!creatorFullName.equals(other.creatorFullName))
532 if (deploymentArtifacts == null) {
533 if (other.deploymentArtifacts != null)
535 } else if (!deploymentArtifacts.equals(other.deploymentArtifacts))
537 // if (lastUpdaterUserId == null) {
538 // if (other.lastUpdaterUserId != null)
540 // } else if (!lastUpdaterUserId.equals(other.lastUpdaterUserId))
542 // if (lastUpdaterFullName == null) {
543 // if (other.lastUpdaterFullName != null)
545 // } else if (!lastUpdaterFullName.equals(other.lastUpdaterFullName))
547 if (componentInstances == null) {
548 if (other.componentInstances != null)
550 } else if (!componentInstances.equals(other.componentInstances))
552 if (componentInstancesProperties == null) {
553 if (other.componentInstancesProperties != null)
555 } else if (!componentInstancesProperties.equals(other.componentInstancesProperties))
558 if (!Objects.equals(componentInstancesAttributes, other.componentInstancesAttributes)) {
561 if (!Objects.equals(componentInstancesInputs, other.componentInstancesInputs)) {
564 if (componentInstancesRelations == null) {
565 if (other.componentInstancesRelations != null)
567 } else if (!componentInstancesRelations.equals(other.componentInstancesRelations))
569 if (requirements == null) {
570 if (other.requirements != null)
572 } else if (!requirements.equals(other.requirements))
574 if (capabilities == null) {
575 if (other.capabilities != null)
577 } else if (!capabilities.equals(other.capabilities))
579 if (groups == null) {
580 if (other.groups != null)
582 } else if (!groups.equals(other.groups))
584 if (policies == null) {
585 if (other.policies != null)
587 } else if (!policies.equals(other.policies))
589 if (derivedFromGenericType == null) {
590 if (other.derivedFromGenericType != null)
592 } else if (!derivedFromGenericType.equals(other.derivedFromGenericType))
594 if (derivedFromGenericVersion == null) {
595 if (other.derivedFromGenericVersion != null)
597 } else if (!derivedFromGenericVersion.equals(other.derivedFromGenericVersion))
602 public void addCategory(String category, String subCategory) {
603 if (category != null || subCategory != null) {
604 if (categories == null) {
605 categories = new ArrayList<>();
607 CategoryDefinition selectedCategory = null;
608 for (CategoryDefinition categoryDef : categories) {
609 if (categoryDef.getName().equals(category)) {
610 selectedCategory = categoryDef;
613 if (selectedCategory == null) {
614 selectedCategory = new CategoryDefinition();
615 selectedCategory.setName(category);
616 categories.add(selectedCategory);
618 List<SubCategoryDefinition> subcategories = selectedCategory.getSubcategories();
619 if (subcategories == null) {
620 subcategories = new ArrayList<>();
621 selectedCategory.setSubcategories(subcategories);
623 SubCategoryDefinition selectedSubcategory = null;
624 for (SubCategoryDefinition subcategory : subcategories) {
625 if (subcategory.getName().equals(subCategory)) {
626 selectedSubcategory = subcategory;
629 if (selectedSubcategory == null) {
630 selectedSubcategory = new SubCategoryDefinition();
631 selectedSubcategory.setName(subCategory);
632 subcategories.add(selectedSubcategory);
637 public void addCategory(CategoryDefinition category) {
638 addCategory(category, null);
641 public void addCategory(CategoryDefinition category, SubCategoryDefinition subCategory) {
642 if (categories == null) {
643 categories = new ArrayList<>();
645 boolean foundCat = false;
646 for (CategoryDefinition cat : categories) {
647 if (cat.getName().equals(category.getName())) {
649 if (subCategory != null) {
650 List<SubCategoryDefinition> subcategories = cat.getSubcategories();
651 if (subcategories == null) {
652 subcategories = new ArrayList<>();
653 cat.setSubcategories(subcategories);
655 for (SubCategoryDefinition subcat : subcategories) {
656 boolean foundSub = false;
657 if (subcat.getName().equals(subCategory.getName())) {
660 if (foundSub == false) {
661 subcategories.add(subCategory);
668 if (foundCat == false) {
669 if (subCategory != null) {
670 category.addSubCategory(subCategory);
672 categories.add(category);
676 public Map<String, List<ComponentInstanceProperty>> getComponentInstancesAttributes() {
677 return componentInstancesAttributes;
680 public void setComponentInstancesAttributes(
681 Map<String, List<ComponentInstanceProperty>> componentInstancesAttributes) {
682 this.componentInstancesAttributes = componentInstancesAttributes;
685 public Map<String, List<ComponentInstanceInput>> getComponentInstancesInputs() {
686 return componentInstancesInputs;
689 public List<ComponentInstanceInput> safeGetComponentInstanceInputsByName(String cmptInstanceName) {
690 List<ComponentInstanceInput> emptyPropsList = emptyList();
691 if (this.componentInstancesInputs == null) {
692 return emptyPropsList;
694 Optional<List<ComponentInstanceInput>> instanceInputsByName = this.componentInstances.stream()
695 .filter(ci -> ci.getName().equals(cmptInstanceName))
696 .map(ComponentInstance::getUniqueId)
697 .map(instanceId -> safeGetComponentInstanceEntity(instanceId, this.componentInstancesInputs))
699 return instanceInputsByName.orElse(emptyPropsList);
702 private <T> List<T> safeGetComponentInstanceEntity(String cmptInstanceId, Map<String, List<T>> instanceEntities) {
703 List<T> emptyPropsList = emptyList();
704 if (instanceEntities == null) {
705 return emptyPropsList;
707 List<T> cmptInstanceProps = instanceEntities.get(cmptInstanceId);
708 return cmptInstanceProps == null ? emptyPropsList : cmptInstanceProps;
713 public void setComponentInstancesInputs(Map<String, List<ComponentInstanceInput>> componentInstancesInputs) {
714 this.componentInstancesInputs = componentInstancesInputs;
717 public void setSpecificComponetTypeArtifacts(Map<String, ArtifactDefinition> specificComponentTypeArtifacts) {
718 // Implement where needed
721 public void setMetadataDefinition(ComponentMetadataDefinition metadataDefinition) {
722 this.componentMetadataDefinition = metadataDefinition;
725 public String fetchGenericTypeToscaNameFromConfig(){
726 // Implement where needed
727 return ConfigurationManager.getConfigurationManager().getConfiguration().getGenericAssetNodeTypes().get(this.assetType());
730 public String assetType(){
731 // Implement where needed
732 return this.getComponentType().getValue();
735 public boolean shouldGenerateInputs(){
736 // Implement where needed
740 public boolean deriveFromGeneric(){
741 // Implement where needed
745 public void setDerivedFromGenericInfo(Resource genericType){
746 derivedFromGenericType = genericType.getToscaResourceName();
747 derivedFromGenericVersion = genericType.getVersion();
750 public boolean isTopologyTemplate() {
751 return ToscaElementTypeEnum.TopologyTemplate.getValue().equals(toscaType);
754 public String getToscaType() {
758 public void setToscaType(String toscaType) {
759 this.toscaType = toscaType;
762 public List<AdditionalInformationDefinition> getAdditionalInformation() {
763 return additionalInformation;
766 public void setAdditionalInformation(List<AdditionalInformationDefinition> additionalInformation) {
767 this.additionalInformation = additionalInformation;
770 public PolicyDefinition getPolicyById(String id) {
771 return policies != null ? policies.get(id) : null;
774 public List<PolicyDefinition> resolvePoliciesList() {
775 if (policies == null) {
778 return new ArrayList<>(policies.values());
781 public List<PolicyDefinition> resolvePoliciesByComponentInstanceTarget(String instanceId) {
782 if (policies == null) {
785 return policies.values().stream()
786 .filter(policy -> policy.containsCmptInstanceAsTarget(instanceId))
787 .collect(Collectors.toList());
790 public List<GroupDefinition> resolveGroupsByMember(String instanceId) {
791 if (groups == null) {
794 return groups.stream()
795 .filter(group -> group.containsInstanceAsMember(instanceId))
796 .collect(Collectors.toList());