package Ġorg . know ledger . ledger . data . adapters Ċ Ċ import Ġkotlinx . serialization . K Serializer Ċ import Ġorg . know ledger . ledger . core . adapters . Abstract Storage Adapter Ċ import Ġorg . know ledger . ledger . crypto . hash . Hash ers Ċ import Ġorg . know ledger . ledger . data . Ledger Data Ċ import Ġorg . know ledger . ledger . data . Traffic Incident Data Ċ import Ġorg . know ledger . ledger . database . New Instance Session Ċ import Ġorg . know ledger . ledger . database . Storage Element Ċ import Ġorg . know ledger . ledger . database . Storage Type Ċ import Ġorg . know ledger . ledger . database . results . Data Failure Ċ import Ġorg . know ledger . ledger . results . Outcome Ċ Ċ class ĠTraffic Incident Data Storage Adapter ( hash er : ĠHash ers ) Ġ: ĠAbstract Storage Adapter < Traffic Incident Data >( ĊĠĠĠ ĠTraffic Incident Data :: class . java , ĊĠĠĠ Ġhash er Ċ ) Ġ{ ĊĠĠĠ Ġoverride Ġval Ġserializer : ĠK Serializer < Traffic Incident Data > ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠTraffic Incident Data . serializer () ĊĊĠĠĠ Ġoverride Ġval Ġproperties : ĠMap < String , ĠStorage Type > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" traffic Model Id " Ġto ĠStorage Type . STRING , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" id " Ġto ĠStorage Type . INTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" icon Lat " Ġto ĠStorage Type . DOUBLE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" icon Lon " Ġto ĠStorage Type . DOUBLE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" incident Category " Ġto ĠStorage Type . INTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" magnitude Of Delay " Ġto ĠStorage Type . INTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" cluster Size " Ġto ĠStorage Type . INTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" description " Ġto ĠStorage Type . STRING , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" cause Of Acc ident " Ġto ĠStorage Type . STRING , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" from " Ġto ĠStorage Type . STRING , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" to " Ġto ĠStorage Type . STRING , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" length " Ġto ĠStorage Type . INTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" delay InSeconds " Ġto ĠStorage Type . INTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" affected Ro ads " Ġto ĠStorage Type . STRING , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" city " Ġto ĠStorage Type . STRING , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" city Seq Num " Ġto ĠStorage Type . INTEGER ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġstore ( ĊĠĠĠĠĠĠĠ Ġto Store : ĠLed ger Data , Ġsession : ĠNew Instance Session ĊĠĠĠ Ġ): ĠStorage Element Ġ= ĊĠĠĠĠĠĠĠ Ġ( to Store Ġas ĠTraffic Incident Data ). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsession ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. newInstance ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Storage Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" traffic Model Id ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . traffic Model Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). set Storage Property (" id ", Ġit . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Storage Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" icon Lat ", Ġit . icon Lat ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). set Storage Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" icon Lon ", Ġit . icon Lon ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). set Storage Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" incident Category ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . incident Category ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). set Storage Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" magnitude Of Delay ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . magnitude Of Delay ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). set Storage Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" cluster Size ", Ġit . cluster Size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). set Storage Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" description ", Ġit . description ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). set Storage Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" cause Of Acc ident ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . cause Of Acc ident ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). set Storage Property (" from ", Ġit . from ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Storage Property (" to ", Ġit . to ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Storage Property (" length ", Ġit . length ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Storage Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" delay InSeconds ", Ġit . delay InSeconds ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). set Storage Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" affected Ro ads ", Ġit . affected Ro ads ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). set Storage Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" city ", Ġit . city ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). set Storage Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" city Seq Num ", Ġit . city Seq Num ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġload ( ĊĠĠĠĠĠĠĠ Ġelement : ĠStorage Element ĊĠĠĠ Ġ): ĠOut come < Traffic Incident Data , ĠData Failure > Ġ= ĊĠĠĠĠĠĠĠ Ġcommon Load ( element , Ġid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOut come . Ok ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTraffic Incident Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Storage Property (" traffic Model Id "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Storage Property (" id "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Storage Property (" icon Lat "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Storage Property (" icon Lon "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Storage Property (" incident Category "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Storage Property (" magnitude Of Delay "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Storage Property (" cluster Size "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Storage Property (" description "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Storage Property (" cause Of Acc ident "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Storage Property (" from "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Storage Property (" to "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Storage Property (" length "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Storage Property (" delay InSeconds "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Storage Property (" affected Ro ads "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Storage Property (" city "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Storage Property (" city Seq Num ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ċ }