package Ġcom . ha ul mont . addon . data gen . web . screens . generation result Ċ Ċ import Ġcom . ha ul mont . addon . data gen . entity . Data Generation Command Ċ import Ġcom . ha ul mont . addon . data gen . service . Data Generation Service Ċ import Ġcom . ha ul mont . addon . data gen . service . Entities Generation Result Ċ import Ġcom . ha ul mont . addon . data gen . web . screens . generated entity . Generated Entity Browse Ċ import Ġcom . ha ul mont . cub a . core . entity . Base Generic Id Entity Ċ import Ġcom . ha ul mont . cub a . core . global . Messages Ċ import Ġcom . ha ul mont . cub a . core . global . Metadata Tools Ċ import Ġcom . ha ul mont . cub a . gui . Notifications Ċ import Ġcom . ha ul mont . cub a . gui . Screen Builders Ċ import Ġcom . ha ul mont . cub a . gui . Ui Components Ċ import Ġcom . ha ul mont . cub a . gui . components .* Ċ import Ġcom . ha ul mont . cub a . gui . exec utors . Background Task Ċ import Ġcom . ha ul mont . cub a . gui . exec utors . Background Task Handler Ċ import Ġcom . ha ul mont . cub a . gui . exec utors . Background Worker Ċ import Ġcom . ha ul mont . cub a . gui . exec utors . Task Life Cycle Ċ import Ġcom . ha ul mont . cub a . gui . model . Collection Container Ċ import Ġcom . ha ul mont . cub a . gui . screen .* Ċ import Ġcom . ha ul mont . cub a . web . gui . components . Web Suggestion Field Ċ import Ġorg . apache . commons . lang 3 . exception . Exception Utils Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjavax . inject . Inject ĊĊ Ċ @ Ui Controller (" data gen _ Generation Result ") Ċ @ Ui Descriptor (" generation - result . xml ") Ċ @ Dialog Mode ( width Ġ= Ġ" 8 0 0 px ", Ġheight Ġ= Ġ" 6 0 0 px ", Ġres izable Ġ= Ġtrue ) Ċ class ĠGeneration Result Screen Ġ: ĠScreen () Ġ{ ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġresults Box : ĠV BoxLayout ĊĊĠĠĠ Ġvar Ġcommand : ĠData Generation Command < *> ? Ġ= Ġnull ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdata Generation Service : ĠData Generation Service ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmessages : ĠMessages ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġui Components : ĠUi Components ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmetadata Tools : ĠMetadata Tools ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġscreen Builders : ĠScreen Builders ĊĊĠĠĠ Ġ// ĠData ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcommitted Entities Dc : ĠCollection Container < Base Generic Id Entity <* >> ĊĊĠĠĠ Ġ// ĠUI ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠprogressBar : ĠProgress Bar ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġacc ordion : ĠAcc ordion ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġexceptions TextArea : ĠText Area < String > ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbackground Worker : ĠBackground Worker ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnotifications : ĠNotifications ĊĊĊĠĠĠ Ġ@ Subscribe ĊĠĠĠ Ġprivate Ġfun Ġon After Show ( event : ĠAfter Show Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcommand Ġ= Ġthis . command Ġ?: Ġthrow ĠIllegalStateException (" Data Ġgeneration Ġcommand Ġis Ġnot Ġpassed ") ĊĠĠĠĠĠĠĠ Ġdo Generate ( command ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdo Generate ( cmd : ĠData Generation Command <* >) Ġ{ ĊĠĠĠĠĠĠĠ ĠprogressBar . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġresults Box . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġtask Ġ= Ġobject Ġ: ĠBackground Task < Int ?, ĠEntities Generation Result < *> >( 6 0 0 , Ġthis ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun ( task Life Cycle : ĠTask Life Cycle < Int ?> ): ĠEntities Generation Result < *> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdata Generation Service . generate Entities ( cmd ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcanceled () Ġ{ Ġ// ĠDo Ġsomething Ġin ĠUI Ġthread Ġif Ġthe Ġtask Ġis Ġcanceled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdone ( result : ĠEntities Generation Result <* >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Result ( result ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhandle Exception ( ex : Ġjava . lang . Exception ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLoggerFactory . getLogger ( java Class ). error (" Error Ġin Ġgeneration Ġthread ", Ġex ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle BT Error () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġtask Handler : ĠBackground Task Handler < *> Ġ= Ġbackground Worker . handle ( task ) ĊĠĠĠĠĠĠĠ Ġtask Handler . execute () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Result ( res : ĠEntities Generation Result <* >) Ġ{ ĊĠĠĠĠĠĠĠ ĠprogressBar . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġresults Box . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġwindow . expand ( results Box ) ĊĊĠĠĠĠĠĠĠ Ġacc ordion . get Tab (" committed Tab "). caption Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessages . format Message ( java Class ," committed Caption ", Ġres . committed . size ) ĊĠĠĠĠĠĠĠ Ġval Ġexceptions Tab Ġ= Ġacc ordion . get Tab (" exceptions Tab ") ĊĠĠĠĠĠĠĠ Ġexceptions Tab . caption Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessages . format Message ( java Class , Ġ" exceptions Caption ", Ġres . exceptions . size ) ĊĊĠĠĠĠĠĠĠ Ġval Ġentities Ġ= Ġres . committed . map Ġ{ Ġit Ġas ĠBase Generic Id Entity Ġ} ĊĠĠĠĠĠĠĠ Ġcommitted Entities Dc . mutable Items . addAll ( entities ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexceptions List : ĠString Ġ= Ġres . exceptions . join ToString ( separator Ġ= Ġ"\ n \ n ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe Ġ-> ĠException Utils . get StackTrace ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġexceptions TextArea . value Ġ= Ġexceptions List ĊĠĠĠĠĠĠĠ Ġif Ġ( res . exceptions . size Ġ> Ġ 0 Ġ&& Ġres . committed . size Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġacc ordion . selected Tab Ġ= Ġexceptions Tab ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Install ( to Ġ= Ġ" committed Table . id ", Ġsubject Ġ= Ġ" column Generator ") ĊĠĠĠ Ġprivate Ġfun Ġcommitted Table Id Column Generator ( entity : ĠBase Generic Id Entity < Any >): ĠComponent ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlink Component Ġ= Ġui Components . create ( Link Button :: class . java ) ĊĠĠĠĠĠĠĠ Ġlink Component . caption Ġ= Ġentity . id . toString () ĊĠĠĠĠĠĠĠ Ġlink Component . add ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Builders ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. lookup ( entity :: class . java , Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Open Mode ( Open Mode . NEW _ TAB ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġlink Component ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Install ( to Ġ= Ġ" committed Table . instance Name ", Ġsubject Ġ= Ġ" column Generator ") ĊĠĠĠ Ġprivate Ġfun Ġcommitted Table Instance Name Column Generator ( entity : ĠBase Generic Id Entity < Any >? ): ĠComponent ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlabel Ġ= Ġui Components . create ( Label . TYPE _ STRING ) ĊĠĠĠĠĠĠĠ Ġlabel . value Ġ= Ġmetadata Tools . getInstance Name ( entity ) ĊĠĠĠĠĠĠĠ Ġreturn Ġlabel ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Subscribe (" browse Btn ") ĊĠĠĠ Ġprivate Ġfun Ġon Browse Btn Click ( event : ĠButton . Click Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġscreen Builders . screen ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Screen Class ( Generated Entity Browse :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhandle BT Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġnotifications . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Type ( Notifications . Notification Type . ERROR ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Caption ( messages . getMessage ( java Class , Ġ" generation Error ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠ Ġclose ( Frame Owner . WINDOW _ CLOSE _ ACTION ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ