package Ġno . nav . hel se . cli Ċ Ċ import Ġno . nav . rap ids _ and _ river s . cli . Consumer Producer Factory Ċ import Ġorg . apache . kafka . common . Topic Partition Ċ Ċ internal Ġclass ĠDelete Consumer Group Command Ġ: ĠCommand Ġ{ ĊĠĠĠ Ġoverride Ġval Ġname Ġ= Ġ" delete _ consumer _ group " ĊĊĠĠĠ Ġoverride Ġfun Ġusage () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Usage : Ġ$ name Ġ< consumer Ġgroup > Ġ[ optional Ġtopic ]") ĊĠĠĠĠĠĠĠ Ġprintln (" Deletes Ġa Ġconsumer Ġgroup Ġand Ġall Ġof Ġits Ġcommitted Ġoffsets ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġexecute ( factory : ĠConsumer Producer Factory , Ġargs : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( args . isEmpty ()) Ġthrow ĠRuntimeException (" Missing Ġrequired Ġconsumer Group ") ĊĠĠĠĠĠĠĠ Ġval Ġconsumer Group Ġ= Ġargs [ 0 ] ĊĠĠĠĠĠĠĠ Ġval Ġtopic Ġ= Ġargs . get OrNull ( 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġclient Ġ= Ġfactory . admin Client () ĊĠĠĠĠĠĠĠ Ġif Ġ( topic Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpartitions Ġ= Ġclient . describe Topics ( listOf ( topic )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. all Topic Names () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġ( topic , Ġtopic Description ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtopic Description . partitions (). map Ġ{ Ġpartition Info Ġ-> ĠTopic Partition ( topic , Ġpartition Info . partition ()) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toSet () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . delete Consumer Group Offsets ( consumer Group , Ġpartitions ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. also Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpartitions . forEach Ġ{ Ġpartition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Deleting Ġoffsets Ġfor Ġpartition Ġ$ partition ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . partition Result ( partition ). get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( err : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("\ t Error : Ġ${ err . message }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Deleting Ġconsumer Ġgroup Ġall together ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient . delete Consumer Groups ( listOf ( consumer Group )). all (). get () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( err : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("\ t Error : Ġ${ err . message }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġprintln (" ================================================ ======= =") ĊĠĠĠĠĠĠĠ Ġprintln (" Consumer Ġgroup Ġ$ consumer Group Ġdeleted ") ĊĠĠĠĠĠĠĠ Ġprintln (" ================================================ ======= =") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġverify ( factory : ĠConsumer Producer Factory ) Ġ{} Ċ } Ċ