aboutsummaryrefslogtreecommitdiffstats
path: root/ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/netconf/NetconfClient.java
diff options
context:
space:
mode:
Diffstat (limited to 'ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/netconf/NetconfClient.java')
-rw-r--r--ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/netconf/NetconfClient.java121
1 files changed, 102 insertions, 19 deletions
diff --git a/ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/netconf/NetconfClient.java b/ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/netconf/NetconfClient.java
index e3a4261..46d4e05 100644
--- a/ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/netconf/NetconfClient.java
+++ b/ransim/ransimctrlr/RANSIM-CTRLR/src/main/java/org/onap/ransim/netconf/NetconfClient.java
@@ -28,6 +28,7 @@ import com.tailf.jnc.NetconfSession;
import java.io.IOException;
import java.net.ConnectException;
+import java.util.List;
import org.apache.log4j.Logger;
import org.onap.ransim.rest.api.models.PLMNInfoModel;
@@ -37,6 +38,7 @@ import org.onap.ransim.rest.web.mapper.GNBDUModel;
import org.onap.ransim.rest.web.mapper.NRCellCUModel;
import org.onap.ransim.rest.web.mapper.NRCellDUModel;
import org.onap.ransim.rest.web.mapper.NearRTRICModel;
+import org.onap.ransim.websocket.model.ConfigData;
public class NetconfClient {
@@ -212,9 +214,90 @@ public class NetconfClient {
}
- public Element sendIntelligentSlicingData(PLMNInfoModel pLMNInfoModel, String serverId) {
+ public Element sendUpdatedPLMNInfoForClosedLoop(PLMNInfoModel pLMNInfoModel, String serverId) {
try {
- log.info("sending Intelligent Slicing netconf data");
+ log.info("sending PLMNInfo data to netconf server");
+ Element ranNetworkElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/ran-network");
+ Element nearRTRICElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/NearRTRIC");
+ Element idNearRTRICElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/idNearRTRIC");
+ idNearRTRICElement.setValue(pLMNInfoModel.getNearrtricid());
+
+ Element gNBDUFunctionElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/GNBDUFunction");
+ Element idGNBDUFunctionElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/idGNBDUFunction");
+ idGNBDUFunctionElement.setValue(pLMNInfoModel.getGnbId());
+
+ Element nRCellDUElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/NRCellDU");
+ Element idNRCellDUElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/idNRCellDU");
+ idNRCellDUElement.setValue(pLMNInfoModel.getNrCellId());
+ Element nRCellattributesElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/attributes");
+ Element pLMNInfoListElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/pLMNInfoList");
+ Element mccElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/mcc");
+ Element mncElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/mnc");
+ String[] plmn = pLMNInfoModel.getpLMNId().split("-");
+ mccElement.setValue(plmn[0]);
+ mncElement.setValue(plmn[1]);
+
+ Element sNSSAIListElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/sNSSAIList");
+ Element sNssaiElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/sNssai");
+ sNssaiElement.setValue(pLMNInfoModel.getSnssai());
+
+ List<ConfigData> configDataList = pLMNInfoModel.getConfigData();
+ for (ConfigData c : configDataList) {
+ Element configDataElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/configData");
+ Element configParameterElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/configParameter");
+ configParameterElement.setValue(c.getConfigParameter());
+ Element configValueElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/configValue");
+ configValueElement.setValue(c.getConfigValue());
+ configDataElement.markMerge();
+ configDataElement.addChild(configParameterElement);
+ configDataElement.addChild(configValueElement);
+ sNSSAIListElement.addChild(configDataElement);
+ }
+
+ sNSSAIListElement.markMerge();
+ sNSSAIListElement.addChild(sNssaiElement);
+
+ pLMNInfoListElement.addChild(mccElement);
+ pLMNInfoListElement.addChild(mncElement);
+ pLMNInfoListElement.addChild(sNSSAIListElement);
+
+ nRCellattributesElement.addChild(pLMNInfoListElement);
+ nRCellDUElement.addChild(idNRCellDUElement);
+ nRCellDUElement.addChild(nRCellattributesElement);
+
+ gNBDUFunctionElement.addChild(idGNBDUFunctionElement);
+ gNBDUFunctionElement.addChild(nRCellDUElement);
+
+ nearRTRICElement.addChild(idNearRTRICElement);
+ nearRTRICElement.addChild(gNBDUFunctionElement);
+
+ ranNetworkElement.addChild(nearRTRICElement);
+ ranNetworkElement.markMerge();
+ return ranNetworkElement;
+
+ } catch (JNCException e) {
+ log.error("Exception occured during NodeSet creation {}", e);
+ return null;
+ }
+
+ }
+
+ public Element sendUpdatedPLMNInfoForIntelligentSlicing(PLMNInfoModel pLMNInfoModel, String serverId) {
+ try {
+ log.info("sending PLMNInfo data to netconf server");
Element ranNetworkElement =
Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/ran-network");
Element nearRTRICElement =
@@ -233,7 +316,7 @@ public class NetconfClient {
Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/NRCellCU");
Element idNRCellCUElement =
Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/idNRCellCU");
- idNRCellCUElement.setValue(pLMNInfoModel.getConfigParameter());
+ idNRCellCUElement.setValue(pLMNInfoModel.getNrCellId());
Element nRCellattributesElement =
Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/attributes");
Element pLMNInfoListElement =
@@ -241,31 +324,31 @@ public class NetconfClient {
Element mccElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/mcc");
Element mncElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/mnc");
String[] plmn = pLMNInfoModel.getpLMNId().split("-");
- log.info("plmn list" + plmn);
mccElement.setValue(plmn[0]);
mncElement.setValue(plmn[1]);
+
Element sNSSAIListElement =
Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/sNSSAIList");
Element sNssaiElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/sNssai");
sNssaiElement.setValue(pLMNInfoModel.getSnssai());
- Element statusElement = Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/status");
- statusElement.setValue(pLMNInfoModel.getStatus());
- Element configDataElement =
- Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/configData");
- Element configParameterElement =
- Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/configParameter");
- configParameterElement.setValue("maxNumberOfConns");
- Element configValueElement =
- Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/configValue");
- configValueElement.setValue(pLMNInfoModel.getConfigValue());
-
- configDataElement.addChild(configParameterElement);
- configDataElement.addChild(configValueElement);
+
+ List<ConfigData> configDataList = pLMNInfoModel.getConfigData();
+ for (ConfigData c : configDataList) {
+ Element configDataElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/configData");
+ Element configParameterElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/configParameter");
+ configParameterElement.setValue(c.getConfigParameter());
+ Element configValueElement =
+ Element.create("org:onap:ccsdk:features:sdnr:northbound:ran-network", "/configValue");
+ configValueElement.setValue(c.getConfigValue());
+ configDataElement.addChild(configParameterElement);
+ configDataElement.addChild(configValueElement);
+ sNSSAIListElement.addChild(configDataElement);
+ }
sNSSAIListElement.markReplace();
sNSSAIListElement.addChild(sNssaiElement);
- sNSSAIListElement.addChild(statusElement);
- sNSSAIListElement.addChild(configDataElement);
pLMNInfoListElement.addChild(mccElement);
pLMNInfoListElement.addChild(mncElement);