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=6f3b3e842b0eddc8c18be712736c776ee1b765b6;hb=d1623c5066ebb6152c6a2ba0fe889e32c75d8890;hp=153d193b3151dd4eb353fd9277acae42ec7d2d6b;hpb=bca519150103ccd308dd492e07744bc494a4a4ec;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 153d193b..6f3b3e84 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 @@ -20,9 +20,9 @@ package org.oransc.policyagent.repository; -import java.util.Collection; import java.util.HashMap; import java.util.Map; +import java.util.Optional; import org.oransc.policyagent.exceptions.ServiceException; @@ -32,15 +32,15 @@ import org.oransc.policyagent.exceptions.ServiceException; public class Rics { Map rics = new HashMap<>(); - public void put(Ric ric) { + public synchronized void put(Ric ric) { rics.put(ric.name(), ric); } - public Collection getRics() { + public synchronized Iterable getRics() { return rics.values(); } - public Ric getRic(String name) throws ServiceException { + public synchronized Ric getRic(String name) throws ServiceException { Ric ric = rics.get(name); if (ric == null) { throw new ServiceException("Could not find ric: " + name); @@ -48,15 +48,28 @@ public class Rics { return ric; } - public Ric get(String name) { + public synchronized Ric get(String name) { return rics.get(name); } - public int size() { + public synchronized void remove(String name) { + rics.remove(name); + } + + public synchronized int size() { return rics.size(); } - public void clear() { + public synchronized void clear() { this.rics.clear(); } + + public synchronized Optional lookupRicForManagedElement(String managedElementId) { + for (Ric ric : this.rics.values()) { + if (ric.getConfig().managedElementIds().contains(managedElementId)) { + return Optional.of(ric); + } + } + return Optional.empty(); + } }