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

Use metrics model for NFV-related information

parent b5930fc5
Loading
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -4,13 +4,15 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.etsi.osl.model.nfv.metrics.RegisteredManoProviders;
import org.etsi.osl.model.nfv.metrics.RegisteredNSDs;
import org.etsi.osl.model.nfv.metrics.RegisteredVNFs;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import java.util.Map;

@Tag(name = "NFV_MetricsApi")
public interface MetricsApi {
@@ -24,7 +26,7 @@ public interface MetricsApi {
            @ApiResponse(responseCode = "500", description = "Internal Server Error")
    })
    @RequestMapping(value = "/metrics/registeredNsds", method = RequestMethod.GET, produces = "application/json;charset=utf-8")
    ResponseEntity<Map<String, Integer>> getRegisteredNsds();
    ResponseEntity<RegisteredNSDs> getRegisteredNsds();

    @Operation(summary = "Get total number of registered VNFs", operationId = "getRegisteredVnfs")
    @ApiResponses(value = {
@@ -33,7 +35,7 @@ public interface MetricsApi {
            @ApiResponse(responseCode = "500", description = "Internal Server Error")
    })
    @RequestMapping(value = "/metrics/registeredVnfs", method = RequestMethod.GET, produces = "application/json;charset=utf-8")
    ResponseEntity<Map<String, Integer>> getRegisteredVnfs();
    ResponseEntity<RegisteredVNFs> getRegisteredVnfs();

    @Operation(summary = "Get total number of registered Mano Providers", operationId = "getRegisteredManoProviders")
    @ApiResponses(value = {
@@ -42,5 +44,5 @@ public interface MetricsApi {
            @ApiResponse(responseCode = "500", description = "Internal Server Error")
    })
    @RequestMapping(value = "/metrics/registeredManoProviders", method = RequestMethod.GET, produces = "application/json;charset=utf-8")
    ResponseEntity<Map<String, Integer>> getRegisteredManoProviders();
    ResponseEntity<RegisteredManoProviders> getRegisteredManoProviders();
}
+9 −11
Original line number Diff line number Diff line
package portal.api.metrics;

import org.etsi.osl.model.nfv.metrics.RegisteredManoProviders;
import org.etsi.osl.model.nfv.metrics.RegisteredNSDs;
import org.etsi.osl.model.nfv.metrics.RegisteredVNFs;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;
@@ -9,8 +12,6 @@ import portal.api.service.ManoProviderService;
import portal.api.service.NSDService;
import portal.api.service.VxFService;

import java.util.HashMap;
import java.util.Map;

@Controller
public class MetricsApiController implements MetricsApi {
@@ -30,11 +31,10 @@ public class MetricsApiController implements MetricsApi {
    }

    @Override
    public ResponseEntity<Map<String, Integer>> getRegisteredNsds() {
    public ResponseEntity<RegisteredNSDs> getRegisteredNsds() {
        try {
            int totalNSDs = nsdService.getExperiments().size();
            Map<String, Integer> response = new HashMap<>();
            response.put("registeredNsds", totalNSDs);
            RegisteredNSDs response = new RegisteredNSDs(totalNSDs);
            return new ResponseEntity<>(response, HttpStatus.OK);
        } catch (Exception e) {
            log.error("Couldn't retrieve total registered NSDs. ", e);
@@ -43,11 +43,10 @@ public class MetricsApiController implements MetricsApi {
    }

    @Override
    public ResponseEntity<Map<String, Integer>> getRegisteredVnfs() {
    public ResponseEntity<RegisteredVNFs> getRegisteredVnfs() {
        try {
            int totalVNFs = vxfService.getVxFs().size();
            Map<String, Integer> response = new HashMap<>();
            response.put("registeredVnfs", totalVNFs);
            RegisteredVNFs response = new RegisteredVNFs(totalVNFs);
            return new ResponseEntity<>(response, HttpStatus.OK);
        } catch (Exception e) {
            log.error("Couldn't retrieve total registered VNFs. ", e);
@@ -56,11 +55,10 @@ public class MetricsApiController implements MetricsApi {
    }

    @Override
    public ResponseEntity<Map<String, Integer>> getRegisteredManoProviders() {
    public ResponseEntity<RegisteredManoProviders> getRegisteredManoProviders() {
        try {
            int totalManoProviders = manoProviderService.getMANOproviders().size();
            Map<String, Integer> response = new HashMap<>();
            response.put("registeredManoProviders", totalManoProviders);
            RegisteredManoProviders response = new RegisteredManoProviders(totalManoProviders);
            return new ResponseEntity<>(response, HttpStatus.OK);
        } catch (Exception e) {
            log.error("Couldn't retrieve total registered MANO Providers. ", e);