import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
-
import java.util.Collection;
import java.util.Vector;
-
+import org.oransc.policyagent.Beans;
import org.oransc.policyagent.configuration.ApplicationConfig;
import org.oransc.policyagent.exceptions.ServiceException;
import org.oransc.policyagent.repository.ImmutablePolicy;
import org.oransc.policyagent.repository.Policies;
import org.oransc.policyagent.repository.Policy;
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.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
public class PolicyController {
private final ApplicationConfig appConfig;
+ private final Rics rics;
private final PolicyTypes types;
private final Policies policies;
private static Gson gson = new GsonBuilder() //
.create(); //
@Autowired
- PolicyController(ApplicationConfig config, PolicyTypes types, Policies policies) {
- this.appConfig = config;
- this.types = types;
- this.policies = policies;
+ PolicyController(Beans beans) {
+ this.appConfig = beans.getApplicationConfig();
+ this.rics = beans.getRics();
+ this.types = beans.getPolicyTypes();
+ this.policies = beans.getPolicies();
}
@GetMapping("/policy")
@RequestBody String jsonBody) {
try {
+ Ric ricObj = rics.getRic(ric);
Policy policy = ImmutablePolicy.builder() //
.id(instanceId) //
.json(jsonBody) //
.type(types.getType(type)) //
- .ric(appConfig.getRic(ric)) //
+ .ric(ricObj) //
.ownerServiceName(service) //
.build();
policies.put(policy);