X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Fcontrollers%2FRicRepositoryController.java;h=db17fb21eba0f9333b5b93d1ebe375748907dee7;hb=3e827b5c2bc00500577af25e9cb559b6243e1abd;hp=34fc4c1edf35e9310ebfbb6a8934e4e41846658c;hpb=2aa1689637366d03a1252afadf93be937c1ec644;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/controllers/RicRepositoryController.java b/policy-agent/src/main/java/org/oransc/policyagent/controllers/RicRepositoryController.java index 34fc4c1e..db17fb21 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/controllers/RicRepositoryController.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/controllers/RicRepositoryController.java @@ -17,11 +17,13 @@ * limitations under the License. * ========================LICENSE_END=================================== */ + package org.oransc.policyagent.controllers; import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; @@ -31,6 +33,8 @@ import java.util.Vector; import org.oransc.policyagent.configuration.ApplicationConfig; import org.oransc.policyagent.configuration.RicConfig; +import org.oransc.policyagent.repository.Ric; +import org.oransc.policyagent.repository.Rics; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -39,16 +43,21 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController +@Api(value = "RIC Management API") public class RicRepositoryController { private final ApplicationConfig appConfig; + + @Autowired + private Rics rics; + private static Gson gson = new GsonBuilder() // .serializeNulls() // .create(); // @Autowired - RicRepositoryController(ApplicationConfig config) { - this.appConfig = config; + RicRepositoryController(ApplicationConfig appConfig) { + this.appConfig = appConfig; } /** @@ -83,15 +92,19 @@ public class RicRepositoryController { value = { // @ApiResponse(code = 200, message = "OK") // }) - public ResponseEntity getRics() { - Vector result = new Vector(); - for (RicConfig ricConfig : this.appConfig.getRicConfigs()) { - RicInfo ric = ImmutableRicInfo.builder() // - .managedElementIds(ricConfig.managedElementIds()) // - .name(ricConfig.name()) // - .build(); - result.add(ric); + public ResponseEntity getRics( + @RequestParam(name = "policyType", required = false) String supportingPolicyType) { + Vector result = new Vector<>(); + for (Ric ric : rics.getRics()) { + if (supportingPolicyType == null || ric.isSupportingType(supportingPolicyType)) { + result.add(ImmutableRicInfo.builder() // + .name(ric.name()) // + .nodeNames(ric.getManagedNodes()) // + .policyTypes(ric.getSupportedPolicyTypeNames()) // + .build()); + } } + return new ResponseEntity<>(gson.toJson(result), HttpStatus.OK); }