package Ġcom . jetbrains . edu . learning . serialization . converter . json Ċ Ċ import Ġcom . fasterxml . jackson . databind . JsonNode Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġcom . fasterxml . jackson . databind . node . Array Node Ċ import Ġcom . fasterxml . jackson . databind . node . Object Node Ċ import Ġcom . jetbrains . edu . learning . serialization . Serialization Utils . Json .* Ċ Ċ class ĠTo 9 Version Json Step Option Converter Ġ: ĠJson Step Options Converter Ġ{ ĊĠ Ġoverride Ġfun Ġconvert ( step Options Json : ĠObject Node ): ĠObject Node Ġ{ ĊĠĠĠ Ġval Ġtask Files Ġ= Ġstep Options Json . get ( FILES ) Ġas ? ĠArray Node Ġ?: ĠObjectMapper (). create Array Node () ĊĠĠĠ Ġval Ġtest Files Ġ= Ġstep Options Json . remove ( TESTS ) Ġ?: Ġempty List < JsonNode >() ĊĠĠĠ Ġfor Ġ( test File Ġin Ġtest Files ) Ġ{ ĊĠĠĠĠĠ Ġif Ġ( test File Ġ! is ĠObject Node ) Ġcontinue ĊĠĠĠĠĠ Ġtest File . put ( IS _ VISIBLE , Ġfalse ) ĊĠĠĠĠĠ Ġtask Files . add ( test File ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġadditional Files Ġ= Ġstep Options Json . remove ( AD DITION AL _ FILES ) ĊĠĠĠ Ġif Ġ( additional Files Ġ== Ġnull ) Ġreturn Ġstep Options Json ĊĠĠĠ Ġfor Ġ(( path , Ġadditional File ) Ġin Ġadditional Files . fields ()) Ġ{ ĊĠĠĠĠĠ Ġif Ġ( additional File Ġ! is ĠObject Node ) Ġcontinue ĊĠĠĠĠĠ Ġadditional File . put ( NAME , Ġpath ) ĊĠĠĠĠĠ Ġtask Files . add ( additional File ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġstep Options Json ĊĠ Ġ} Ċ } Ċ