package Ġra ft . node . task Ċ Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġra ft . node . NodeId Ċ Ċ class ĠRemove Node Task ( context : ĠGroup Config Change Task Context , ĠnodeId : ĠNode Id ) Ġ: ĠAbstract Group Config Change Task ( context ) Ġ{ ĊĠĠĠ Ġprivate Ġval ĠnodeId : ĠNode Id Ġ= ĠnodeId ĊĠĠĠ Ġoverride Ġfun Ġis Target Node ( nodeId : ĠNode Id ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . nodeId . equals ( nodeId ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġoverride Ġfun Ġappend Group Config () Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . down grade Node ( nodeId ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Synchron ized ĊĠĠĠ Ġoverride Ġfun Ġon Log Commit ted () Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck ( state Ġ== ĠState . GROUP _ CONFIG _ APP ENDED ) Ġ{ Ġ" log Ġcommitted Ġbefore Ġlog Ġappended " Ġ} ĊĠĠĠĠĠĠĠ Ġthis . state Ġ= ĠState . GROUP _ CONFIG _ COMMIT TED ĊĠĠĠĠĠĠĠ Ġcontext . remove Node ( nodeId ) ĊĠĠĠĠĠĠĠ Ġ// Ġtodo ĊĠĠĠĠĠĠĠ ĠObject (). notify () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Remove Node Task {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" nodeId =" Ġ+ ĠnodeId Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ' }' ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( Remove Node Task :: class . java ) ĊĠĠĠ Ġ} Ċ Ċ }