aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org
diff options
context:
space:
mode:
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.java12
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/services/InstantiationTemplatesService.java27
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;
+ }
}