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;
+
import java.util.Optional;
import java.util.Vector;
+
import org.oransc.policyagent.configuration.ApplicationConfig;
import org.oransc.policyagent.configuration.RicConfig;
import org.oransc.policyagent.repository.Ric;
import org.springframework.web.bind.annotation.RestController;
@RestController
+@Api(value = "RIC Management API")
public class RicRepositoryController {
private final ApplicationConfig appConfig;
value = { //
@ApiResponse(code = 200, message = "OK") //
})
- public ResponseEntity<String> getRics() {
+ public ResponseEntity<String> getRics(
+ @RequestParam(name = "policyType", required = false) String supportingPolicyType) {
Vector<RicInfo> result = new Vector<>();
for (Ric ric : rics.getRics()) {
- result.add(ImmutableRicInfo.builder() //
- .name(ric.name()) //
- .managedElementIds(ric.getManagedNodes()) //
- .build());
+ 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);