From 6291d31b674ac0f1de86211ec801772f3de3abd1 Mon Sep 17 00:00:00 2001 From: Alexey Sandler Date: Tue, 7 Jan 2020 10:03:30 +0200 Subject: Add isInstantiationTemplateExists to service model list During deploy from SDC added isInstantiationTemplateExists, that informs if template exists in service by model-service-id. Issue-ID: VID-739 Change-Id: I3de909c3976fe32cba25bcb39b9f35e566467760 Signed-off-by: Alexey Sandler --- .../main/java/org/onap/vid/asdc/beans/Service.java | 12 ++++++++++ .../services/InstantiationTemplatesService.java | 27 +++++++++++++++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) (limited to 'vid-app-common/src/main/java/org/onap') diff --git a/vid-app-common/src/main/java/org/onap/vid/asdc/beans/Service.java b/vid-app-common/src/main/java/org/onap/vid/asdc/beans/Service.java index 0d37fb39e..092cfe4e2 100644 --- a/vid-app-common/src/main/java/org/onap/vid/asdc/beans/Service.java +++ b/vid-app-common/src/main/java/org/onap/vid/asdc/beans/Service.java @@ -76,6 +76,8 @@ public class Service { private Collection resources; private String orchestrationType; + + private Boolean isInstantiationTemplateExists; public static class ServiceBuilder { @@ -204,6 +206,11 @@ public class Service { return orchestrationType; } + public Boolean getIsInstantiationTemplateExists() { + return isInstantiationTemplateExists; + } + + public void setUuid(String uuid) { this.uuid = uuid; } @@ -256,12 +263,17 @@ public class Service { this.orchestrationType = orchestrationType; } + public void setIsInstantiationTemplateExists(Boolean isInstantiationTemplateExists) { + this.isInstantiationTemplateExists = isInstantiationTemplateExists; + } + @Override public String toString() { return uuid; } @Override + public int hashCode() { return UUID.fromString(getUuid()).hashCode(); } diff --git a/vid-app-common/src/main/java/org/onap/vid/services/InstantiationTemplatesService.java b/vid-app-common/src/main/java/org/onap/vid/services/InstantiationTemplatesService.java index aa0031104..c033fbd59 100644 --- a/vid-app-common/src/main/java/org/onap/vid/services/InstantiationTemplatesService.java +++ b/vid-app-common/src/main/java/org/onap/vid/services/InstantiationTemplatesService.java @@ -22,28 +22,38 @@ package org.onap.vid.services; import static java.util.Collections.emptyMap; import static java.util.Objects.requireNonNull; +import static java.util.stream.Collectors.toList; +import java.util.Collection; import java.util.Map; +import java.util.Set; import java.util.UUID; import javax.inject.Inject; +import org.onap.vid.asdc.beans.Service; import org.onap.vid.dal.AsyncInstantiationRepository; import org.onap.vid.model.ModelUtil; import org.onap.vid.model.serviceInstantiation.BaseResource; import org.onap.vid.model.serviceInstantiation.ServiceInstantiation; import org.onap.vid.model.serviceInstantiation.ServiceInstantiationTemplate; +import org.onap.vid.properties.Features; import org.springframework.stereotype.Component; +import org.togglz.core.manager.FeatureManager; @Component public class InstantiationTemplatesService { private final ModelUtil modelUtil; private final AsyncInstantiationRepository asyncInstantiationRepository; + private FeatureManager featureManager; + @Inject public InstantiationTemplatesService(ModelUtil modelUtil, - AsyncInstantiationRepository asyncInstantiationRepository) { + AsyncInstantiationRepository asyncInstantiationRepository, + FeatureManager featureManager) { this.modelUtil = modelUtil; this.asyncInstantiationRepository = asyncInstantiationRepository; + this.featureManager = featureManager; } public ServiceInstantiationTemplate getJobRequestAsTemplate(UUID jobId) { @@ -64,4 +74,19 @@ public class InstantiationTemplatesService { ); } + public Collection setOnEachServiceIsTemplateExists(Collection services){ + if (!featureManager.isActive(Features.FLAG_2004_CREATE_ANOTHER_INSTANCE_FROM_TEMPLATE)){ + return services; + } + + Set serviceModelIdsFromDB = asyncInstantiationRepository.getAllTemplatesServiceModelIds(); + + return services.stream().map(it -> setTemplateExistForService(it, serviceModelIdsFromDB)).collect(toList()); + } + + protected Service setTemplateExistForService(Service service, Set serviceModelIdsFromDb) { + + service.setIsInstantiationTemplateExists(serviceModelIdsFromDb.contains(service.getUuid())); + return service; + } } -- cgit 1.2.3-korg