package Ġcom . k am ij ou c en . c en im . router . manager Ċ Ċ import Ġcom . k am ij ou c en . c en im . message . msg . Message Ċ import Ġcom . k am ij ou c en . c en im . router . exception . History NotFoundException Ċ import Ġorg . springframework . stereotype . Component Ċ import Ġjava . util .* Ċ import Ġjava . util . concurrent . Concurrent HashMap Ċ Ċ @ Component Ċ class ĠChat History Manager Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġall Chat History : ĠConcurrent HashMap < Long , ĠLinkedList < Message >> Ġ= ĠConcurrent HashMap < Long , ĠLinkedList < Message >>() ĊĊĠĠĠ Ġfun Ġinit ( userId : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġall Chat History [ userId ] Ġ= ĠLinkedList < Message >() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear ( userId : ĠLong ) Ġ= Ġall Chat History . remove ( userId ) ĊĊĊĠĠĠ Ġfun Ġset History ( userId : ĠLong , Ġmsg : ĠMessage ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġall Chat History [ userId ]?. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . add ( msg ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġthrow ĠHistory NotFoundException (" history Ġlist Ġnot Ġfound ") ĊĊĊĠĠĠ Ġfun Ġget History ( userId : ĠLong ) Ġ= Ġall Chat History [ userId ] !! Ċ Ċ }