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
0075fb7
..
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
@@
-28,11
+28,11
@@
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
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;
@@
-43,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")
*/
@GetMapping("/ric")
- @ApiOperation(value = "Returns the name of a RIC managing one Mananged Element"
, response = String.class
)
+ @ApiOperation(value = "Returns the name of a RIC managing one Mananged Element")
@ApiResponses(
value = { //
@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 Json", response = RicInfo.class
)
+ @ApiOperation(value = "
Query Near-RT RIC information"
)
@ApiResponses(
value = { //
@ApiResponses(
value = { //
- @ApiResponse(code = 200, message = "OK", response = RicInfo.class
)
//
- })
+ @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()));
}
}
}
}