package Ġcom . coding . task . order . stubs čĊč Ċ import Ġcom . coding . task . order . beans . Inventory Info Bean č Ċ import Ġcom . google . gson . Gson č Ċ import Ġcom . google . gson . reflect . Type Token č Ċ import Ġorg . slf 4 j . Logger č Ċ import Ġorg . slf 4 j . LoggerFactory č Ċ import Ġorg . springframework . stereotype . Service č Ċ import Ġjavax . annotation . Post Construct čĊč Ċ @ Service č Ċ class ĠInventory Details Service Ġ{ čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠLogger ĠObject čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġvar Ġlogger : ĠLogger Ġ= ĠLoggerFactory . getLogger ( Inventory Details Service :: class . java ) čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠCustomer ĠInformation ĠObject čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġvar Ġinventory Info : ĠHashMap < String ?, ĠInventory Info Bean > Ġ= ĠHashMap < String ?, ĠInventory Info Bean >() čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠMethod Ġto Ġinitialize Ġthe ĠCustomer ĠInformation čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġ@ Post Construct čĊĠĠĠ Ġfun Ġinitialize Inventory Info () Ġ{ čĊčĊĠĠĠĠĠĠĠ Ġ// ĠRead Ġthe ĠCustomer ĠInformation čĊĠĠĠĠĠĠĠ Ġval Ġinventory Info Content Ġ= Ġthis :: class . java . class Loader . getResource (" price - info . json "). read Text () čĊčĊĠĠĠĠĠĠĠ Ġ// ĠConvert Ġthe ĠCustomer ĠInformation Ġinto Ġlist čĊĠĠĠĠĠĠĠ Ġval Ġinventory InfoList : ĠList < Inventory Info Bean > Ġ= ĠGson (). fromJson < List < Inventory Info Bean >>( inventory Info Content , Ġobject Ġ: ĠType Token < List < Inventory Info Bean >>() Ġ{} . type ) čĊčĊĠĠĠĠĠĠĠ Ġ// ĠIterate Ġthe Ġlist Ġand Ġpopulate Ġthe Ġmap Ġfor Ġin - memory Ġcaching Ġthe Ġdetails čĊĠĠĠĠĠĠĠ Ġfor Ġ( inventory Ġin Ġinventory InfoList ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġinventory Info . put ( inventory . name !!. toLowerCase (), Ġinventory ); čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠMethod Ġfor Ġfetching Ġall Ġthe Ġcustomers čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġfun Ġfetch Items (): ĠHashMap < String ?, ĠInventory Info Bean > Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġinventory Info čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠMethod Ġfor Ġfetching Ġthe Ġcustomer Ġfor Ġthe Ġgiven Ġcustomer Ġid . čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġfun Ġfetch Item ByName ( name : ĠString ?): ĠInventory Info Bean ? Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġinventory Info . get ( name ) čĊĠĠĠ Ġ} č Ċ }