#######################################################################################
#######################################################################################
#NIDD_VER: SBTS17_1610_003_00
#MRBTS: MRBTS_SBTS17_1610_003
#Migration from SBTS16.10 to SBTS17
#14.11.2016/ v0.1 /draft for new CUTool /L.Preuss
#
#######################################################################################

#######################################################################################
#######################################################################################
#If SCF version == 16.10 proceed with migration, else abort this ruleset

for_objects "SBTS"
	define "sbtsRoot" $current_dist_name

if ( objects_count "SBTS" ) == 0 abort_file
	
if not ( get_version sbtsRoot ) == "SBTS16.10" 
	begin
		abort_file
	end
#######################################################################################

#######################################################################################
#######################################################################################
#CHECK if SBTS/sbtsDescription and SBTS/MGMNT/DNS/serverIpAddressSecondary exist 

define "standaloneMode" "false"
define "validateMode" "false"
define "abortFlag" "false"

for_objects "SBTS"
	begin
        define "sbtsId" $current_SBTS

        if not ( param_exist $current_dist_name "sbtsDescription" )
            abort reason "MISSING_SBTS_DESCRIPTION"			 	 

        define "mrbtsID" get_param $current_dist_name "sbtsDescription"

        if ( mrbtsID == "standalone" )
            define "standaloneMode" "true"

        if ( mrbtsID == "validate" )
            define "validateMode" "true"

        if ( standaloneMode ) == "false" && ( validateMode ) == "false"
            begin
                define "abortFlag" "true"
				define "trimmedMrBtsID" replace mrbtsID "\D+" "" flags "g"
				if ( mrbtsID != "" ) && ( mrbtsID == trimmedMrBtsID )
					if ( convert_to_int mrbtsID 10 ) >= 0
						begin
							if ( convert_to_int mrbtsID 10 ) <= 1048575
								define "abortFlag" "false"
						end
            end
    end

if ( ( objects_count "SBTS/MGMNT/DNS" ) == 0 )	&& ( standaloneMode == "false" )
    abort reason "DNS_NOT_CONFIGURED"
	
for_objects "SBTS/MGMNT/DNS"
	begin
		if  ( not param_exist $current_dist_name "serverIpAddressSecondary" ) && ( standaloneMode == "false" )
			abort reason "MISSING_SERVER_IP_ADDRESS_SECONDARY"
	end

if abortFlag == "true"
    abort reason "SBTS_DESCRIPTION_VALUE_OUT_OF_RANGE"
	
#######################################################################################

#######################################################################################
#######################################################################################
#create mrbtsRoot

if ( mrbtsID == "standalone" ) || ( mrbtsID ) == "validate"
    define "mrbtsID" sbtsId

define "mrbtsRoot" "MRBTS-" JOIN mrbtsID

#######################################################################################

#######################################################################################
#######################################################################################
#create proper MRBTS-x root MO based on SBTS-x/sbtsDescription	

add_object mrbtsRoot
set_operation mrbtsRoot "create"
#######################################################################################

#######################################################################################
#######################################################################################
#copy sbtsName to btsName

for_objects "SBTS"
	begin
		if ( param_exist $current_dist_name "sbtsName" )
			begin
				add_param mrbtsRoot "btsName" get_param $current_dist_name "sbtsName"
			end
		else
			begin
				add_param mrbtsRoot "btsName" mrbtsRoot
			end
	end
#######################################################################################

#######################################################################################
#######################################################################################
#Set proper version and adaptations for MRBTS MO

for_objects "MRBTS"
	begin
		set_version $current_dist_name "SBTS17_1610_003"
		set_adaptation $current_dist_name "com.nokia.srbts"
	end


#######################################################################################
