Skip to content
Snippets Groups Projects
Commit a62e051d authored by Nikolaos Kyriakoulis's avatar Nikolaos Kyriakoulis
Browse files

Use metrics models for API responses

parent 71f64001
No related branches found
No related tags found
3 merge requests!77Merging "develop" to "main" branch,!72pm628 measurementcollectionjob execution state not properly saved in the db,!66Created metrics endpoints for general TMF-related information
Pipeline #14001 passed
...@@ -4,6 +4,9 @@ import io.swagger.v3.oas.annotations.Operation; ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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();
} }
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 { ...@@ -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 { ...@@ -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 { ...@@ -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);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment