question: private void recordRPOperation ( DbClient dbClient , OperationTypeEnum opType , Operation . Status status , Object ... extParam ) { try { boolean opStatus = ( Operation . Status . ready == status ) ? true : false ; String evType ; evType = opType . getEvType ( opStatus ) ; String evDesc = opType . getDescription ( ) ; String opStage = AuditLogManager . AUDITOP_END ; _log . info ( "opType: {} detail: {}" , opType . toString ( ) , evType . toString ( ) + ':' + evDesc ) ; recordBourneRPEvent ( dbClient , getId ( ) , evType , status , evDesc ) ; switch ( opType ) { case START_RP_LINK : case STOP_RP_LINK : case PAUSE_RP_LINK : case RESUME_RP_LINK : case FAILOVER_RP_LINK : case FAILOVER_CANCEL_RP_LINK : case CHANGE_RP_IMAGE_ACCESS_MODE : case SWAP_RP_VOLUME : AuditBlockUtil . auditBlock ( dbClient , opType , opStatus , opStage , extParam ) ; break ; default : _log . error ( "Unrecognized RP operation type" ) ; } } catch ( Exception e ) { _log . error ( "Failed to record RP operation {}, err: {}" , opType . toString ( ) , e ) ; } }
target:  Record block volume related event and audit