@@ -30,8 +30,10 @@ import java.time.Instant
3030 */
3131object EventHandlers {
3232 /* * Event handler for room temperature update event. */
33- class TemperatureEventHandler (private val roomRepository : RoomRepository ): EventHandler {
34- override fun canHandle (event : Event <* >): Boolean = event.cast<RoomEvent <RoomEventPayloads .TemperaturePayload >>()
33+ class TemperatureEventHandler (private val roomRepository : RoomRepository ) : EventHandler {
34+ override fun canHandle (event : Event <* >): Boolean = event.cast<RoomEvent <* >> {
35+ this .data.cast<RoomEventPayloads .TemperaturePayload >()
36+ }
3537
3638 override fun consume (event : Event <* >) {
3739 event.cast<RoomEvent <RoomEventPayloads .TemperaturePayload >>() {
@@ -45,8 +47,10 @@ object EventHandlers {
4547 }
4648
4749 /* * Event handler for room humidity update event. */
48- class HumidityEventHandler (private val roomRepository : RoomRepository ): EventHandler {
49- override fun canHandle (event : Event <* >): Boolean = event.cast<RoomEvent <RoomEventPayloads .HumidityPayload >>()
50+ class HumidityEventHandler (private val roomRepository : RoomRepository ) : EventHandler {
51+ override fun canHandle (event : Event <* >): Boolean = event.cast<RoomEvent <* >> {
52+ this .data.cast<RoomEventPayloads .HumidityPayload >()
53+ }
5054
5155 override fun consume (event : Event <* >) {
5256 event.cast<RoomEvent <RoomEventPayloads .HumidityPayload >>() {
@@ -60,8 +64,10 @@ object EventHandlers {
6064 }
6165
6266 /* * Event handler for room luminosity update event. */
63- class LuminosityEventHandler (private val roomRepository : RoomRepository ): EventHandler {
64- override fun canHandle (event : Event <* >): Boolean = event.cast<RoomEvent <RoomEventPayloads .LuminosityPayload >>()
67+ class LuminosityEventHandler (private val roomRepository : RoomRepository ) : EventHandler {
68+ override fun canHandle (event : Event <* >): Boolean = event.cast<RoomEvent <* >> {
69+ this .data.cast<RoomEventPayloads .LuminosityPayload >()
70+ }
6571
6672 override fun consume (event : Event <* >) {
6773 event.cast<RoomEvent <RoomEventPayloads .LuminosityPayload >>() {
@@ -75,8 +81,10 @@ object EventHandlers {
7581 }
7682
7783 /* * Event handler for room presence update event. */
78- class PresenceEventHandler (private val roomRepository : RoomRepository ): EventHandler {
79- override fun canHandle (event : Event <* >): Boolean = event.cast<RoomEvent <RoomEventPayloads .PresencePayload >>()
84+ class PresenceEventHandler (private val roomRepository : RoomRepository ) : EventHandler {
85+ override fun canHandle (event : Event <* >): Boolean = event.cast<RoomEvent <* >> {
86+ this .data.cast<RoomEventPayloads .PresencePayload >()
87+ }
8088
8189 override fun consume (event : Event <* >) {
8290 event.cast<RoomEvent <RoomEventPayloads .PresencePayload >>() {
@@ -92,17 +100,17 @@ object EventHandlers {
92100 /* * Event handler for medical technology usage update event. */
93101 class MedicalTechnologyEventHandler (
94102 private val medicalTechnologyRepository : MedicalTechnologyRepository
95- ): EventHandler {
103+ ) : EventHandler {
96104 override fun canHandle (event : Event <* >): Boolean = event is MedicalTechnologyEvent
97105
98106 override fun consume (event : Event <* >) {
99107 event.cast<MedicalTechnologyEvent >() {
100108 MedicalTechnologyService .UpdateMedicalTechnologyUsage (
101109 MedicalTechnologyID (this .data.medicalTechnologyID),
102- this .data.isInUse ,
110+ this .data.inUse ,
103111 Instant .parse(this .dateTime),
104112 medicalTechnologyRepository
105- )
113+ ).execute()
106114 }
107115 }
108116 }
@@ -119,9 +127,7 @@ object EventHandlers {
119127 roomRepository
120128 ).execute()
121129
122- private inline fun <reified T > Any?.cast (operation : T .() -> Unit = {}): Boolean =
123- if (this is T ) {
124- operation()
125- true
126- } else false
130+ private inline fun <reified T > Any?.cast (operation : T .() -> Boolean = { true }): Boolean = if (this is T ) {
131+ operation()
132+ } else false
127133}
0 commit comments