-func launchRest(nbiif *string, datach chan<- *models.XappCallbackData, subchan chan<- *models.XappSubscriptionData,
- subdelchan chan<- *models.XappSubscriptionData) {
- swaggerSpec, err := loads.Embedded(restapi.SwaggerJSON, restapi.FlatSwaggerJSON)
- if err != nil {
- //log.Fatalln(err)
- rtmgr.Logger.Error(err.Error())
- os.Exit(1)
- }
+func associateRanToE2THandlerImpl(data models.RanE2tMap) error {
+ xapp.Logger.Debug("Invoked associateRanToE2THandlerImpl")
+ err := validateE2TAddressRANListData(data)
+ if err != nil {
+ xapp.Logger.Warn(" Association of RAN to E2T Instance data validation failed: " + err.Error())
+ return err
+ }
+ xapp.Logger.Debug("received associate RAN list to E2T instance mapping from E2 Manager")
+ m.Lock()
+ sdlEngine.WriteAssRANToE2TInstance(xapp.Config.GetString("rtfile"), data)
+ m.Unlock()
+ return sendRoutesToAll()
+
+}
+
+func disassociateRanToE2THandlerImpl(data models.RanE2tMap) error {
+ xapp.Logger.Debug("Invoked disassociateRanToE2THandlerImpl")
+ err := validateE2TAddressRANListData(data)
+ if err != nil {
+ xapp.Logger.Warn(" Disassociation of RAN List from E2T Instance data validation failed: " + err.Error())
+ return err
+ }
+ xapp.Logger.Debug("received disassociate RANs from E2T instance")
+ m.Lock()
+ sdlEngine.WriteDisAssRANFromE2TInstance(xapp.Config.GetString("rtfile"), data)
+ m.Unlock()
+ return sendRoutesToAll()
+
+}
+
+func deleteE2tHandleHandlerImpl(data *models.E2tDeleteData) error {
+ xapp.Logger.Debug("Invoked deleteE2tHandleHandlerImpl")
+
+ err := validateDeleteE2tData(data)
+ if err != nil {
+ xapp.Logger.Error(err.Error())
+ return err
+ }
+ m.Lock()
+ sdlEngine.WriteDeleteE2TInstance(xapp.Config.GetString("rtfile"), data)
+ m.Unlock()
+ return sendRoutesToAll()
+
+}
+
+func dumpDebugData() (models.Debuginfo, error) {
+ var response models.Debuginfo
+ sdlEngine, _ := sdl.GetSdl("file")
+ rpeEngine, _ := rpe.GetRpe("rmrpush")
+ data, err := sdlEngine.ReadAll(xapp.Config.GetString("rtfile"))
+ if err != nil || data == nil {
+ xapp.Logger.Error("Cannot get data from sdl interface due to: " + err.Error())
+ return response, err
+ }
+ response.RouteTable = *rpeEngine.GeneratePolicies(rtmgr.Eps, data)
+
+ prettyJSON, err := json.MarshalIndent(data, "", "")
+ response.RouteConfigs = string(prettyJSON)
+
+ return response, err
+}
+
+func launchRest(nbiif *string){
+ swaggerSpec, err := loads.Embedded(restapi.SwaggerJSON, restapi.FlatSwaggerJSON)
+ if err != nil {
+ //log.Fatalln(err)
+ xapp.Logger.Error(err.Error())
+ os.Exit(1)
+ }