blob: d849021d98dd8ab1bc054b5fecf73e40077144f0 [file] [log] [blame]
//
// Copyright 2019 AT&T Intellectual Property
// Copyright 2019 Nokia
//
// 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 common
import (
"fmt"
)
/*
ValidateAndBuildCellIdKey builds key according to the specified format returns the resulting string
*/
func ValidateAndBuildCellIdKey(cellId string) (string, error) {
if cellId == "" {
return "", NewValidationError("#utils.ValidateAndBuildCellIdKey - an empty cell id received")
}
return fmt.Sprintf("CELL:%s", cellId), nil
}
/*
ValidateAndBuildNrCellIdKey builds key according to the specified format returns the resulting string
*/
func ValidateAndBuildNrCellIdKey(cellId string) (string, error) {
if cellId == "" {
return "", NewValidationError("#utils.ValidateAndBuildNrCellIdKey - an empty cell id received")
}
return fmt.Sprintf("NRCELL:%s", cellId), nil
}
/*
ValidateAndBuildNodeBNameKey builds key according to the specified format returns the resulting string
*/
func ValidateAndBuildNodeBNameKey(inventoryName string) (string, error) {
if inventoryName == "" {
return "", NewValidationError("#utils.ValidateAndBuildNodeBNameKey - an empty inventory name received")
}
return fmt.Sprintf("RAN:%s", inventoryName), nil
}
/*
ValidateAndBuildNodeBIdKey builds key according to the specified format returns the resulting string
*/
func ValidateAndBuildNodeBIdKey(nodeType string, plmnId string, nbId string) (string, error) {
if nodeType == "" {
return "", NewValidationError("#utils.ValidateAndBuildNodeBIdKey - an empty node type received")
}
if plmnId == "" {
return "", NewValidationError("#utils.ValidateAndBuildNodeBIdKey - an empty plmnId received")
}
if nbId == "" {
return "", NewValidationError("#utils.ValidateAndBuildNodeBIdKey - an empty nbId received")
}
return fmt.Sprintf("%s:%s:%s", nodeType, plmnId, nbId), nil
}
/*
ValidateAndBuildCellNamePciKey builds key according to the specified format returns the resulting string
*/
func ValidateAndBuildCellNamePciKey(inventoryName string, pci uint32) (string, error) {
if inventoryName == "" {
return "", NewValidationError("#utils.ValidateAndBuildCellNamePciKey - an empty inventory name received")
}
return fmt.Sprintf("PCI:%s:%02x", inventoryName, pci), nil
}
func ValidateAndBuildRanLoadInformationKey(inventoryName string) (string, error) {
if inventoryName == "" {
return "", NewValidationError("#utils.ValidateAndBuildRanLoadInformationKey - an empty inventory name received")
}
return fmt.Sprintf("LOAD:%s", inventoryName), nil
}
func ValidateAndBuildE2TInstanceKey(address string) (string, error) {
if address == "" {
return "", NewValidationError("#utils.ValidateAndBuildE2TInstanceKey - an empty E2T address received")
}
return fmt.Sprintf("E2TInstance:%s", address), nil
}
func MapE2TAddressesToKeys(addresses []string) []string {
keys := []string{}
for _, v := range addresses {
if len(v) != 0 {
keys = append(keys, fmt.Sprintf("E2TInstance:%s", v))
}
}
return keys
}