package Ġuk . gov . just ice . digital . h mp ps . manager ec alls api . config Ċ Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . beans . factory . annotation . Value Ċ import Ġorg . springframework . boot . autoconfigure . condition . Conditional On Missing Bean Ċ import Ġorg . springframework . boot . autoconfigure . condition . Conditional On Property Ċ import Ġorg . springframework . context . annotation . Bean Ċ import Ġorg . springframework . context . annotation . Configuration Ċ import Ġuk . gov . just ice . digital . h mp ps . manager ec alls api . service . Cl am av V irus Scanner Ċ import Ġuk . gov . just ice . digital . h mp ps . manager ec alls api . service . V irus Scan Result . No V irus Found Ċ import Ġuk . gov . just ice . digital . h mp ps . manager ec alls api . service . V irus Scanner Ċ import Ġxyz . cap y bara . clam av . Cl am av Client Ċ Ċ @ Configuration Ċ class ĠCl am AV Config ( ĊĠ Ġ@ Value ("\ ${ clam av . hostname }") Ġval Ġcl am av Host : ĠString , ĊĠ Ġ@ Value ("\ ${ clam av . port }") Ġval Ġcl am av Port : ĠInt Ċ ) Ġ{ ĊĊĠ Ġprivate Ġval Ġlog Ġ= ĠLoggerFactory . getLogger ( this :: class . java ) ĊĊĠ Ġ@ Bean ĊĠ Ġ@ Conditional On Property ( ĊĠĠĠ Ġvalue Ġ= Ġ[" clam av . vir us . scan . enabled "], ĊĠĠĠ Ġhaving Value Ġ= Ġ" true ", ĊĠĠĠ Ġmatch If Missing Ġ= Ġtrue ĊĠ Ġ) ĊĠ Ġfun Ġcl am av Client (): ĠCl am av Client Ġ= ĠCl am av Client ( clam av Host , Ġcl am av Port ) ĊĊĠ Ġ@ Bean ĊĠ Ġ@ Conditional On Property ( ĊĠĠĠ Ġvalue Ġ= Ġ[" clam av . vir us . scan . enabled "], ĊĠĠĠ Ġhaving Value Ġ= Ġ" true ", ĊĠĠĠ Ġmatch If Missing Ġ= Ġtrue ĊĠ Ġ) ĊĠ Ġfun Ġvirus Scanner ( clam av Client : ĠCl am av Client ): ĠV irus Scanner Ġ= ĠCl am av V irus Scanner ( clam av Client ) ĊĊĠ Ġ@ Bean ĊĠ Ġ@ Conditional On Missing Bean ĊĠ Ġfun Ġstub V irus Scanner () Ġ= ĠV irus Scanner Ġ{ ĊĠĠĠ Ġlog . info (" Stub ĠV irus ĠScanner Ġreturning ĠNo V irus Found ") ĊĠĠĠ ĠNo V irus Found ĊĠ Ġ} Ċ } Ċ