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 static java.util.Collections.emptyList;
24 import static java.util.Collections.emptyMap;
25 import static java.util.stream.Collectors.toMap;
26 import static org.apache.commons.collections.CollectionUtils.isEmpty;
27 import static org.apache.commons.collections.MapUtils.isEmpty;
29 import com.fasterxml.jackson.annotation.JsonIgnore;
30 import com.google.common.collect.Maps;
31 import java.util.ArrayList;
32 import java.util.HashMap;
33 import java.util.List;
35 import java.util.Objects;
36 import java.util.Optional;
37 import java.util.function.Predicate;
38 import java.util.stream.Collectors;
39 import lombok.EqualsAndHashCode;
42 import org.apache.commons.collections.MapUtils;
43 import org.openecomp.sdc.be.config.ConfigurationManager;
44 import org.openecomp.sdc.be.dao.utils.MapUtil;
45 import org.openecomp.sdc.be.datatypes.elements.CINodeFilterDataDefinition;
46 import org.openecomp.sdc.be.datatypes.elements.GroupDataDefinition;
47 import org.openecomp.sdc.be.datatypes.elements.PolicyDataDefinition;
48 import org.openecomp.sdc.be.datatypes.elements.PolicyTargetType;
49 import org.openecomp.sdc.be.datatypes.elements.PropertiesOwner;
50 import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
51 import org.openecomp.sdc.be.datatypes.elements.SubstitutionFilterDataDefinition;
52 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
53 import org.openecomp.sdc.be.model.category.CategoryDefinition;
54 import org.openecomp.sdc.be.model.category.SubCategoryDefinition;
55 import org.openecomp.sdc.be.model.jsonjanusgraph.datamodel.ToscaElementTypeEnum;
56 import org.openecomp.sdc.common.api.ArtifactTypeEnum;
57 import org.openecomp.sdc.common.log.api.ILogConfiguration;
61 @EqualsAndHashCode(onlyExplicitlyIncluded = true)
62 public abstract class Component implements PropertiesOwner {
64 protected List<AdditionalInformationDefinition> additionalInformation;
65 protected List<PropertyDefinition> properties;
66 private ComponentMetadataDefinition componentMetadataDefinition;
67 private Map<String, ArtifactDefinition> artifacts;
68 private Map<String, ArtifactDefinition> deploymentArtifacts;
69 private Map<String, ArtifactDefinition> toscaArtifacts;
70 @EqualsAndHashCode.Include
71 private List<CategoryDefinition> categories;
72 private List<ComponentInstance> componentInstances;
73 private List<RequirementCapabilityRelDef> componentInstancesRelations;
74 private Map<String, List<ComponentInstanceInput>> componentInstancesInputs;
75 private Map<String, List<ComponentInstanceProperty>> componentInstancesProperties;
76 private Map<String, List<ComponentInstanceAttribute>> componentInstancesAttributes;
77 private Map<String, List<CapabilityDefinition>> capabilities;
78 private Map<String, List<RequirementDefinition>> requirements;
79 private Map<String, List<ComponentInstanceInterface>> componentInstancesInterfaces;
80 private List<InputDefinition> inputs;
81 private List<GroupDefinition> groups;
82 private Map<String, PolicyDefinition> policies;
83 private String derivedFromGenericType;
84 private String derivedFromGenericVersion;
85 private String toscaType;
86 private Map<String, CINodeFilterDataDefinition> nodeFilterComponents;
87 private Map<String, SubstitutionFilterDataDefinition> substitutionFilterComponents;
88 private Map<String, InterfaceDefinition> interfaces;
89 private List<DataTypeDefinition> dataTypes;
90 private SubstitutionFilterDataDefinition substitutionFilter;
92 public Component(ComponentMetadataDefinition componentMetadataDefinition) {
93 this.componentMetadataDefinition = componentMetadataDefinition;
97 public ComponentMetadataDefinition getComponentMetadataDefinition() {
98 return componentMetadataDefinition;
102 @EqualsAndHashCode.Include
103 public String getUniqueId() {
104 return componentMetadataDefinition.getMetadataDataDefinition().getUniqueId();
107 public void setUniqueId(String uniqueId) {
108 componentMetadataDefinition.getMetadataDataDefinition().setUniqueId(uniqueId);
111 public void setHighestVersion(Boolean isHighestVersion) {
112 componentMetadataDefinition.getMetadataDataDefinition().setHighestVersion(isHighestVersion);
115 public void setState(LifecycleStateEnum state) {
116 componentMetadataDefinition.getMetadataDataDefinition().setState(state.name());
119 public String getCreatorUserId() {
120 return this.componentMetadataDefinition.getMetadataDataDefinition().getCreatorUserId();
123 public void setCreatorUserId(String creatorUserId) {
124 this.componentMetadataDefinition.getMetadataDataDefinition().setCreatorUserId(creatorUserId);
127 public String getCreatorFullName() {
128 return this.componentMetadataDefinition.getMetadataDataDefinition().getCreatorFullName();
131 public void setCreatorFullName(String creatorFullName) {
132 this.componentMetadataDefinition.getMetadataDataDefinition().setCreatorFullName(creatorFullName);
135 public String getLastUpdaterUserId() {
136 return this.componentMetadataDefinition.getMetadataDataDefinition().getLastUpdaterUserId();
139 public void setLastUpdaterUserId(String lastUpdaterUserId) {
140 this.componentMetadataDefinition.getMetadataDataDefinition().setLastUpdaterUserId(lastUpdaterUserId);
143 public String getLastUpdaterFullName() {
144 return this.componentMetadataDefinition.getMetadataDataDefinition().getLastUpdaterFullName();
147 public void setLastUpdaterFullName(String lastUpdaterFullName) {
148 this.componentMetadataDefinition.getMetadataDataDefinition().setLastUpdaterFullName(lastUpdaterFullName);
152 @EqualsAndHashCode.Include
153 public String getName() {
154 return componentMetadataDefinition.getMetadataDataDefinition().getName();
157 public void setName(String name) {
158 componentMetadataDefinition.getMetadataDataDefinition().setName(name);
161 public String getVersion() {
162 return componentMetadataDefinition.getMetadataDataDefinition().getVersion();
165 public void setVersion(String version) {
166 componentMetadataDefinition.getMetadataDataDefinition().setVersion(version);
169 public Boolean isHighestVersion() {
170 return componentMetadataDefinition.getMetadataDataDefinition().isHighestVersion();
173 public Long getCreationDate() {
174 return componentMetadataDefinition.getMetadataDataDefinition().getCreationDate();
177 public void setCreationDate(Long creationDate) {
178 componentMetadataDefinition.getMetadataDataDefinition().setCreationDate(creationDate);
181 public Long getLastUpdateDate() {
182 return componentMetadataDefinition.getMetadataDataDefinition().getLastUpdateDate();
185 public void setLastUpdateDate(Long lastUpdateDate) {
186 componentMetadataDefinition.getMetadataDataDefinition().setLastUpdateDate(lastUpdateDate);
189 public String getDescription() {
190 return componentMetadataDefinition.getMetadataDataDefinition().getDescription();
193 public void setDescription(String description) {
194 componentMetadataDefinition.getMetadataDataDefinition().setDescription(description);
197 public LifecycleStateEnum getLifecycleState() {
198 if (componentMetadataDefinition.getMetadataDataDefinition().getState() != null) {
199 return LifecycleStateEnum.valueOf(componentMetadataDefinition.getMetadataDataDefinition().getState());
205 public void setLifecycleState(LifecycleStateEnum state) {
207 this.componentMetadataDefinition.getMetadataDataDefinition().setState(state.name());
211 public List<String> getTags() {
212 return componentMetadataDefinition.getMetadataDataDefinition().getTags();
215 public void setTags(List<String> tags) {
216 componentMetadataDefinition.getMetadataDataDefinition().setTags(tags);
219 public String getConformanceLevel() {
220 return componentMetadataDefinition.getMetadataDataDefinition().getConformanceLevel();
223 public void setConformanceLevel(String conformanceLevel) {
224 componentMetadataDefinition.getMetadataDataDefinition().setConformanceLevel(conformanceLevel);
227 public String getIcon() {
228 return componentMetadataDefinition.getMetadataDataDefinition().getIcon();
231 public void setIcon(String icon) {
232 componentMetadataDefinition.getMetadataDataDefinition().setIcon(icon);
235 public String getContactId() {
236 return componentMetadataDefinition.getMetadataDataDefinition().getContactId();
239 public void setContactId(String contactId) {
240 componentMetadataDefinition.getMetadataDataDefinition().setContactId(contactId);
243 public List<InputDefinition> safeGetInputs() {
244 return inputs == null ? new ArrayList<>() : inputs;
247 public String getUUID() {
248 return componentMetadataDefinition.getMetadataDataDefinition().getUUID();
251 public void setUUID(String uUID) {
252 componentMetadataDefinition.getMetadataDataDefinition().setUUID(uUID);
255 public String getSystemName() {
256 return componentMetadataDefinition.getMetadataDataDefinition().getSystemName();
259 public void setSystemName(String systemName) {
260 componentMetadataDefinition.getMetadataDataDefinition().setSystemName(systemName);
263 public Map<String, String> getAllVersions() {
264 return componentMetadataDefinition.getMetadataDataDefinition().getAllVersions();
267 public void setAllVersions(Map<String, String> allVersions) {
268 componentMetadataDefinition.getMetadataDataDefinition().setAllVersions(allVersions);
271 public Map<String, ArtifactDefinition> getAllArtifacts() {
272 HashMap<String, ArtifactDefinition> allArtifacts = new HashMap<>();
273 allArtifacts.putAll(Optional.ofNullable(this.deploymentArtifacts).orElse(emptyMap()));
274 allArtifacts.putAll(Optional.ofNullable(this.artifacts).orElse(emptyMap()));
279 @EqualsAndHashCode.Include
280 public String getNormalizedName() {
281 return componentMetadataDefinition.getMetadataDataDefinition().getNormalizedName();
284 public void setNormalizedName(String normalizedName) {
285 componentMetadataDefinition.getMetadataDataDefinition().setNormalizedName(normalizedName);
288 public ComponentTypeEnum getComponentType() {
289 return this.componentMetadataDefinition.getMetadataDataDefinition().getComponentType();
292 public boolean isService() {
293 return getComponentType() == ComponentTypeEnum.SERVICE;
296 public void setComponentType(ComponentTypeEnum componentType) {
297 this.componentMetadataDefinition.getMetadataDataDefinition().setComponentType(componentType);
300 public Map<String, List<CapabilityDefinition>> getCapabilities() {
301 if (MapUtils.isEmpty(capabilities)) {
302 capabilities = Maps.newHashMap();
307 public List<ComponentInstance> safeGetComponentInstances() {
308 if (componentInstances != null) {
309 return componentInstances;
315 public Optional<ComponentInstance> fetchInstanceById(String instanceId) {
316 return Optional.ofNullable(MapUtil.toMap(componentInstances, ComponentInstance::getUniqueId).get(instanceId));
319 public Map<String, ArtifactDefinition> safeGetComponentInstanceDeploymentArtifacts(String componentInstanceId) {
320 return getComponentInstanceById(componentInstanceId).map(ComponentInstance::safeGetDeploymentArtifacts)
324 public Map<String, ArtifactDefinition> safeGetComponentInstanceInformationalArtifacts(String componentInstanceId) {
325 return getComponentInstanceById(componentInstanceId).map(ComponentInstance::safeGetInformationalArtifacts)
329 public List<ArtifactDefinition> safeGetComponentInstanceHeatArtifacts(String componentInstanceId) {
330 return safeGetComponentInstanceDeploymentArtifacts(componentInstanceId).values().stream()
331 .filter(artifact -> ArtifactTypeEnum.HEAT_ENV.getType().equals(artifact.getArtifactType()))
332 .collect(Collectors.toList());
335 public Map<String, List<ComponentInstanceProperty>> safeGetComponentInstancesProperties() {
336 return componentInstancesProperties == null ? emptyMap() : componentInstancesProperties;
339 public Map<String, List<ComponentInstanceProperty>> safeGetUiComponentInstancesProperties() {
340 return componentInstancesProperties == null ? emptyMap() : findUiComponentInstancesProperties();
343 private Map<String, List<ComponentInstanceProperty>> findUiComponentInstancesProperties() {
344 List<String> instancesFromUi = componentInstances.stream().filter(i -> !i.isCreatedFromCsar())
345 .map(ComponentInstance::getUniqueId).collect(Collectors.toList());
346 return componentInstancesProperties.entrySet().stream().filter(e -> instancesFromUi.contains(e.getKey()))
347 .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
350 public Map<String, List<ComponentInstanceInput>> safeGetComponentInstancesInputs() {
351 return componentInstancesInputs == null ? emptyMap() : componentInstancesInputs;
354 public Map<String, List<ComponentInstanceInput>> safeGetUiComponentInstancesInputs() {
355 return componentInstancesInputs == null ? emptyMap() : findUiComponentInstancesInputs();
358 private Map<String, List<ComponentInstanceInput>> findUiComponentInstancesInputs() {
359 List<String> instancesFromUi = componentInstances.stream().filter(i -> !i.isCreatedFromCsar())
360 .map(ComponentInstance::getUniqueId).collect(Collectors.toList());
361 return componentInstancesInputs.entrySet().stream().filter(e -> instancesFromUi.contains(e.getKey()))
362 .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
365 public List<ComponentInstanceProperty> safeGetComponentInstanceProperties(String cmptInstacneId) {
366 return this.safeGetComponentInstanceEntity(cmptInstacneId, this.componentInstancesProperties);
369 public List<ComponentInstanceInput> safeGetComponentInstanceInput(String comptInstanceId) {
370 return this.safeGetComponentInstanceEntity(comptInstanceId, this.componentInstancesInputs);
373 public List<ComponentInstanceInterface> safeGetComponentInstanceInterfaces(String cmptInstacneId) {
374 return this.safeGetComponentInstanceEntity(cmptInstacneId, this.componentInstancesInterfaces);
377 public Boolean getIsDeleted() {
378 return componentMetadataDefinition.getMetadataDataDefinition().isDeleted();
381 public void setIsDeleted(Boolean isDeleted) {
382 componentMetadataDefinition.getMetadataDataDefinition().setIsDeleted(isDeleted);
385 public String getProjectCode() {
386 return componentMetadataDefinition.getMetadataDataDefinition().getProjectCode();
389 public void setProjectCode(String projectCode) {
390 componentMetadataDefinition.getMetadataDataDefinition().setProjectCode(projectCode);
393 public String getCsarUUID() {
394 return componentMetadataDefinition.getMetadataDataDefinition().getCsarUUID();
397 public void setCsarUUID(String csarUUID) {
398 componentMetadataDefinition.getMetadataDataDefinition().setCsarUUID(csarUUID);
401 public String getCsarVersion() {
402 return componentMetadataDefinition.getMetadataDataDefinition().getCsarVersion();
405 public void setCsarVersion(String csarVersion) {
406 componentMetadataDefinition.getMetadataDataDefinition().setCsarVersion(csarVersion);
409 public String getImportedToscaChecksum() {
410 return componentMetadataDefinition.getMetadataDataDefinition().getImportedToscaChecksum();
413 public void setImportedToscaChecksum(String importedToscaChecksum) {
414 componentMetadataDefinition.getMetadataDataDefinition().setImportedToscaChecksum(importedToscaChecksum);
417 public String getInvariantUUID() {
418 return componentMetadataDefinition.getMetadataDataDefinition().getInvariantUUID();
421 public void setInvariantUUID(String invariantUUID) {
422 componentMetadataDefinition.getMetadataDataDefinition().setInvariantUUID(invariantUUID);
425 public Optional<ComponentInstance> getComponentInstanceById(String id) {
426 return getComponentInstanceByPredicate(instance -> id.equals(instance.getUniqueId()));
429 public Optional<ComponentInstance> getComponentInstanceByName(String name) {
430 return getComponentInstanceByPredicate(instance -> name.equals(instance.getName()));
433 private Optional<ComponentInstance> getComponentInstanceByPredicate(Predicate<ComponentInstance> predicate) {
434 if (componentInstances == null) {
435 return Optional.empty();
437 return componentInstances.stream().filter(predicate).findFirst();
440 public List<GroupDefinition> safeGetGroups() {
441 return groups == null ? emptyList() : groups;
444 public Optional<GroupDefinition> getGroupById(String id) {
445 return getGroupByPredicate(group -> group.getUniqueId().equals(id));
448 public Optional<GroupDefinition> getGroupByInvariantName(String name) {
449 return getGroupByPredicate(group -> name.equals(group.getInvariantName()));
452 public boolean containsGroupWithInvariantName(String invariantName) {
453 return groups != null && groups.stream().anyMatch(gr -> invariantName.equals(gr.getInvariantName()));
456 private Optional<GroupDefinition> getGroupByPredicate(Predicate<GroupDefinition> predicate) {
457 if (groups == null) {
458 return Optional.empty();
460 return groups.stream().filter(predicate).findAny();
463 public void addGroups(List<GroupDefinition> groupsToAdd) {
464 if (groups == null) {
465 groups = new ArrayList<>();
467 groups.addAll(groupsToAdd);
470 public void addPolicy(PolicyDefinition policyDefinition) {
471 if (MapUtils.isEmpty(this.policies)) {
472 this.policies = new HashMap<>();
475 this.policies.put(policyDefinition.getUniqueId(), policyDefinition);
478 public void addProperty(PropertyDefinition propertyDefinition) {
479 if (org.apache.commons.collections.CollectionUtils.isEmpty(this.properties)) {
480 this.properties = new ArrayList<>();
483 this.properties.add(propertyDefinition);;
486 public void addCategory(String category, String subCategory) {
487 if (category != null || subCategory != null) {
488 if (categories == null) {
489 categories = new ArrayList<>();
491 CategoryDefinition selectedCategory = null;
492 for (CategoryDefinition categoryDef : categories) {
493 if (categoryDef.getName().equals(category)) {
494 selectedCategory = categoryDef;
497 if (selectedCategory == null) {
498 selectedCategory = new CategoryDefinition();
499 selectedCategory.setName(category);
500 categories.add(selectedCategory);
502 List<SubCategoryDefinition> subcategories = selectedCategory.getSubcategories();
503 if (subcategories == null) {
504 subcategories = new ArrayList<>();
505 selectedCategory.setSubcategories(subcategories);
507 SubCategoryDefinition selectedSubcategory = null;
508 for (SubCategoryDefinition subcategory : subcategories) {
509 if (subcategory.getName().equals(subCategory)) {
510 selectedSubcategory = subcategory;
513 if (selectedSubcategory == null) {
514 selectedSubcategory = new SubCategoryDefinition();
515 selectedSubcategory.setName(subCategory);
516 subcategories.add(selectedSubcategory);
521 public void addCategory(CategoryDefinition category) {
522 addCategory(category, null);
525 public void addCategory(CategoryDefinition category, SubCategoryDefinition subCategory) {
526 if (categories == null) {
527 categories = new ArrayList<>();
529 boolean foundCat = false;
530 for (CategoryDefinition cat : categories) {
531 if (cat.getName().equals(category.getName())) {
533 if (subCategory != null) {
534 List<SubCategoryDefinition> subcategories = cat.getSubcategories();
535 if (subcategories == null) {
536 subcategories = new ArrayList<>();
537 cat.setSubcategories(subcategories);
539 for (SubCategoryDefinition subcat : subcategories) {
540 boolean foundSub = false;
541 if (subcat.getName().equals(subCategory.getName())) {
545 subcategories.add(subCategory);
553 if (subCategory != null) {
554 category.addSubCategory(subCategory);
556 categories.add(category);
560 public Map<String, List<PropertyDataDefinition>> safeGetGroupsProperties() {
561 if (isEmpty(groups)) {
564 return groups.stream().filter(gr -> Objects.nonNull(gr.getProperties()))
565 .collect(toMap(GroupDataDefinition::getUniqueId, GroupDataDefinition::getProperties));
568 public Map<String, List<PropertyDataDefinition>> safeGetPolicyProperties() {
569 if (isEmpty(policies)) {
572 return policies.values().stream().filter(policy -> Objects.nonNull(policy.getProperties()))
573 .collect(toMap(PolicyDataDefinition::getUniqueId, PolicyDataDefinition::getProperties));
576 public List<ComponentInstanceInput> safeGetComponentInstanceInputsByName(String cmptInstanceName) {
577 List<ComponentInstanceInput> emptyPropsList = emptyList();
578 if (this.componentInstancesInputs == null) {
579 return emptyPropsList;
581 return this.componentInstances.stream().filter(ci -> ci.getName().equals(cmptInstanceName))
582 .map(ComponentInstance::getUniqueId)
583 .map(instanceId -> safeGetComponentInstanceEntity(instanceId, this.componentInstancesInputs)).findAny()
584 .orElse(emptyPropsList);
587 private <T> List<T> safeGetComponentInstanceEntity(String cmptInstanceId, Map<String, List<T>> instanceEntities) {
588 List<T> emptyPropsList = emptyList();
589 if (instanceEntities == null) {
590 return emptyPropsList;
592 List<T> cmptInstanceProps = instanceEntities.get(cmptInstanceId);
593 return cmptInstanceProps == null ? emptyPropsList : cmptInstanceProps;
596 public void setSpecificComponetTypeArtifacts(Map<String, ArtifactDefinition> specificComponentTypeArtifacts) {
597 // Implement where needed
600 public String fetchGenericTypeToscaNameFromConfig() {
601 return ConfigurationManager.getConfigurationManager().getConfiguration().getGenericAssetNodeTypes()
602 .get(this.assetType());
605 protected <A> Optional<A> getHeadOption(List<A> list) {
606 return list == null || list.isEmpty() ? Optional.empty() : Optional.ofNullable(list.get(0));
609 public String assetType() {
610 // Implement where needed
611 return this.getComponentType().getValue();
614 public boolean shouldGenerateInputs() {
615 // Implement where needed
619 public boolean deriveFromGeneric() {
620 // Implement where needed
624 public void setDerivedFromGenericInfo(Resource genericType) {
625 derivedFromGenericType = genericType.getToscaResourceName();
626 derivedFromGenericVersion = genericType.getVersion();
629 public boolean isTopologyTemplate() {
630 return ToscaElementTypeEnum.TOPOLOGY_TEMPLATE.getValue().equals(toscaType);
633 public PolicyDefinition getPolicyById(String id) {
634 return policies != null ? policies.get(id) : null;
637 public List<PolicyDefinition> resolvePoliciesList() {
638 if (policies == null) {
641 return new ArrayList<>(policies.values());
644 public List<PolicyDefinition> resolvePoliciesContainingTarget(String targetId, PolicyTargetType targetType) {
645 Predicate<PolicyDefinition> containsTarget = policy -> policy.containsTarget(targetId, targetType);
646 return resolvePoliciesByPredicate(containsTarget);
649 private List<PolicyDefinition> resolvePoliciesByPredicate(Predicate<PolicyDefinition> policyPredicate) {
650 if (policies == null) {
653 return policies.values().stream().filter(policyPredicate).collect(Collectors.toList());
656 public List<GroupDefinition> resolveGroupsByMember(String instanceId) {
657 if (groups == null) {
660 return groups.stream().filter(group -> group.containsInstanceAsMember(instanceId)).collect(Collectors.toList());
663 public String getActualComponentType() {
664 return componentMetadataDefinition.getMetadataDataDefinition().getActualComponentType();
667 public Boolean isArchived() {
668 return componentMetadataDefinition.getMetadataDataDefinition().isArchived();
671 public void setArchived(Boolean archived) {
672 componentMetadataDefinition.getMetadataDataDefinition().setArchived(archived);
675 public Long getArchiveTime() {
676 return componentMetadataDefinition.getMetadataDataDefinition().getArchiveTime();
679 public void setArchiveTime(Long archiveTime) {
680 componentMetadataDefinition.getMetadataDataDefinition().setArchiveTime(archiveTime);
683 public Boolean isVspArchived() {
684 return componentMetadataDefinition.getMetadataDataDefinition().isVspArchived();
687 public void setVspArchived(Boolean vspArchived) {
688 componentMetadataDefinition.getMetadataDataDefinition().setVspArchived(vspArchived);
691 // supportability log method return map of component metadata teddy.h
692 public Map<String, String> getComponentMetadataForSupportLog() {
693 Map<String, String> componentMetadata = new HashMap<>();
694 componentMetadata.put(ILogConfiguration.MDC_SUPPORTABLITY_COMPONENT_NAME, this.getName());
695 componentMetadata.put(ILogConfiguration.MDC_SUPPORTABLITY_COMPONENT_VERSION, this.getVersion());
696 componentMetadata.put(ILogConfiguration.MDC_SUPPORTABLITY_COMPONENT_UUID, this.getUUID());
697 componentMetadata.put(ILogConfiguration.MDC_SUPPORTABLITY_CSAR_UUID, this.getCsarUUID());
698 componentMetadata.put(ILogConfiguration.MDC_SUPPORTABLITY_CSAR_VERSION, this.getCsarVersion());
699 return componentMetadata;