package Ġorg . kan j iv g . tools Ċ Ċ import Ġcom . types afe . config . Config Factory Ċ import Ġorg . kan j iv g . tools . tasks . Repair Ids Task Ċ import Ġorg . kan j iv g . tools . tasks . Task Type Ċ import Ġorg . kan j iv g . tools . tasks . Validation Task Ċ import Ġorg . kan j iv g . tools . tasks . config . Files Config Ċ import Ġorg . kan j iv g . tools . tasks . config . Valid ations Config Ċ import Ġorg . slf 4 j . LoggerFactory Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger (" org . kan j iv g . tools . main ") ĊĠĠĠ Ġval Ġconfig Ġ= ĠConfig Factory . load () ĊĠĠĠ Ġval ĠtaskId Ġ= Ġconfig . getString (" task ") ĊĠĠĠ Ġval Ġtask Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠ ĠTask Type . valueOf ( taskId . toUpperCase ()) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Task Ġwith Ġid Ġ$ taskId Ġ( or Ġ${ taskId . toUpperCase () }) Ġdoes Ġnot Ġexist , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" expected Ġone Ġof : Ġ${ Task Type . values (). toList () }", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġlogger . info ( frame (" task : Ġ${ task . name } ")) ĊĠĠĠ Ġval Ġkan ji VG Dir Ġ= Ġconfig . getString (" kan j iv g . dir ") ĊĠĠĠ Ġlogger . info (" K an ji VG Ġdirectory : Ġ{}", Ġkan ji VG Dir ) ĊĠĠĠ Ġwhen Ġ( task ) Ġ{ ĊĠĠĠĠĠĠĠ ĠTask Type . VALIDATE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠValidation Task . validate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFiles Config ( kan ji VG Dir , Ġconfig . getConfig ("${ task . name . toLowerCase ()}. files ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠValid ations Config ( config . getConfig (" valid ations ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠTask Type . RE PAIR _ IDS Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRe pair Ids Task . repair ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFiles Config ( kan ji VG Dir , Ġconfig . getConfig ("${ task . name . toLowerCase ()}. files ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġframe ( message : ĠString ): ĠString Ġ{ ĊĠĠĠ Ġval Ġl Ġ= Ġmessage . length Ġ+ Ġ 6 ĊĠĠĠ Ġval Ġborder Ġ= Ġ" =". repeat ( l ) ĊĠĠĠ Ġreturn Ġ"\ n $ border \ n == Ġ$ message Ġ== \ n $ border \ n " Ċ } Ċ