changed API ID order, added xICIC support, added config fields for adm and bearer requests
diff --git a/src/main/java/org.onosproject.xran/impl/DefaultXranStore.java b/src/main/java/org.onosproject.xran/impl/DefaultXranStore.java
index f3a9fac..3cc0e01 100644
--- a/src/main/java/org.onosproject.xran/impl/DefaultXranStore.java
+++ b/src/main/java/org.onosproject.xran/impl/DefaultXranStore.java
@@ -86,7 +86,7 @@
list.addAll(
linkMap.keySet()
.stream()
- .filter(k -> k.getSourceId().equals(ecgi))
+ .filter(k -> k.getEcgi().equals(ecgi))
.map(v -> linkMap.get(v))
.collect(Collectors.toList()));
@@ -101,7 +101,7 @@
list.addAll(
linkMap.keySet()
.stream()
- .filter(k -> k.getSourceId().getEUTRANcellIdentifier().equals(eci))
+ .filter(k -> k.getEcgi().getEUTRANcellIdentifier().equals(eci))
.map(v -> linkMap.get(v))
.collect(Collectors.toList()));
@@ -116,7 +116,7 @@
list.addAll(
linkMap.keySet()
.stream()
- .filter(k -> k.getDestinationId().equals(mme))
+ .filter(k -> k.getMmeues1apid().equals(mme))
.map(v -> linkMap.get(v))
.collect(Collectors.toList()));
@@ -130,8 +130,8 @@
Optional<LinkId> first = linkMap.keySet()
.stream()
- .filter(linkId -> linkId.getSourceId().getEUTRANcellIdentifier().equals(eci))
- .filter(linkId -> linkId.getDestinationId().equals(mme))
+ .filter(linkId -> linkId.getEcgi().getEUTRANcellIdentifier().equals(eci))
+ .filter(linkId -> linkId.getMmeues1apid().equals(mme))
.findFirst();
return first.map(linkId -> linkMap.get(linkId)).orElse(null);
@@ -145,8 +145,17 @@
if (cell != null && ue != null) {
RnibLink link = new RnibLink(cell, ue);
+ // TODO: check logic for each type
try {
- link.setType(RnibLink.Type.valueOf(type));
+ RnibLink.Type linkType = RnibLink.Type.valueOf(type);
+ switch (linkType) {
+ case NON_SERVING:
+ break;
+ case SERVING_PRIMARY:
+ break;
+ case SERVING_SECONDARY:
+ break;
+ }
} catch (Exception e) {
log.error(ExceptionUtils.getFullStackTrace(e));
}
@@ -177,6 +186,11 @@
}
@Override
+ public void modifyLinkRrmConf(RnibLink link, JsonNode rrmConf) {
+ link.modifyRrmParameters(rrmConf);
+ }
+
+ @Override
public List<Object> getNodes() {
List<Object> list = Lists.newArrayList();
list.add(cellMap.values());
@@ -233,13 +247,11 @@
}
@Override
- public boolean modifyCellRrmConf(RnibCell cell, JsonNode rrmConf) {
-
+ public void modifyCellRrmConf(RnibCell cell, JsonNode rrmConf) {
List<RnibLink> linkList = getLinksByECGI(cell.getEcgi());
List<RnibUe> ueList = linkList.stream().map(link -> link.getLinkId().getUe()).collect(Collectors.toList());
cell.modifyRrmConfig(rrmConf, ueList);
- return false;
}
@Override
diff --git a/src/main/java/org.onosproject.xran/impl/XranConfig.java b/src/main/java/org.onosproject.xran/impl/XranConfig.java
index be27c89..5f59d4d 100644
--- a/src/main/java/org.onosproject.xran/impl/XranConfig.java
+++ b/src/main/java/org.onosproject.xran/impl/XranConfig.java
@@ -56,6 +56,10 @@
private static final String L2_MEAS_REPORT_INTERVAL = "l2_meas_report_interval_ms";
+ private static final String ADMISSION_SUCCESS = "admission_success";
+
+ private static final String BEARER_SUCCESS = "bearer_success";
+
private final Logger log = LoggerFactory.getLogger(getClass());
public Map<String, ECGI> activeCellSet() {
@@ -80,6 +84,16 @@
return cells;
}
+ public boolean admissionFlag() {
+ JsonNode flag = object.get(ADMISSION_SUCCESS);
+ return flag != null && flag.asBoolean();
+ }
+
+ public boolean bearerFlag() {
+ JsonNode flag = object.get(BEARER_SUCCESS);
+ return flag != null && flag.asBoolean();
+ }
+
public int getXrancPort() {
return object.get(XRANC_PORT).asInt();
}