package Ġcom . so yle . stories . character . rename Ċ Ċ import Ġcom . so yle . stories . character . create . character Name Input Ċ import Ġcom . so yle . stories . character . rename Character . Rename Character Controller Ċ import Ġcom . so yle . stories . character arc . create Character Dialog . Create Character Form Ċ import Ġcom . so yle . stories . di . DI Ċ import Ġcom . so yle . stories . di . get Ċ import Ġcom . so yle . stories . di . resolve Ċ import Ġcom . so yle . stories . domain . character . Character Ċ import Ġcom . so yle . stories . domain . validation . Non Blank String Ċ import Ġcom . so yle . stories . project . Project Scope Ċ import Ġcom . so yle . stories . project . Work Bench Ċ import Ġjavafx . scene . Parent Ċ import Ġjavafx . stage . Modal ity Ċ import Ġjavafx . stage . Stage Style Ċ import Ġt orn ad of x .* Ċ Ċ class ĠRename Character Form Ġ: ĠView (" Rename ") Ġ{ ĊĊĠĠĠ Ġclass ĠIn Dialog ( private Ġval Ġproject Scope : ĠProject Scope ) Ġ: ĠRename Character Flow Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġstart ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcharacter Id : ĠCharacter . Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Name : ĠString ? ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscope Ġ= ĠRen aming Character Scope ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcharacter Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject Scope ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset In Scope ( Rename Character ViewModel ( character Id , Ġcurrent Name Ġ?: Ġ""), Ġscope , ĠRename Character ViewModel :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġform Ġ= Ġscope . get < Rename Character Form >() ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġform . open Modal ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStage Style . UT ILITY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMod ality . APPLICATION _ MOD AL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġescape Closes Window Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġowner Ġ= Ġproject Scope . get < Work Bench >(). current Window ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcenter On Screen () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset On Hidden Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscope . dere gister () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDI . dere gister ( scope ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġscope : ĠRen aming Character Scope Ġ= Ġsuper . scope Ġas ĠRen aming Character Scope ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠRename Character ViewModel Ġ= Ġresolve () ĊĊĠĠĠ Ġoverride Ġval Ġroot : ĠParent Ġ= Ġform Ġ{ ĊĠĠĠĠĠĠĠ Ġcharacter Name Input ( initial Value Ġ= ĠviewModel . current Name . value , Ġon Valid Ġ= Ġ:: rename Character ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisable When ( viewModel . locked ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrename Character ( new Name : ĠNon Blank String ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . locked . set ( true ) ĊĠĠĠĠĠĠĠ Ġval Ġrename Character Controller : ĠRename Character Controller Ġ= Ġscope . project Scope . get () ĊĠĠĠĠĠĠĠ Ġrename Character Controller ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. rename Character ( viewModel . character Id . uuid . toString (), ĠnewName ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. invoke On Completion Ġ{ Ġfailure Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( failure Ġ== Ġnull ) Ġrun Later Ġ{ Ġclose () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġrun Later Ġ{ ĠviewModel . locked . set ( false ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }