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

Use metrics models for API responses

parent 71f64001
Loading
Loading
Loading
Loading
Loading
+6 −3
Original line number Original line Diff line number Diff line
@@ -4,6 +4,9 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.etsi.osl.tmf.metrics.PublishedServiceSpecifications;
import org.etsi.osl.tmf.metrics.RegisteredIndividuals;
import org.etsi.osl.tmf.metrics.RegisteredResourceSpecifications;
import org.slf4j.Logger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.LoggerFactory;
import org.springframework.http.ResponseEntity;
import org.springframework.http.ResponseEntity;
@@ -24,7 +27,7 @@ public interface MetricsApi {
            @ApiResponse(responseCode = "500", description = "Internal Server Error")
            @ApiResponse(responseCode = "500", description = "Internal Server Error")
    })
    })
    @RequestMapping(value = "/metrics/registeredIndividuals", method = RequestMethod.GET, produces = "application/json;charset=utf-8")
    @RequestMapping(value = "/metrics/registeredIndividuals", method = RequestMethod.GET, produces = "application/json;charset=utf-8")
    ResponseEntity<Map<String, Integer>> getRegisteredIndividuals();
    ResponseEntity<RegisteredIndividuals> getRegisteredIndividuals();


    @Operation(summary = "Get total number of published service specifications", operationId = "getPublishedServiceSpecifications")
    @Operation(summary = "Get total number of published service specifications", operationId = "getPublishedServiceSpecifications")
    @ApiResponses(value = {
    @ApiResponses(value = {
@@ -33,7 +36,7 @@ public interface MetricsApi {
            @ApiResponse(responseCode = "500", description = "Internal Server Error")
            @ApiResponse(responseCode = "500", description = "Internal Server Error")
    })
    })
    @RequestMapping(value = "/metrics/publishedServiceSpecifications", method = RequestMethod.GET, produces = "application/json;charset=utf-8")
    @RequestMapping(value = "/metrics/publishedServiceSpecifications", method = RequestMethod.GET, produces = "application/json;charset=utf-8")
    ResponseEntity<Map<String, Integer>> getPublishedServiceSpecifications();
    ResponseEntity<PublishedServiceSpecifications> getPublishedServiceSpecifications();


    @Operation(summary = "Get total number of registered resource specifications", operationId = "getRegisteredResourceSpecifications")
    @Operation(summary = "Get total number of registered resource specifications", operationId = "getRegisteredResourceSpecifications")
    @ApiResponses(value = {
    @ApiResponses(value = {
@@ -42,5 +45,5 @@ public interface MetricsApi {
            @ApiResponse(responseCode = "500", description = "Internal Server Error")
            @ApiResponse(responseCode = "500", description = "Internal Server Error")
    })
    })
    @RequestMapping(value = "/metrics/registeredResourceSpecifications", method = RequestMethod.GET, produces = "application/json;charset=utf-8")
    @RequestMapping(value = "/metrics/registeredResourceSpecifications", method = RequestMethod.GET, produces = "application/json;charset=utf-8")
    ResponseEntity<Map<String, Integer>> getRegisteredResourceSpecifications();
    ResponseEntity<RegisteredResourceSpecifications> getRegisteredResourceSpecifications();
}
}
+9 −9
Original line number Original line Diff line number Diff line
package org.etsi.osl.tmf.metrics.api;
package org.etsi.osl.tmf.metrics.api;


import org.etsi.osl.tmf.metrics.PublishedServiceSpecifications;
import org.etsi.osl.tmf.metrics.RegisteredIndividuals;
import org.etsi.osl.tmf.metrics.RegisteredResourceSpecifications;
import org.etsi.osl.tmf.metrics.reposervices.MetricsRepoService;
import org.etsi.osl.tmf.metrics.reposervices.MetricsRepoService;
import org.slf4j.Logger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.LoggerFactory;
@@ -24,11 +27,10 @@ public class MetricsApiController implements MetricsApi {
    }
    }


    @Override
    @Override
    public ResponseEntity<Map<String, Integer>> getRegisteredIndividuals() {
    public ResponseEntity<RegisteredIndividuals> getRegisteredIndividuals() {
        try {
        try {
            int totalIndividuals = generalMetricsRepoService.countRegisteredIndividuals();
            int totalIndividuals = generalMetricsRepoService.countRegisteredIndividuals();
            Map<String, Integer> response = new HashMap<>();
            RegisteredIndividuals response = new RegisteredIndividuals(totalIndividuals);
            response.put("registeredIndividuals", totalIndividuals);
            return new ResponseEntity<>(response, HttpStatus.OK);
            return new ResponseEntity<>(response, HttpStatus.OK);
        } catch (Exception e) {
        } catch (Exception e) {
            log.error("Couldn't retrieve total registered individuals. ", e);
            log.error("Couldn't retrieve total registered individuals. ", e);
@@ -37,11 +39,10 @@ public class MetricsApiController implements MetricsApi {
    }
    }


    @Override
    @Override
    public ResponseEntity<Map<String, Integer>> getPublishedServiceSpecifications() {
    public ResponseEntity<PublishedServiceSpecifications> getPublishedServiceSpecifications() {
        try {
        try {
            int totalSpecifications = generalMetricsRepoService.countPublishedServiceSpecifications();
            int totalSpecifications = generalMetricsRepoService.countPublishedServiceSpecifications();
            Map<String, Integer> response = new HashMap<>();
            PublishedServiceSpecifications response = new PublishedServiceSpecifications(totalSpecifications);
            response.put("publishedServiceSpecifications", totalSpecifications);
            return new ResponseEntity<>(response, HttpStatus.OK);
            return new ResponseEntity<>(response, HttpStatus.OK);
        } catch (Exception e) {
        } catch (Exception e) {
            log.error("Couldn't retrieve total published service specifications. ", e);
            log.error("Couldn't retrieve total published service specifications. ", e);
@@ -50,11 +51,10 @@ public class MetricsApiController implements MetricsApi {
    }
    }


    @Override
    @Override
    public ResponseEntity<Map<String, Integer>> getRegisteredResourceSpecifications() {
    public ResponseEntity<RegisteredResourceSpecifications> getRegisteredResourceSpecifications() {
        try {
        try {
            int totalResourceSpecifications = generalMetricsRepoService.countRegisteredResourceSpecifications();
            int totalResourceSpecifications = generalMetricsRepoService.countRegisteredResourceSpecifications();
            Map<String, Integer> response = new HashMap<>();
            RegisteredResourceSpecifications response = new RegisteredResourceSpecifications(totalResourceSpecifications);
            response.put("registeredResourceSpecifications", totalResourceSpecifications);
            return new ResponseEntity<>(response, HttpStatus.OK);
            return new ResponseEntity<>(response, HttpStatus.OK);
        } catch (Exception e) {
        } catch (Exception e) {
            log.error("Couldn't retrieve total registered resource specifications. ", e);
            log.error("Couldn't retrieve total registered resource specifications. ", e);