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=fb2e4b92979b04fdf8c8ab482713f8a422922778;hb=7de2f355ed1956001d15cb7e57fdd37fdf88cdc5;hp=e50a98ce517b051efdd70498fc802a878279d964;hpb=a538ca7e0b840e8dc20e85c1864697823ad96ae0;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 e50a98ce..fb2e4b92 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 @@ -32,19 +32,23 @@ import org.oransc.policyagent.clients.A1Client.A1ProtocolType; import org.oransc.policyagent.configuration.RicConfig; /** - * Represents the dynamic information about a NearRealtime-RIC. + * Represents the dynamic information about a Near-RT RIC. */ public class Ric { - private final RicConfig ricConfig; - private RicState state = RicState.UNDEFINED; + @Setter + private RicConfig ricConfig; + private RicState state = RicState.UNAVAILABLE; private Map supportedPolicyTypes = new HashMap<>(); @Getter @Setter private A1ProtocolType protocolVersion = A1ProtocolType.UNKNOWN; + @Getter + private final Lock lock = new Lock(); + /** - * Creates the Ric. Initial state is {@link RicState.NOT_INITIATED}. + * Creates the Ric. Initial state is {@link RicState.UNDEFINED}. * * @param ricConfig The {@link RicConfig} for this Ric. */ @@ -74,7 +78,7 @@ public class Ric { * @return a vector containing the nodes managed by this Ric. */ public synchronized Collection getManagedElementIds() { - return new Vector<>(ricConfig.managedElementIds()); + return ricConfig.managedElementIds(); } /** @@ -87,26 +91,6 @@ public class Ric { return ricConfig.managedElementIds().contains(managedElementId); } - /** - * Adds the given node as managed by this Ric. - * - * @param managedElementId the node to add. - */ - public synchronized void addManagedElement(String managedElementId) { - if (!ricConfig.managedElementIds().contains(managedElementId)) { - ricConfig.managedElementIds().add(managedElementId); - } - } - - /** - * Removes the given node as managed by this Ric. - * - * @param managedElementId the node to remove. - */ - public synchronized void removeManagedElement(String managedElementId) { - ricConfig.managedElementIds().remove(managedElementId); - } - /** * Gets the policy types supported by this Ric. * @@ -156,18 +140,23 @@ public class Ric { /** * Represents the states possible for a Ric. */ - public static enum RicState { + public enum RicState { /** - * The agent view of the agent may be inconsistent. + * The agent view of the Ric may be inconsistent. */ - UNDEFINED, + UNAVAILABLE, /** * The normal state. Policies can be configured. */ - IDLE, + AVAILABLE, + /** + * The agent is synchronizing the view of the Ric. + */ + SYNCHRONIZING, + /** - * The Ric states are recovered. + * A consistency check between the agent and the Ric is done */ - RECOVERING + CONSISTENCY_CHECK } }