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) {
);
}
+ 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;
+ }
}