Commit c1fb21ac authored by Nikolaos Kyriakoulis's avatar Nikolaos Kyriakoulis
Browse files

Count only specifications from Categories that belong to a Service Catalog in...

Count only specifications from Categories that belong to a Service Catalog in the 'Published Service Specifications' endpoint
parent d4c6eb01
Loading
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -2,15 +2,19 @@ package org.etsi.osl.tmf.metrics.reposervices;

import org.etsi.osl.tmf.pm632.repo.IndividualRepository;
import org.etsi.osl.tmf.rcm634.repo.ResourceSpecificationRepository;
import org.etsi.osl.tmf.scm633.model.ServiceCatalog;
import org.etsi.osl.tmf.scm633.model.ServiceCategory;
import org.etsi.osl.tmf.scm633.repo.CandidateRepository;
import org.etsi.osl.tmf.scm633.repo.CatalogRepository;
import org.etsi.osl.tmf.scm633.repo.CategoriesRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.Duration;
import java.time.OffsetDateTime;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

@Service
public class GeneralMetricsRepoService {
@@ -21,6 +25,9 @@ public class GeneralMetricsRepoService {
    @Autowired
    ResourceSpecificationRepository resourceSpecificationRepository;

    @Autowired
    CatalogRepository catalogRepository;

    @Autowired
    CategoriesRepository categoriesRepository;

@@ -43,7 +50,12 @@ public class GeneralMetricsRepoService {
                Duration.between(lastRetrieved, now).compareTo(CACHE_DURATION) > 0) {

            int count = 0;
            List<ServiceCategory> serviceCategories = categoriesRepository.findByOrderByName();
            Set<ServiceCategory> serviceCategories = new HashSet<>();
            List<ServiceCatalog> serviceCatalogs = catalogRepository.findByOrderByName();

            for (ServiceCatalog serviceCatalog: serviceCatalogs) {
                serviceCategories.addAll(serviceCatalog.getCategoryObj());
            }

            for (ServiceCategory serviceCategory : serviceCategories) {
                count += serviceCategory.getServiceCandidateObj().size()
+13 −1
Original line number Diff line number Diff line
@@ -5,8 +5,10 @@ import org.etsi.osl.tmf.OpenAPISpringBoot;
import org.etsi.osl.tmf.pm632.model.IndividualCreate;
import org.etsi.osl.tmf.pm632.reposervices.IndividualRepoService;
import org.etsi.osl.tmf.rcm634.reposervices.ResourceSpecificationRepoService;
import org.etsi.osl.tmf.scm633.model.ServiceCatalog;
import org.etsi.osl.tmf.scm633.model.ServiceCategory;
import org.etsi.osl.tmf.scm633.reposervices.CandidateRepoService;
import org.etsi.osl.tmf.scm633.reposervices.CatalogRepoService;
import org.etsi.osl.tmf.scm633.reposervices.CategoryRepoService;
import org.junit.Before;
import org.junit.Test;
@@ -24,7 +26,9 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.context.WebApplicationContext;

import java.util.HashSet;
import java.util.List;
import java.util.Set;

import static org.assertj.core.api.Assertions.assertThat;
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
@@ -59,6 +63,9 @@ public class GeneralMetricsApiControllerTest {
    @Autowired
    CandidateRepoService candidateRepoService;

    @Autowired
    CatalogRepoService catalogRepoService;

    @Autowired
    CategoryRepoService categoryRepoService;

@@ -100,8 +107,13 @@ public class GeneralMetricsApiControllerTest {

        int totalSpecs = JsonPath.read(response, "$.publishedServiceSpecifications");

        List<ServiceCategory> serviceCategories = categoryRepoService.findAll();
        int count = 0;
        Set<ServiceCategory> serviceCategories = new HashSet<>();
        List<ServiceCatalog> serviceCatalogs = catalogRepoService.findAll();

        for (ServiceCatalog serviceCatalog : serviceCatalogs) {
            serviceCategories.addAll(serviceCatalog.getCategoryObj());
        }

        for (ServiceCategory serviceCategory : serviceCategories) {
            count += serviceCategory.getServiceCandidateObj().size() + serviceCategory.getServiceCandidateRefs().size();