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=3b8e587ecc02e42b978cfbc57f3807c40ef2d0dd;hb=b66dcce5210e25b2571036becb6f0e7b0c23e1b2;hp=bdf993021de2dfb12ff832083797040f2e063885;hpb=f694dec2ff16069e6bb5c9de845278f44e8c9591;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 bdf99302..3b8e587e 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 @@ -22,6 +22,7 @@ package org.oransc.policyagent.repository; import java.util.HashMap; import java.util.Map; +import java.util.Optional; import org.oransc.policyagent.exceptions.ServiceException; @@ -29,18 +30,18 @@ import org.oransc.policyagent.exceptions.ServiceException; * Dynamic representation of all Rics in the system. */ public class Rics { - Map rics = new HashMap<>(); + Map registeredRics = new HashMap<>(); public synchronized void put(Ric ric) { - rics.put(ric.name(), ric); + registeredRics.put(ric.name(), ric); } public synchronized Iterable getRics() { - return rics.values(); + return registeredRics.values(); } public synchronized Ric getRic(String name) throws ServiceException { - Ric ric = rics.get(name); + Ric ric = registeredRics.get(name); if (ric == null) { throw new ServiceException("Could not find ric: " + name); } @@ -48,18 +49,27 @@ public class Rics { } public synchronized Ric get(String name) { - return rics.get(name); + return registeredRics.get(name); } public synchronized void remove(String name) { - rics.remove(name); + registeredRics.remove(name); } public synchronized int size() { - return rics.size(); + return registeredRics.size(); } public synchronized void clear() { - this.rics.clear(); + this.registeredRics.clear(); + } + + public synchronized Optional lookupRicForManagedElement(String managedElementId) { + for (Ric ric : this.registeredRics.values()) { + if (ric.getManagedElementIds().contains(managedElementId)) { + return Optional.of(ric); + } + } + return Optional.empty(); } }