diff options
Diffstat (limited to 'vid-app-common/src/main/java/org')
-rw-r--r-- | vid-app-common/src/main/java/org/onap/vid/asdc/beans/Service.java | 12 | ||||
-rw-r--r-- | vid-app-common/src/main/java/org/onap/vid/services/InstantiationTemplatesService.java | 27 |
2 files changed, 38 insertions, 1 deletions
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<SubResource> 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<Service> setOnEachServiceIsTemplateExists(Collection<Service> services){ + if (!featureManager.isActive(Features.FLAG_2004_CREATE_ANOTHER_INSTANCE_FROM_TEMPLATE)){ + return services; + } + + Set<String> serviceModelIdsFromDB = asyncInstantiationRepository.getAllTemplatesServiceModelIds(); + + return services.stream().map(it -> setTemplateExistForService(it, serviceModelIdsFromDB)).collect(toList()); + } + + protected Service setTemplateExistForService(Service service, Set<String> serviceModelIdsFromDb) { + + service.setIsInstantiationTemplateExists(serviceModelIdsFromDb.contains(service.getUuid())); + return service; + } } |