Bugfix, only one RIC was synched
[nonrtric.git] / policy-agent / src / main / java / org / oransc / policyagent / repository / Ric.java
index a5de890..fb2e4b9 100644 (file)
@@ -20,8 +20,6 @@
 
 package org.oransc.policyagent.repository;
 
-import com.google.common.collect.ImmutableList;
-
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
@@ -34,14 +32,13 @@ 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 final ImmutableList<String> managedElementIds;
-
-    private RicState state = RicState.UNDEFINED;
+    @Setter
+    private RicConfig ricConfig;
+    private RicState state = RicState.UNAVAILABLE;
     private Map<String, PolicyType> supportedPolicyTypes = new HashMap<>();
     @Getter
     @Setter
@@ -57,7 +54,6 @@ public class Ric {
      */
     public Ric(RicConfig ricConfig) {
         this.ricConfig = ricConfig;
-        this.managedElementIds = ricConfig.managedElementIds();
     }
 
     public String name() {
@@ -82,7 +78,7 @@ public class Ric {
      * @return a vector containing the nodes managed by this Ric.
      */
     public synchronized Collection<String> getManagedElementIds() {
-        return managedElementIds;
+        return ricConfig.managedElementIds();
     }
 
     /**
@@ -92,7 +88,7 @@ public class Ric {
      * @return true if the given node is managed by this Ric.
      */
     public synchronized boolean isManaging(String managedElementId) {
-        return managedElementIds.contains(managedElementId);
+        return ricConfig.managedElementIds().contains(managedElementId);
     }
 
     /**
@@ -138,7 +134,7 @@ public class Ric {
     @Override
     public synchronized String toString() {
         return Ric.class.getSimpleName() + ": " + "name: " + name() + ", state: " + state + ", baseUrl: "
-            + ricConfig.baseUrl() + ", managedNodes: " + managedElementIds;
+            + ricConfig.baseUrl() + ", managedNodes: " + ricConfig.managedElementIds();
     }
 
     /**
@@ -148,14 +144,19 @@ public class Ric {
         /**
          * 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
+        SYNCHRONIZING,
+
+        /**
+         * A consistency check between the agent and the Ric is done
+         */
+        CONSISTENCY_CHECK
     }
 }