X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Frepository%2FRic.java;h=98c497f76909f5f340e8d90ab9785925d25483a1;hb=ffe0c150f08205d73ee362f58f492aeb2703f295;hp=3caadaed025ad936887cd2d6d827d85485ce1b18;hpb=abf88f3e93f86f6e0639290a399b05db9b9c6097;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/repository/Ric.java b/policy-agent/src/main/java/org/oransc/policyagent/repository/Ric.java index 3caadaed..98c497f7 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/repository/Ric.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/repository/Ric.java @@ -20,12 +20,12 @@ package org.oransc.policyagent.repository; -import java.util.Collections; -import java.util.List; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; import java.util.Vector; import org.oransc.policyagent.configuration.RicConfig; -import org.oransc.policyagent.repository.Ric.RicState; /** * Represents the dynamic information about a NearRealtime-RIC. @@ -33,7 +33,7 @@ import org.oransc.policyagent.repository.Ric.RicState; public class Ric { private final RicConfig ricConfig; private RicState state = RicState.NOT_INITIATED; - private Vector supportedPolicyTypes = new Vector<>(); + private Map supportedPolicyTypes = new HashMap<>(); /** * Creates the Ric. Initial state is {@link RicState.NOT_INITIATED}. @@ -56,6 +56,10 @@ public class Ric { state = newState; } + public RicConfig getConfig() { + return this.ricConfig; + } + /** * Gets the nodes managed by this Ric. * @@ -100,8 +104,12 @@ public class Ric { * * @return the policy types supported by this Ric in an unmodifiable list. */ - public List getSupportedPolicyTypes() { - return Collections.unmodifiableList(supportedPolicyTypes); + public Collection getSupportedPolicyTypes() { + return supportedPolicyTypes.values(); + } + + public Collection getSupportedPolicyTypeNames() { + return supportedPolicyTypes.keySet(); } /** @@ -110,9 +118,7 @@ public class Ric { * @param type the policy type to support. */ public void addSupportedPolicyType(PolicyType type) { - if (!supportedPolicyTypes.contains(type)) { - supportedPolicyTypes.add(type); - } + supportedPolicyTypes.put(type.name(), type); } /** @@ -120,7 +126,7 @@ public class Ric { * * @param types the policy types to support. */ - public void addSupportedPolicyTypes(Vector types) { + public void addSupportedPolicyTypes(Collection types) { for (PolicyType type : types) { addSupportedPolicyType(type); } @@ -132,18 +138,24 @@ public class Ric { * @param type the policy type to remove as supported by this Ric. */ public void removeSupportedPolicyType(PolicyType type) { - supportedPolicyTypes.remove(type); + supportedPolicyTypes.remove(type.name()); } /** * Checks if a type is supported by this Ric. * - * @param type the type to check if it is supported. + * @param typeName the name of the type to check if it is supported. * - * @return true if the given type issupported by this Ric, false otherwise. + * @return true if the given type is supported by this Ric, false otherwise. */ - public boolean isSupportingType(PolicyType type) { - return supportedPolicyTypes.contains(type); + public boolean isSupportingType(String typeName) { + return supportedPolicyTypes.containsKey(typeName); + } + + @Override + public String toString() { + return Ric.class.getSimpleName() + ": " + "name: " + name() + ", state: " + state + ", baseUrl: " + + ricConfig.baseUrl() + ", managedNodes: " + ricConfig.managedElementIds(); } /** @@ -159,12 +171,8 @@ public class Ric { */ ACTIVE, /** - * Something is wrong with the Ric. - */ - FAULTY, - /** - * The node is unreachable at the moment. + * The Ric cannot be contacted. */ - UNREACHABLE + NOT_REACHABLE } }