package Ġcom . ly k ke . matching . engine . database . azure Ċ Ċ import Ġcom . ly k ke . matching . engine . da os . azure . settings . Azure App Setting History Ċ import Ġcom . ly k ke . matching . engine . da os . setting . Setting History Record Ċ import Ġcom . ly k ke . matching . engine . database . Settings History Database Accessor Ċ import Ġcom . microsoft . azure . storage . table . Cloud Table Ċ import Ġcom . microsoft . azure . storage . table . Table Operation Ċ import Ġcom . microsoft . azure . storage . table . Table Query Ċ Ċ class ĠAzure Settings History Database Accessor ( connectionString : ĠString , Ġconfig TableName : ĠString ) Ġ: ĠSettings History Database Accessor Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠPART ITION _ KEY Ġ= Ġ" Partition Key " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠNAME _ COLUMN Ġ= Ġ" Setting Name " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġhistory Table : ĠCloud Table Ġ= Ġget OrCreate Table ( connectionString , Ġconfig TableName ) ĊĊĠĠĠ Ġoverride Ġfun Ġsave ( setting History Record : ĠSetting History Record ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhistory Table . execute ( Table Operation . insert Or Merge ( to Azure Setting History Record ( setting History Record ))) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" Not Ġable Ġto Ġpersist Ġsetting Ġto Ġthe Ġhistory , Ġgroup : Ġ${ setting History Record . setting GroupName }, Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name : Ġ${ setting History Record . name }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget ( setting GroupName : ĠString , Ġsetting Name : ĠString ): ĠList < Setting History Record > Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpartition Filter Ġ= ĠTable Query . generate Filter Condition ( PARTITION _ KEY , ĠTable Query . Query Comp arisons . EQUAL , Ġsetting GroupName ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Filter Ġ= ĠTable Query . generate Filter Condition ( NAME _ COLUMN , ĠTable Query . Query Comp arisons . EQUAL , Ġsetting Name ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġquery Ġ= ĠTable Query . from ( Azure App Setting History :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( get Combined Filter Use Logical And ( partition Filter , Ġname Filter )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġhistory Table . execute ( query ). map Ġ{ Ġto Setting History Record ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" Not Ġable Ġto Ġget Ġfrom Ġdb Ġhistory Ġrecord Ġfor : Ġ$ setting GroupName , Ġsetting Ġname : Ġ$ setting Name ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetAll ( setting GroupName : ĠString ): ĠList < Setting History Record > Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpartition Filter Ġ= ĠTable Query . generate Filter Condition ( PARTITION _ KEY , ĠTable Query . Query Comp arisons . EQUAL , Ġsetting GroupName ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġquery Ġ= ĠTable Query . from ( Azure App Setting History :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( partition Filter ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġhistory Table . execute ( query ). map Ġ{ Ġto Setting History Record ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" Not Ġable Ġto Ġget Ġfrom Ġdb Ġall Ġhistory Ġrecords Ġfor : Ġ$ setting GroupName ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġto Setting History Record ( azure App Setting History : ĠAzure App Setting History ): ĠSetting History Record Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġazure App Setting History . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSetting History Record ( it . partition Key , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . setting Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . enabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . comment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . user , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . timestamp ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġto Azure Setting History Record ( setting History Record : ĠSetting History Record ): ĠAzure App Setting History Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠAzure App Setting History ( setting History Record . setting GroupName , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetting History Record . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetting History Record . value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetting History Record . comment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetting History Record . user , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetting History Record . enabled ) ĊĠĠĠ Ġ} Ċ }