Code Review
/
nonrtric.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Bugfix, GET policy types for OSC A1 Policy REST API
[nonrtric.git]
/
policy-agent
/
src
/
main
/
java
/
org
/
oransc
/
policyagent
/
controllers
/
RicRepositoryController.java
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
175d5eb
..
1064c6f
100644
(file)
--- a/
policy-agent/src/main/java/org/oransc/policyagent/controllers/RicRepositoryController.java
+++ b/
policy-agent/src/main/java/org/oransc/policyagent/controllers/RicRepositoryController.java
@@
-22,16
+22,17
@@
package org.oransc.policyagent.controllers;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
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 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 java.util.Optional;
-import java.util.Vector;
-import org.oransc.policyagent.configuration.ApplicationConfig;
-import org.oransc.policyagent.configuration.RicConfig;
+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;
import org.oransc.policyagent.repository.Ric;
import org.oransc.policyagent.repository.Rics;
import org.springframework.beans.factory.annotation.Autowired;
@@
-42,65
+43,62
@@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
import org.springframework.web.bind.annotation.RestController;
@RestController
-@Api(
value = "RIC Management API
")
+@Api(
tags = "RIC Repository
")
public class RicRepositoryController {
public class RicRepositoryController {
- private final ApplicationConfig appConfig;
-
@Autowired
private Rics rics;
@Autowired
private Rics rics;
+ @Autowired
+ PolicyTypes types;
+
private static Gson gson = new GsonBuilder() //
.serializeNulls() //
.create(); //
private static Gson gson = new GsonBuilder() //
.serializeNulls() //
.create(); //
- @Autowired
- RicRepositoryController(ApplicationConfig appConfig) {
- this.appConfig = appConfig;
- }
-
/**
/**
- * Example: http://localhost:808
0
/rics?managedElementId=kista_1
+ * Example: http://localhost:808
1
/rics?managedElementId=kista_1
*/
@GetMapping("/ric")
@ApiOperation(value = "Returns the name of a RIC managing one Mananged Element")
@ApiResponses(
value = { //
*/
@GetMapping("/ric")
@ApiOperation(value = "Returns the name of a RIC managing one Mananged Element")
@ApiResponses(
value = { //
- @ApiResponse(code = 200, message = "RIC is fo
nd"
), //
- @ApiResponse(code = 404, message = "RIC is not fo
nd"
) //
+ @ApiResponse(code = 200, message = "RIC is fo
und", response = String.class
), //
+ @ApiResponse(code = 404, message = "RIC is not fo
und", response = String.class
) //
})
public ResponseEntity<String> getRic(
})
public ResponseEntity<String> getRic(
- @RequestParam(name = "managedElementId", required =
false, defaultValue = ""
) String managedElementId) {
+ @RequestParam(name = "managedElementId", required =
true
) String managedElementId) {
- Optional<Ric
Config> config = appConfig.lookupRicConfig
ForManagedElement(managedElementId);
+ Optional<Ric
> ric = this.rics.lookupRic
ForManagedElement(managedElementId);
- if (
config
.isPresent()) {
- return new ResponseEntity<>(
config
.get().name(), HttpStatus.OK);
+ if (
ric
.isPresent()) {
+ return new ResponseEntity<>(
ric
.get().name(), HttpStatus.OK);
} else {
} else {
- return new ResponseEntity<>("", HttpStatus.NOT_FOUND);
+ return new ResponseEntity<>("
No RIC found
", HttpStatus.NOT_FOUND);
}
}
/**
}
}
/**
- * @return a Json array of all RIC data
- * Example: http://localhost:8080/ric
+ * @return a Json array of all RIC data Example: http://localhost:8081/ric
*/
@GetMapping("/rics")
*/
@GetMapping("/rics")
- @ApiOperation(value = "
Returns defined NearRT RIC:s as Js
on")
+ @ApiOperation(value = "
Query Near-RT RIC informati
on")
@ApiResponses(
value = { //
@ApiResponses(
value = { //
- @ApiResponse(code = 200, message = "OK"
)
//
- })
+ @ApiResponse(code = 200, message = "OK"
, response = RicInfo.class, responseContainer = "List"),
//
+
@ApiResponse(code = 404, message = "Policy type is not found", response = String.class)
})
public ResponseEntity<String> getRics(
@RequestParam(name = "policyType", required = false) String supportingPolicyType) {
public ResponseEntity<String> getRics(
@RequestParam(name = "policyType", required = false) String supportingPolicyType) {
- Vector<RicInfo> result = new Vector<>();
+
+ if ((supportingPolicyType != null) && (this.types.get(supportingPolicyType) == null)) {
+ return new ResponseEntity<>("Policy type not found", HttpStatus.NOT_FOUND);
+ }
+
+ List<RicInfo> result = new ArrayList<>();
for (Ric ric : rics.getRics()) {
if (supportingPolicyType == null || ric.isSupportingType(supportingPolicyType)) {
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());
+ result.add(new RicInfo(ric.name(), ric.getManagedElementIds(), ric.getSupportedPolicyTypeNames(),
+ ric.getState().toString()));
}
}
}
}