RIC-961:implement Xn and X2 component IDs correctly in E2M
[ric-plt/e2mgr.git] / E2Manager / managers / update_enb_manager.go
index cb3e4bc..0e8ed7e 100755 (executable)
@@ -52,7 +52,6 @@ func (h *UpdateEnbManager) Validate(request models.Request) error {
                h.logger.Errorf("#UpdateEnbManager.Validate - validation failure: %s is a mandatory field and cannot be empty", err)
                return err
        }
-
        return nil
 }
 
@@ -82,7 +81,11 @@ func (h *UpdateEnbManager) RemoveNodebCells(nodeb *entities.NodebInfo) error {
 
 func (h *UpdateEnbManager) SetNodeb(nodeb *entities.NodebInfo, request models.Request) {
        updateEnbRequest := request.(*models.UpdateEnbRequest)
-       updateEnbRequest.Enb.EnbType = nodeb.GetEnb().GetEnbType()
+
+       if nodeb.SetupFromNetwork {
+               updateEnbRequest.Enb.EnbType = nodeb.GetEnb().GetEnbType()
+       }
+
        nodeb.Configuration = &entities.NodebInfo_Enb{Enb: updateEnbRequest.Enb}
 }
 
@@ -108,9 +111,17 @@ func (h *UpdateEnbManager) validateRequestBody(request *models.UpdateEnbRequest)
                return err
        }
 
-       if h.nodebValidator.IsNgEnbType(request.Enb.GetEnbType()){
-               return errors.New("enb.enbType")
-       }
+       return nil
+}
+
+func (h *UpdateEnbManager) ValidateNodeb(nodeb *entities.NodebInfo) error{
+
+       enbType := nodeb.GetEnb().GetEnbType()
 
+       if h.nodebValidator.IsNgEnbType(enbType) {
+               h.logger.Errorf("#UpdateEnbManager.ValidateNodeb - validation failure: current enb type is not supported. enb type: %s", enbType)
+               return errors.New("")
+       }
        return nil
 }
+