X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Fcontrollers%2FPolicyController.java;h=017a9fd990d3a1560a4bf57bce7fb472cf366c65;hb=4e2052b1fd13159b4e5d7e1380a684671092d394;hp=e8c75ec9ea914717096eb84d64e60ba6b3c207dd;hpb=1eeda7f570212b728bd18a5684d958bab76fa019;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/controllers/PolicyController.java b/policy-agent/src/main/java/org/oransc/policyagent/controllers/PolicyController.java index e8c75ec9..017a9fd9 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/controllers/PolicyController.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/controllers/PolicyController.java @@ -25,9 +25,11 @@ import com.google.gson.GsonBuilder; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; +import java.lang.invoke.MethodHandles; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -46,6 +48,8 @@ import org.oransc.policyagent.repository.Ric; import org.oransc.policyagent.repository.Rics; import org.oransc.policyagent.repository.Service; import org.oransc.policyagent.repository.Services; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -84,6 +88,7 @@ public class PolicyController { @Autowired private Services services; + private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); private static Gson gson = new GsonBuilder() // .serializeNulls() // .create(); // @@ -94,7 +99,8 @@ public class PolicyController { value = { @ApiResponse(code = 200, message = "Policy schemas", response = Object.class, responseContainer = "List"), // @ApiResponse(code = 404, message = "RIC is not found", response = String.class)}) - public ResponseEntity getPolicySchemas(@RequestParam(name = "ric", required = false) String ricName) { + public ResponseEntity getPolicySchemas(@ApiParam(name = "ric", required = false, value = "The name of " +// + "the Near-RT RIC to get the definitions for.")@RequestParam(name = "ric", required = false) String ricName) { if (ricName == null) { Collection types = this.policyTypes.getAll(); return new ResponseEntity<>(toPolicyTypeSchemasJson(types), HttpStatus.OK); @@ -114,7 +120,8 @@ public class PolicyController { value = { // @ApiResponse(code = 200, message = "Policy schema", response = Object.class), @ApiResponse(code = 404, message = "RIC is not found", response = String.class)}) - public ResponseEntity getPolicySchema(@RequestParam(name = "id", required = true) String id) { + public ResponseEntity getPolicySchema(@ApiParam(name = "id", required = true, value = "The ID of the " +// + "policy type to get the definition for.")@RequestParam(name = "id", required = true) String id) { try { PolicyType type = policyTypes.getType(id); return new ResponseEntity<>(type.schema(), HttpStatus.OK); @@ -133,7 +140,8 @@ public class PolicyController { response = String.class, responseContainer = "List"), @ApiResponse(code = 404, message = "RIC is not found", response = String.class)}) - public ResponseEntity getPolicyTypes(@RequestParam(name = "ric", required = false) String ricName) { + public ResponseEntity getPolicyTypes(@ApiParam(name = "ric", required = false, value = "The name of " +// + "the Near-RT RIC to get types for.")@RequestParam(name = "ric", required = false) String ricName) { if (ricName == null) { Collection types = this.policyTypes.getAll(); return new ResponseEntity<>(toPolicyTypeIdsJson(types), HttpStatus.OK); @@ -155,7 +163,8 @@ public class PolicyController { @ApiResponse(code = 404, message = "Policy is not found")} // ) public ResponseEntity getPolicy( // - @RequestParam(name = "id", required = true) String id) { + @ApiParam(name = "id", required = true, value = "The ID of the policy instance.")@RequestParam(name = "id", // + required = true) String id) { try { Policy p = policies.getPolicy(id); return new ResponseEntity<>(p.json(), HttpStatus.OK); @@ -172,7 +181,8 @@ public class PolicyController { @ApiResponse(code = 404, message = "Policy is not found", response = String.class), @ApiResponse(code = 423, message = "RIC is not operational", response = String.class)}) public Mono> deletePolicy( // - @RequestParam(name = "id", required = true) String id) { + @ApiParam(name = "id", required = true, value = "The ID of the policy instance.")@RequestParam(name = "id", // + required = true) String id) { try { Policy policy = policies.getPolicy(id); keepServiceAlive(policy.ownerServiceName()); @@ -201,10 +211,18 @@ public class PolicyController { @ApiResponse(code = 404, message = "RIC or policy type is not found", response = String.class) // }) public Mono> putPolicy( // - @RequestParam(name = "type", required = false, defaultValue = "") String typeName, // - @RequestParam(name = "id", required = true) String instanceId, // - @RequestParam(name = "ric", required = true) String ricName, // - @RequestParam(name = "service", required = true) String service, // + @ApiParam(name = "type", required = false, value = "The name of the policy type.") // + @RequestParam(name = "type", required = false, defaultValue = "") String typeName, // + @ApiParam(name = "id", required = true, value = "The ID of the policy instance.")@RequestParam(name = "id", // + required = true) String instanceId, // + @ApiParam(name = "ric", required = true, value = "The name of the Near-RT RIC where the policy will be " +// + "created.")@RequestParam(name = "ric", required = true) String ricName, // + @ApiParam(name = "service", required = true, value = "The name of the service creating the policy.") // + @RequestParam(name = "service", required = true) String service, // + @ApiParam(name = "transient", required = false, value = "If the policy is transient or not (boolean " +// + "defaulted to false). A policy is transient if it will be forgotten when the service needs to " +// + "reconnect to the Near-RT RIC.")@RequestParam(name = "transient", required = false, // + defaultValue = "false") boolean isTransient, // @RequestBody Object jsonBody) { String jsonString = gson.toJson(jsonBody); @@ -221,6 +239,7 @@ public class PolicyController { .ric(ric) // .ownerServiceName(service) // .lastModified(getTimeStampUtc()) // + .isTransient(isTransient) // .build(); final boolean isCreate = this.policies.get(policy.id()) == null; @@ -294,9 +313,12 @@ public class PolicyController { @ApiResponse(code = 200, message = "Policies", response = PolicyInfo.class, responseContainer = "List"), @ApiResponse(code = 404, message = "RIC or type not found", response = String.class)}) public ResponseEntity getPolicies( // - @RequestParam(name = "type", required = false) String type, // - @RequestParam(name = "ric", required = false) String ric, // - @RequestParam(name = "service", required = false) String service) // + @ApiParam(name = "type", required = false, value = "The name of the policy type to get policies for.") // + @RequestParam(name = "type", required = false) String type, // + @ApiParam(name = "ric", required = false, value = "The name of the Near-RT RIC to get policies for.") // + @RequestParam(name = "ric", required = false) String ric, // + @ApiParam(name = "service", required = false, value = "The name of the service to get policies for.") // + @RequestParam(name = "service", required = false) String service) // { if ((type != null && this.policyTypes.get(type) == null)) { return new ResponseEntity<>("Policy type not found", HttpStatus.NOT_FOUND); @@ -315,9 +337,12 @@ public class PolicyController { value = {@ApiResponse(code = 200, message = "Policy ids", response = String.class, responseContainer = "List"), @ApiResponse(code = 404, message = "RIC or type not found", response = String.class)}) public ResponseEntity getPolicyIds( // - @RequestParam(name = "type", required = false) String type, // - @RequestParam(name = "ric", required = false) String ric, // - @RequestParam(name = "service", required = false) String service) // + @ApiParam(name = "type", required = false, value = "The name of the policy type to get policies for.") // + @RequestParam(name = "type", required = false) String type, // + @ApiParam(name = "ric", required = false, value = "The name of the Near-RT RIC to get policies for.") // + @RequestParam(name = "ric", required = false) String ric, // + @ApiParam(name = "service", required = false, value = "The name of the service to get policies for.") // + @RequestParam(name = "service", required = false) String service) // { if ((type != null && this.policyTypes.get(type) == null)) { return new ResponseEntity<>("Policy type not found", HttpStatus.NOT_FOUND); @@ -338,7 +363,8 @@ public class PolicyController { @ApiResponse(code = 404, message = "Policy is not found", response = String.class)} // ) public Mono> getPolicyStatus( // - @RequestParam(name = "id", required = true) String id) { + @ApiParam(name = "id", required = true, value = "The ID of the policy.")@RequestParam(name = "id", // + required = true) String id) { try { Policy policy = policies.getPolicy(id); @@ -399,7 +425,7 @@ public class PolicyController { policyInfo.service = p.ownerServiceName(); policyInfo.lastModified = p.lastModified(); if (!policyInfo.validate()) { - throw new NullPointerException("BUG, all fields must be set"); + logger.error("BUG, all fields must be set"); } v.add(policyInfo); }