Fixed concurrency problems
[nonrtric.git] / policy-agent / src / main / java / org / oransc / policyagent / repository / Ric.java
index 6eece5e..ab32065 100644 (file)
@@ -26,8 +26,10 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Vector;
+
 import lombok.Getter;
 import lombok.Setter;
+
 import org.oransc.policyagent.clients.A1Client.A1ProtocolType;
 import org.oransc.policyagent.configuration.RicConfig;
 
@@ -35,6 +37,7 @@ import org.oransc.policyagent.configuration.RicConfig;
  * Represents the dynamic information about a NearRealtime-RIC.
  */
 public class Ric {
+
     private final RicConfig ricConfig;
     private final List<String> managedElementIds;
 
@@ -44,15 +47,18 @@ public class Ric {
     @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.
      */
     public Ric(RicConfig ricConfig) {
         this.ricConfig = ricConfig;
-        this.managedElementIds = new ArrayList<>(ricConfig.managedElementIds());
+        this.managedElementIds = new ArrayList<>(ricConfig.managedElementIds()); // TODO, this is config why is it
+                                                                                 // copied here?
     }
 
     public String name() {