X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Fcontrollers%2FServiceController.java;h=bda5e09589d0d81983d46f8e884a2e0f4bdc9f7c;hb=4891734864ae374cf6ff357f41cc840c4f685300;hp=86335b665931da21028c0d0f7f6f29704100680a;hpb=7adad623a64bfbb96b3c73ed7c1d0d49aabff659;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/controllers/ServiceController.java b/policy-agent/src/main/java/org/oransc/policyagent/controllers/ServiceController.java index 86335b66..bda5e095 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/controllers/ServiceController.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/controllers/ServiceController.java @@ -17,6 +17,7 @@ * limitations under the License. * ========================LICENSE_END=================================== */ + package org.oransc.policyagent.controllers; import com.google.gson.Gson; @@ -26,7 +27,6 @@ import java.time.Duration; import java.util.Collection; import java.util.Vector; -import org.oransc.policyagent.configuration.ApplicationConfig; import org.oransc.policyagent.exceptions.ServiceException; import org.oransc.policyagent.repository.Service; import org.oransc.policyagent.repository.Services; @@ -42,15 +42,13 @@ import org.springframework.web.bind.annotation.RestController; @RestController public class ServiceController { - private final ApplicationConfig appConfig; private final Services services; private static Gson gson = new GsonBuilder() // .serializeNulls() // .create(); // @Autowired - ServiceController(ApplicationConfig config, Services services) { - this.appConfig = config; + ServiceController(Services services) { this.services = services; } @@ -88,15 +86,16 @@ public class ServiceController { } private Service toService(ServiceRegistrationInfo s) { - return new Service(s.name(), Duration.ofSeconds(s.keepAliveInterval())); + return new Service(s.name(), Duration.ofSeconds(s.keepAliveInterval()), s.callbackUrl()); } @GetMapping("/services") public ResponseEntity getServices() { - Collection allServices = this.services.getAll(); - Collection result = new Vector<>(allServices.size()); - for (Service s : allServices) { - result.add(toServiceStatus(s)); + Collection result = new Vector<>(); + synchronized (this.services) { + for (Service s : this.services.getAll()) { + result.add(toServiceStatus(s)); + } } return new ResponseEntity<>(gson.toJson(result), HttpStatus.OK); }