public UpdateResponse updateFlowConfig ( FlowId flowId , FlowConfig flowConfig , boolean triggerListener ) { log . info ( "[GAAS-REST] Update called with flowGroup {} flowName {}" , flowId . getFlowGroup ( ) , flowId . getFlowName ( ) ) ; if ( ! flowId . getFlowGroup ( ) . equals ( flowConfig . getId ( ) . getFlowGroup ( ) ) || ! flowId . getFlowName ( ) . equals ( flowConfig . getId ( ) . getFlowName ( ) ) ) { throw new FlowConfigLoggedException ( HttpStatus . S_400_BAD_REQUEST , "flowName and flowGroup cannot be changed in update" , null ) ; } if ( isUnscheduleRequest ( flowConfig ) ) { // flow config is not changed if it is just a request to un-schedule FlowConfig originalFlowConfig = getFlowConfig ( flowId ) ; originalFlowConfig . setSchedule ( NEVER_RUN_CRON_SCHEDULE ) ; flowConfig = originalFlowConfig ; } this . flowCatalog . put ( createFlowSpecForConfig ( flowConfig ) , triggerListener ) ; return new UpdateResponse ( HttpStatus . S_200_OK ) ; }
Update flowConfig locally and trigger all listeners iff