From 327e01cb25524a380f1f1a75e7cbcc9fd81f4972 Mon Sep 17 00:00:00 2001 From: "naman.gupta" Date: Sun, 30 Oct 2022 21:50:52 +0530 Subject: [PATCH] Message creation based on different operation Message creation based on different operation like creation , deletion Signed-off-by: naman.gupta Change-Id: I59398661ae31330769f1391de786134f9a5904ce --- a1-go/pkg/resthooks/resthooks.go | 9 +++++++- a1-go/pkg/rmr/messages.go | 45 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 a1-go/pkg/rmr/messages.go diff --git a/a1-go/pkg/resthooks/resthooks.go b/a1-go/pkg/resthooks/resthooks.go index 6d9ad29..0c870f6 100644 --- a/a1-go/pkg/resthooks/resthooks.go +++ b/a1-go/pkg/resthooks/resthooks.go @@ -370,7 +370,14 @@ func (rh *Resthook) CreatePolicyInstance(policyTypeId models.PolicyTypeID, polic if iscreated { a1.Logger.Debug("policy instance metadata created") } - isSent := rh.iRmrSenderInst.RmrSendToXapp(httpBodyString) + + message := rmr.Message{} + rmrMessage, err := message.PolicyMessage(strconv.FormatInt((int64(policyTypeId)), 10), string(policyInstanceID), httpBodyString, operation) + if err != nil { + a1.Logger.Error("error : %v", err) + return err + } + isSent := rh.iRmrSenderInst.RmrSendToXapp(rmrMessage) if isSent { a1.Logger.Debug("rmrSendToXapp : message sent") } else { diff --git a/a1-go/pkg/rmr/messages.go b/a1-go/pkg/rmr/messages.go new file mode 100644 index 0000000..af4e6c2 --- /dev/null +++ b/a1-go/pkg/rmr/messages.go @@ -0,0 +1,45 @@ +/* +================================================================================== + Copyright (c) 2022 Samsung + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + 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). +================================================================================== +*/ +package rmr + +import ( + "encoding/json" + "strconv" + + "gerrit.o-ran-sc.org/r/ric-plt/a1/pkg/models" +) + +type Message struct { +} + +func (m *Message) PolicyMessage(policyTypeId string, policyInstanceID string, httpBody string, operation string) (string, error) { + var datajson interface{} + datajson = map[string]string{"operation": operation, + "policy_type_id": policyTypeId, + "policy_instance_id": policyInstanceID, + "payload": httpBody} + data, err := json.Marshal(datajson) + if err != nil { + a1.Logger.Error("marshal error : %v", err) + return "", err + } + return string(data), nil +} -- 2.16.6