package Ġes . x an . serv ant v 3 . web service Ċ Ċ import Ġio . vertx . ext . web . Router Ċ import Ġio . vertx . ext . web . handler . Static Handler Ċ import Ġio . vertx . core . logging . LoggerFactory Ċ import Ġjava . io . FileNotFoundException Ċ import Ġjava . lang . NullPointerException Ċ import Ġio . netty . handler . codec . http . HttpResponse Status Ċ import Ġio . vertx . core . http . HttpMethod Ċ import Ġio . vertx . core . json . JsonObject Ċ import Ġio . vertx . core . json . Json Ċ import Ġes . x an . serv ant v 3 . temperature . Temperature Vert icle Ċ import Ġes . x an . serv ant v 3 . messages . Temperature Ċ import Ġjava . util . Date Ċ import Ġes . x an . serv ant v 3 . network . Network Vert icle Ċ import Ġes . x an . serv ant v 3 . messages . Device Ċ import Ġes . x an . serv ant v 3 . messages . Device Status ĊĊ Ċ /** Ċ Ġ* ĠAny Ġexternal Ġsensor Ġmust Ġuse Ġthis Ġendpoint Ġin Ġorder Ġto Ġprovide Ġinformation Ġabout Ġdevices Ġnetwork Ġstatus Ċ Ġ*/ Ċ class ĠDevices Controller Ġconstructor ( override Ġval Ġrouter : ĠRouter , Ġvar Ġpublisher Ġ: ĠWeb Server Vert icle ) Ġ: ĠController ({ ĊĉĊ ĉ /** Ċĉ Ġ* ĠUpdates Ġthe Ġstatus Ġof Ġa Ġdevice Ġwith Ġthe Ġprovided Ġinfo Ċĉ Ġ* Ġallowed Ġvalues Ġfor Ġthe Ġargument Ġstatus Ġare ĠUP Ġand ĠDOWN Ċĉ Ġ*/ Ċ ĉ get ("/ devices /: mac /: status "). handler Ġ{ Ċĉ ĉ publisher . publish Action ( Network Vert icle . Actions . UPDATE _ DEVICE _ STATUS , Ċĉĉ ĉ Device ("", Ċĉĉĉĉ ĉ it . request (). params (). get (" mac "), Ċĉĉĉĉ ĉ Device Status . valueOf ( it . request (). params (). get (" status ")), Ċĉĉĉĉ ĉ Date (). getTime ())); ĊĉĉĉĊĉ ĉ it . response (). end (" ok "); Ċ ĉ }; ĊĉĊ ĉ get ("/ devices "). handler Ġ{ Ċĉ ĉ publisher . publish Action ( Network Vert icle . Actions . LIST , Ċĉĉ ĉ { reply Ġ-> Ġit . response (). end ( reply . result (). body (). toString ()) }); ĊĉĉĊ ĉ }; Ċ Ċ })