X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Frepository%2FRics.java;h=6b8138fcc8a80bc70d15c0958d7bb4488892b8cc;hb=de026fb34e3dc3200acdb022782fe68615176ead;hp=5c286bc8f319c8159b8507983a7862d2c2e77529;hpb=63036ab25f7878781e74b2ca0706b28451f59f27;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/repository/Rics.java b/policy-agent/src/main/java/org/oransc/policyagent/repository/Rics.java index 5c286bc8..6b8138fc 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/repository/Rics.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/repository/Rics.java @@ -24,13 +24,15 @@ import java.util.Collection; import java.util.HashMap; import java.util.Map; +import org.oransc.policyagent.exceptions.ServiceException; + /** * Dynamic representation of all Rics in the system. */ public class Rics { Map rics = new HashMap<>(); - public void put(Ric ric) { + public synchronized void put(Ric ric) { rics.put(ric.name(), ric); } @@ -38,11 +40,23 @@ public class Rics { return rics.values(); } - public Ric getRic(String name) { + public Ric getRic(String name) throws ServiceException { + Ric ric = rics.get(name); + if (ric == null) { + throw new ServiceException("Could not find ric: " + name); + } + return ric; + } + + public Ric get(String name) { return rics.get(name); } public int size() { return rics.size(); } + + public void clear() { + this.rics.clear(); + } }