package Ġapp . utils Ċ Ċ import Ġapp . batch . Http Writer Ċ import Ġapp . exceptions . Blocked Topic Exception Ċ import Ġorg . springframework . beans . factory . annotation . Value Ċ import Ġorg . springframework . stereotype . Component Ċ Ċ @ Component Ċ class ĠFilter Blocked Topics Utils Ġ{ ĊĊĠĠĠ Ġ@ Value ("\ ${ blocked . topics : NOT _ SET }") ĊĠĠĠ Ġprivate Ġvar Ġblocked Topics : ĠString Ġ= Ġ" NOT _ SET " ĊĊĠĠĠ Ġ@ Throws ( Blocked Topic Exception :: class ) ĊĠĠĠ Ġfun Ġcheck If Topic Is Blocked ( topic : ĠString , Ġfull Path : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġblocked Topics List : ĠMutable List < String > Ġ= Ġmutable ListOf () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( blocked Topics . contains (',' )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblocked Topics List . addAll ( blocked Topics . split ("," )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblocked Topics List . add ( blocked Topics ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( blocked Topics List . contains ( topic )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠerrorMessage Ġ= Ġ" Provided Ġtopic Ġis Ġblocked Ġso Ġcannot Ġbe Ġprocessed : Ġ'$ topic '" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexception Ġ= ĠBlock ed Topic Exception ( errorMessage ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHttp Writer . logger . error (" Provided Ġtopic Ġis Ġblocked ", Ġexception , Ġ" topic _ name " Ġto Ġtopic , Ġ" file _ name " Ġto Ġfull Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġexception ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ