X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Frepository%2FPolicies.java;h=a279db54d00fc5be993e3d7815732af89c85c964;hb=d1623c5066ebb6152c6a2ba0fe889e32c75d8890;hp=9895ff1150bf9b736260a78a1c30ac07b0dcbad2;hpb=dfbd081159b02601a48162a647848223a9303ebf;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/repository/Policies.java b/policy-agent/src/main/java/org/oransc/policyagent/repository/Policies.java index 9895ff11..a279db54 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/repository/Policies.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/repository/Policies.java @@ -21,8 +21,10 @@ package org.oransc.policyagent.repository; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Set; import java.util.Vector; import org.oransc.policyagent.exceptions.ServiceException; @@ -67,10 +69,18 @@ public class Policies { if (map == null) { return new Vector(); } - return map.values(); + return Collections.unmodifiableCollection(map.values()); } - public synchronized Policy get(String id) throws ServiceException { + public synchronized boolean containsPolicy(String id) { + return policiesId.containsKey(id); + } + + public synchronized Policy get(String id) { + return policiesId.get(id); + } + + public synchronized Policy getPolicy(String id) throws ServiceException { Policy p = policiesId.get(id); if (p == null) { throw new ServiceException("Could not find policy: " + id); @@ -79,7 +89,7 @@ public class Policies { } public synchronized Collection getAll() { - return policiesId.values(); + return Collections.unmodifiableCollection(policiesId.values()); } public synchronized Collection getForService(String service) { @@ -113,10 +123,10 @@ public class Policies { return policiesId.size(); } - public void clear() { - for (String id : policiesId.keySet()) { - removeId(id); + public synchronized void clear() { + while (policiesId.size() > 0) { + Set keys = policiesId.keySet(); + removeId(keys.iterator().next()); } } - }