package Ġcom . se an sh ub in . cond orc et . backend . console Ċ Ċ import Ġcom . se an sh ub in . cond orc et . backend . contract . Files Contract Ċ import Ġcom . se an sh ub in . cond orc et . backend . logger . Log Group Ċ import Ġcom . se an sh ub in . cond orc et . backend . logger . Logger Ċ import Ġcom . se an sh ub in . cond orc et . backend . logger . LoggerFactory Ċ import Ġcom . se an sh ub in . cond orc et . backend . server . Logging Notifications Ċ import Ġcom . se an sh ub in . cond orc et . backend . server . Notifications Ċ import Ġcom . se an sh ub in . cond orc et . backend . server . Notifications Factory Ċ import Ġjava . nio . charset . Charset Ċ import Ġjava . nio . file . Path Ċ import Ġjava . nio . file . Paths Ċ Ċ class ĠRegression Data Impl ( ĊĠĠĠ Ġval Ġlogger Factory : ĠLoggerFactory , ĊĠĠĠ Ġval Ġlog Dir : ĠPath , ĊĠĠĠ Ġval Ġphase : ĠPhase , ĊĠĠĠ Ġval Ġfiles : ĠFiles Contract , ĊĠĠĠ Ġval Ġcharset : ĠCharset Ċ ) Ġ: ĠRegression Data , ĠNotifications Factory Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġload Text ( regression File : ĠRegression File ): ĠString Ġ= ĊĠĠĠĠĠĠĠ Ġfiles . readString ( fullPath ( regression File ), Ġcharset ) ĊĊĠĠĠ Ġoverride Ġfun Ġname Path ( regression File : ĠRegression File ): ĠPath Ġ= Ġregression File . to Name Path () ĊĠĠĠ Ġoverride Ġfun Ġfull Path ( regression File : ĠRegression File ): ĠPath Ġ= Ġlog Dir . resolve ( name Path ( regression File )) ĊĠĠĠ Ġoverride Ġfun Ġcreate Notifications ( log Dir : ĠPath ): ĠNotifications Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlog Group : ĠLog Group Ġ= Ġlogger Factory . create Log Group Without Timestamp ( log Dir ) ĊĠĠĠĠĠĠĠ Ġval Ġroot Database Logger : ĠLogger Ġ= Ġcreate Logger ( log Group , ĠRegression File . ROOT ) ĊĠĠĠĠĠĠĠ Ġval Ġevent Database Logger : ĠLogger Ġ= Ġcreate Logger ( log Group , ĠRegression File . EVENT ) ĊĠĠĠĠĠĠĠ Ġval Ġstate Database Logger : ĠLogger Ġ= Ġcreate Logger ( log Group , ĠRegression File . STATE ) ĊĠĠĠĠĠĠĠ Ġval Ġevent Table Logger : ĠLogger Ġ= Ġcreate Logger ( log Group , ĠRegression File . EVENT _ TABLE ) ĊĠĠĠĠĠĠĠ Ġval Ġstate Table Logger : ĠLogger Ġ= Ġcreate Logger ( log Group , ĠRegression File . STATE _ TABLE ) ĊĠĠĠĠĠĠĠ Ġval Ġhttp Logger : ĠLogger Ġ= Ġcreate Logger ( log Group , ĠRegression File . HTTP ) ĊĠĠĠĠĠĠĠ Ġreturn ĠLogging Notifications ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot Database Logger , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent Database Logger , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate Database Logger , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent Table Logger , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate Table Logger , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhttp Logger ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠRegression File . to Name Path (): ĠPath Ġ= ĊĠĠĠĠĠĠĠ ĠPaths . get (" regression -$ fileName -${ phase . name . toLowerCase ()}. $ extension ") ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Logger ( log Group : ĠLog Group , Ġregression File : ĠRegression File ): ĠLogger Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfull Path Ġ= Ġfull Path ( regression File ) ĊĠĠĠĠĠĠĠ Ġval Ġname Path Ġ= Ġname Path ( regression File ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( phase Ġ== ĠPhase . EXPECTED Ġ&& Ġfiles . exists ( fullPath )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . nop ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfiles . delete IfExists ( fullPath ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog Group . create ( name Path ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ