Resetting E2Term connection flag after connection succes
[ric-plt/rtmgr.git] / pkg / nbi / nbi.go
index cee3374..ddbf347 100644 (file)
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
+
+
+   This source code is part of the near-RT RIC (RAN Intelligent Controller)
+   platform project (RICP).
+
 ==================================================================================
 */
 /*
 ==================================================================================
 */
 /*
@@ -26,27 +31,28 @@ package nbi
 
 import (
        "errors"
 
 import (
        "errors"
-       httptransport "github.com/go-openapi/runtime/client"
-       "github.com/go-openapi/strfmt"
-       "github.com/go-openapi/swag"
        "net/url"
        apiclient "routing-manager/pkg/appmgr_client"
        "routing-manager/pkg/appmgr_client/operations"
        "routing-manager/pkg/appmgr_model"
        "net/url"
        apiclient "routing-manager/pkg/appmgr_client"
        "routing-manager/pkg/appmgr_client/operations"
        "routing-manager/pkg/appmgr_model"
-       "routing-manager/pkg/rtmgr"
        "time"
        "time"
+
+       "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
+       httptransport "github.com/go-openapi/runtime/client"
+       "github.com/go-openapi/strfmt"
+       "github.com/go-openapi/swag"
 )
 
 var (
 )
 
 var (
-       SupportedNbis = []*NbiEngineConfig{
-               &NbiEngineConfig{
+       SupportedNbis = []*EngineConfig{
+               {
                        Name:        "httpGetter",
                        Version:     "v1",
                        Protocol:    "http",
                        Instance:    NewHttpGetter(),
                        IsAvailable: true,
                },
                        Name:        "httpGetter",
                        Version:     "v1",
                        Protocol:    "http",
                        Instance:    NewHttpGetter(),
                        IsAvailable: true,
                },
-               &NbiEngineConfig{
+               {
                        Name:        "httpRESTful",
                        Version:     "v1",
                        Protocol:    "http",
                        Name:        "httpRESTful",
                        Version:     "v1",
                        Protocol:    "http",
@@ -59,7 +65,7 @@ var (
 type Nbi struct {
 }
 
 type Nbi struct {
 }
 
-func GetNbi(nbiName string) (NbiEngine, error) {
+func GetNbi(nbiName string) (Engine, error) {
        for _, nbi := range SupportedNbis {
                if nbi.Name == nbiName && nbi.IsAvailable {
                        return nbi.Instance, nil
        for _, nbi := range SupportedNbis {
                if nbi.Name == nbiName && nbi.IsAvailable {
                        return nbi.Instance, nil
@@ -69,14 +75,18 @@ func GetNbi(nbiName string) (NbiEngine, error) {
 }
 
 func CreateSubReq(restUrl string, restPort string) *appmgr_model.SubscriptionRequest {
 }
 
 func CreateSubReq(restUrl string, restPort string) *appmgr_model.SubscriptionRequest {
-       // TODO: parametize function
-       subReq := appmgr_model.SubscriptionRequest{
+       // TODO: parameterize function
+       subData := appmgr_model.SubscriptionData{
                TargetURL:  swag.String(restUrl + ":" + restPort + "/ric/v1/handles/xapp-handle/"),
                TargetURL:  swag.String(restUrl + ":" + restPort + "/ric/v1/handles/xapp-handle/"),
-               EventType:  swag.String("all"),
+               EventType:  appmgr_model.EventTypeAll,
                MaxRetries: swag.Int64(5),
                RetryTimer: swag.Int64(10),
        }
 
                MaxRetries: swag.Int64(5),
                RetryTimer: swag.Int64(10),
        }
 
+       subReq := appmgr_model.SubscriptionRequest{
+               Data: &subData,
+       }
+
        return &subReq
 }
 
        return &subReq
 }
 
@@ -84,26 +94,26 @@ func PostSubReq(xmUrl string, nbiif string) error {
        // setting up POST request to Xapp Manager
        appmgrUrl, err := url.Parse(xmUrl)
        if err != nil {
        // setting up POST request to Xapp Manager
        appmgrUrl, err := url.Parse(xmUrl)
        if err != nil {
-               rtmgr.Logger.Error("Invalid XApp manager url/hostname: " + err.Error())
+               xapp.Logger.Error("Invalid XApp manager url/hostname: " + err.Error())
                return err
        }
        nbiifUrl, err := url.Parse(nbiif)
        if err != nil {
                return err
        }
        nbiifUrl, err := url.Parse(nbiif)
        if err != nil {
-               rtmgr.Logger.Error("Invalid NBI address/port: " + err.Error())
+               xapp.Logger.Error("Invalid NBI address/port: " + err.Error())
                return err
        }
        transport := httptransport.New(appmgrUrl.Hostname()+":"+appmgrUrl.Port(), "/ric/v1", []string{"http"})
        client := apiclient.New(transport, strfmt.Default)
        addSubParams := operations.NewAddSubscriptionParamsWithTimeout(10 * time.Second)
        // create sub req with rest url and port
                return err
        }
        transport := httptransport.New(appmgrUrl.Hostname()+":"+appmgrUrl.Port(), "/ric/v1", []string{"http"})
        client := apiclient.New(transport, strfmt.Default)
        addSubParams := operations.NewAddSubscriptionParamsWithTimeout(10 * time.Second)
        // create sub req with rest url and port
-       subReq := CreateSubReq(string(nbiifUrl.Scheme+"://"+nbiifUrl.Hostname()), nbiifUrl.Port())
+       subReq := CreateSubReq(nbiifUrl.Scheme+"://"+nbiifUrl.Hostname(), nbiifUrl.Port())
        resp, postErr := client.Operations.AddSubscription(addSubParams.WithSubscriptionRequest(subReq))
        if postErr != nil {
        resp, postErr := client.Operations.AddSubscription(addSubParams.WithSubscriptionRequest(subReq))
        if postErr != nil {
-               rtmgr.Logger.Error("POST unsuccessful:" + postErr.Error())
+               xapp.Logger.Error("POST unsuccessful:" + postErr.Error())
                return postErr
        } else {
                // TODO: use the received ID
                return postErr
        } else {
                // TODO: use the received ID
-               rtmgr.Logger.Info("POST received: " + string(resp.Payload.ID))
+               xapp.Logger.Info("POST received: " + string(resp.Payload.ID))
                return nil
        }
 }
                return nil
        }
 }