added HO and RRMConf NB api
diff --git a/src/main/java/org.onosproject.xran/entities/RnibLink.java b/src/main/java/org.onosproject.xran/entities/RnibLink.java
index eb61120..d9f39cc 100644
--- a/src/main/java/org.onosproject.xran/entities/RnibLink.java
+++ b/src/main/java/org.onosproject.xran/entities/RnibLink.java
@@ -22,6 +22,8 @@
import org.onosproject.xran.identifiers.LinkId;
import org.openmuc.jasn1.ber.types.BerInteger;
+import java.util.Arrays;
+import java.util.Optional;
import java.util.Timer;
/**
@@ -42,8 +44,9 @@
private Type type;
private Timer timer;
- public RnibLink() {
+ public RnibLink(RnibCell cell, RnibUe ue) {
trafficPercent = new TrafficSplitPercentage();
+ trafficPercent.setEcgi(cell.getEcgi());
trafficPercent.setTrafficPercentDl(new BerInteger(100));
trafficPercent.setTrafficPercentUl(new BerInteger(100));
@@ -52,6 +55,10 @@
pdcpPackDelay = new PDCPPacketDelay();
resourceUsage = new ResourceUsage();
timer = new Timer();
+
+ type = Type.NON_SERVING;
+
+ linkId = LinkId.valueOf(cell, ue);
}
public Timer getTimer() {
@@ -73,7 +80,7 @@
}
public void setLinkId(RnibCell cell, RnibUe ue) {
- this.linkId = new LinkId(cell.getEcgi(), ue.getMmeS1apId());
+ this.linkId = LinkId.valueOf(cell, ue);
trafficPercent.setEcgi(cell.getEcgi());
}
@@ -174,24 +181,38 @@
}
public enum Type {
- SERVING_PRIMARY {
+ SERVING_PRIMARY("serving/primary") {
@Override
public String toString() {
return "\"serving/primary\"";
}
},
// TODO: Add CA/DC
- SERVING_SECONDARY {
+ SERVING_SECONDARY("serving/secondary") {
@Override
public String toString() {
return "\"serving/secondary\"";
}
},
- NON_SERVING {
+ NON_SERVING("non-serving") {
@Override
public String toString() {
return "\"non-serving\"";
}
+ };
+
+ private String name;
+
+ Type(String name) {
+ this.name = name;
+ }
+
+ public static Type getEnum(String name) {
+ Optional<Type> any = Arrays.stream(Type.values()).filter(typeStr -> typeStr.name.equals(name)).findAny();
+ if (any.isPresent()) {
+ return any.get();
+ }
+ throw new IllegalArgumentException("No enum defined for string: " + name);
}
}