X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Frepository%2FServices.java;h=369b2588b1a6046b04727b1403a01a1e8cf59934;hb=23b444705e97a325ad51ad6104b5cfd97730dce4;hp=35cae71764c3da7c5e96eb24bc66979a0c03c56a;hpb=7a4a590fb0ebf8772169625cdda327da43c79c6d;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/repository/Services.java b/policy-agent/src/main/java/org/oransc/policyagent/repository/Services.java index 35cae717..369b2588 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/repository/Services.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/repository/Services.java @@ -20,7 +20,6 @@ package org.oransc.policyagent.repository; -import java.util.Collection; import java.util.HashMap; import java.util.Map; @@ -50,14 +49,19 @@ public class Services { public synchronized void put(Service service) { logger.debug("Put service: " + service.getName()); - // TODO a threading problem is that this may happend at the same time as someone is iterating (getAll()) - // This is a generic problem services.put(service.getName(), service); } - // TODO the returned value should be unmodifiable if possible - public synchronized Collection getAll() { + public synchronized Iterable getAll() { return services.values(); } + public synchronized void remove(String name) { + services.remove(name); + } + + public synchronized int size() { + return services.size(); + } + }