package org.oransc.policyagent.repository;
-import com.google.common.collect.ImmutableList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
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
*/
public Ric(RicConfig ricConfig) {
this.ricConfig = ricConfig;
- this.managedElementIds = ricConfig.managedElementIds();
}
public String name() {
* @return a vector containing the nodes managed by this Ric.
*/
public synchronized Collection<String> getManagedElementIds() {
- return managedElementIds;
+ return ricConfig.managedElementIds();
}
/**
* @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);
}
/**
@Override
public synchronized String toString() {
return Ric.class.getSimpleName() + ": " + "name: " + name() + ", state: " + state + ", baseUrl: "
- + ricConfig.baseUrl() + ", managedNodes: " + managedElementIds;
+ + ricConfig.baseUrl() + ", managedNodes: " + ricConfig.managedElementIds();
}
/**
/**
* 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
}
}