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=e50a98ce517b051efdd70498fc802a878279d964;hb=9f9cde2f0d76ad943f5dfcf50548be5800834a2f;hp=220477f04187aaac8054f6b675aa256f227ca5e3;hpb=9fb9f6e4fe8eb9425d848ae576c0e755dfca22df;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 220477f0..e50a98ce 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 @@ -36,8 +36,7 @@ import org.oransc.policyagent.configuration.RicConfig; */ public class Ric { private final RicConfig ricConfig; - @Getter - @Setter + private RicState state = RicState.UNDEFINED; private Map supportedPolicyTypes = new HashMap<>(); @Getter @@ -61,13 +60,21 @@ public class Ric { return this.ricConfig; } + public synchronized RicState getState() { + return this.state; + } + + public synchronized void setState(RicState state) { + this.state = state; + } + /** * Gets the nodes managed by this Ric. * * @return a vector containing the nodes managed by this Ric. */ - public Vector getManagedElementIds() { - return ricConfig.managedElementIds(); + public synchronized Collection getManagedElementIds() { + return new Vector<>(ricConfig.managedElementIds()); } /** @@ -76,7 +83,7 @@ public class Ric { * @param managedElementId the node name to check. * @return true if the given node is managed by this Ric. */ - public boolean isManaging(String managedElementId) { + public synchronized boolean isManaging(String managedElementId) { return ricConfig.managedElementIds().contains(managedElementId); } @@ -85,7 +92,7 @@ public class Ric { * * @param managedElementId the node to add. */ - public void addManagedElement(String managedElementId) { + public synchronized void addManagedElement(String managedElementId) { if (!ricConfig.managedElementIds().contains(managedElementId)) { ricConfig.managedElementIds().add(managedElementId); } @@ -96,7 +103,7 @@ public class Ric { * * @param managedElementId the node to remove. */ - public void removeManagedElement(String managedElementId) { + public synchronized void removeManagedElement(String managedElementId) { ricConfig.managedElementIds().remove(managedElementId); } @@ -105,12 +112,12 @@ public class Ric { * * @return the policy types supported by this Ric in an unmodifiable list. */ - public Collection getSupportedPolicyTypes() { - return supportedPolicyTypes.values(); + public synchronized Collection getSupportedPolicyTypes() { + return new Vector<>(supportedPolicyTypes.values()); } - public Collection getSupportedPolicyTypeNames() { - return supportedPolicyTypes.keySet(); + public synchronized Collection getSupportedPolicyTypeNames() { + return new Vector<>(supportedPolicyTypes.keySet()); } /** @@ -118,14 +125,14 @@ public class Ric { * * @param type the policy type to support. */ - public void addSupportedPolicyType(PolicyType type) { + public synchronized void addSupportedPolicyType(PolicyType type) { supportedPolicyTypes.put(type.name(), type); } /** * Removes all policy type as supported by this Ric. */ - public void clearSupportedPolicyTypes() { + public synchronized void clearSupportedPolicyTypes() { supportedPolicyTypes.clear(); } @@ -136,12 +143,12 @@ public class Ric { * * @return true if the given type is supported by this Ric, false otherwise. */ - public boolean isSupportingType(String typeName) { + public synchronized boolean isSupportingType(String typeName) { return supportedPolicyTypes.containsKey(typeName); } @Override - public String toString() { + public synchronized String toString() { return Ric.class.getSimpleName() + ": " + "name: " + name() + ", state: " + state + ", baseUrl: " + ricConfig.baseUrl() + ", managedNodes: " + ricConfig.managedElementIds(); }