/** Ċ Ġ* ĠThis Ġfile Ġis Ġlicensed Ġunder Ġthe ĠMIT Ġlicense . Ċ Ġ* ĠSee Ġthe ĠLICENSE Ġfile Ġin Ġproject Ġroot Ġfor Ġdetails . Ċ Ġ*/ Ċ Ċ package Ġpr aj . ms w ms . data . trigger Ċ Ċ import Ġpr aj . ms w ms . data . model . Location Ċ import Ġpr aj . ms w ms . data . model . Vehicle Ċ import Ġpr aj . ms w ms . service . Repository Service Ċ import Ġjava . sql . Connection Ċ Ċ /** Ċ Ġ* ĠTrigger ed Ġafter ĠUPDATE Ġon ĠVehicle Ġtable . Ċ Ġ*/ Ċ class ĠVehicle Update Trigger Ġ: ĠAbstract Vehicle Trigger () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠSQL Ġ= Ġ" CREATE ĠTR IG GER ĠIF ĠNOT ĠEXISTS Ġvehicle _ update Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AFTER ĠUPDATE ĠON ĠVehicle Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" FOR ĠE ACH ĠROW ĠCALL Ġ\" ${ Vehicle Update Trigger :: class . java . name }\ "" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfire ( conn : ĠConnection ?, Ġold Row : ĠArray < out ĠAny > ?, Ġnew Row : ĠArray < out ĠAny > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ(_ model , Ġ_ capacity ) Ġ= Ġget Vehicle Model And Capacity ( new Row ! ![ index Model ID ] Ġas ĠInt ) ĊĊĠĠĠĠĠĠĠ Ġpr aj . ms w ms . service . Repository Service . vehicle Repository . update ( old Row ! ![ index Vehicle ID ] Ġas ĠInt , ĠVehicle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid ĠĠĠĠĠĠĠĠĠĠ Ġ= Ġnew Row [ index Vehicle ID ] Ġas ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel ĠĠĠĠĠĠĠ Ġ= Ġ_ model , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcapacity ĠĠĠĠ Ġ= Ġ_ capacity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Location Ġ= ĠRepository Service . location Repository . get ( new Row [ index Location ID ] Ġas ĠInt ) Ġ?: ĠLocation . UN AVAILABLE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus ĠĠĠĠĠĠ Ġ= Ġget Vehicle Status ( new Row [ index Status ID ] Ġas ĠInt ) Ġ?: ĠVehicle . UN AVAILABLE . status ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠ Ġ} Ċ }