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=a96766d308f848620a26f4685d11a87df7e444ad;hb=6a8a0d5350a77b6d1e4a8f95c0fe8fbfeef77339;hp=b95c196742fde61fea59016031243f4621c7b710;hpb=19f20ea9d077ab6587e12a98783e2ead5c5a41bf;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 b95c1967..a96766d3 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 @@ -27,10 +27,12 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; + import java.util.ArrayList; import java.util.List; import java.util.Optional; -import org.oransc.policyagent.configuration.ApplicationConfig; + +import org.oransc.policyagent.repository.PolicyTypes; import org.oransc.policyagent.repository.Ric; import org.oransc.policyagent.repository.Rics; import org.springframework.beans.factory.annotation.Autowired; @@ -41,20 +43,19 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController -@Api(value = "RIC Management API") +@Api(tags = "RIC Repository") public class RicRepositoryController { @Autowired private Rics rics; + @Autowired + PolicyTypes types; + private static Gson gson = new GsonBuilder() // .serializeNulls() // .create(); // - @Autowired - RicRepositoryController(ApplicationConfig appConfig) { - } - /** * Example: http://localhost:8081/rics?managedElementId=kista_1 */ @@ -78,18 +79,21 @@ public class RicRepositoryController { } /** - * @return a Json array of all RIC data - * Example: http://localhost:8081/ric + * @return a Json array of all RIC data Example: http://localhost:8081/ric */ @GetMapping("/rics") @ApiOperation(value = "Query NearRT RIC information") @ApiResponses( value = { // - @ApiResponse(code = 200, message = "OK", response = RicInfo.class, responseContainer = "List") // - }) + @ApiResponse(code = 200, message = "OK", response = RicInfo.class, responseContainer = "List"), // + @ApiResponse(code = 404, message = "Policy type is not found", response = String.class)}) public ResponseEntity getRics( @RequestParam(name = "policyType", required = false) String supportingPolicyType) { + if ((supportingPolicyType != null) && (this.types.get(supportingPolicyType) == null)) { + return new ResponseEntity<>("Policy type not found", HttpStatus.NOT_FOUND); + } + List result = new ArrayList<>(); synchronized (rics) { for (Ric ric : rics.getRics()) {