public StopMessage build() { return new StopMessage( requestUUID, reasonPhrase, result, safeStop ); } }
@Override public boolean matches( Object o ) { return ((StopMessage) o).isSafeStop(); }
@Override public void safeStop() { try { getDaemonEndpoint().sendMessage( StopMessage.builder() .reasonPhrase( "User Request" ) .safeStop( true ) .build() ); //stopped but still running will yield status Halting getSteps().stream().map( stepMetaDataCombi -> stepMetaDataCombi.step ) .filter( stepInterface -> stepInterface.getInputRowSets().isEmpty() ) .forEach( step -> step.setStopped( true ) ); Executors.newSingleThreadExecutor().submit( () -> { waitUntilFinished(); finishProcess( true ); } ); } catch ( KettleException e ) { getLogChannel().logDebug( e.getMessage(), e ); } }
.forEach( step -> step.setRunning( true ) ); adapter.safeStop(); StopMessage.builder() .reasonPhrase( "User Request" ) .safeStop( true )
@Test public void testStopMessageFireEvent() throws KettleException { addHandlers( new StopMessage( "" ), messageEventHandler, messageEventHandler2 ); StopMessage msg = new StopMessage( "User request" ); messageEventService.fireEvent( msg ); verify( messageEventHandler ).execute( msg ); verify( messageEventHandler2 ).execute( msg ); }
@Override public void stopAll() { try { cancelling = true; getDaemonEndpoint().sendMessage( new StopMessage( getErrors() == 0 ? "User Request" : "Error reported" ) ); if ( getErrors() == 0 ) { waitUntilFinished(); finishProcess( true ); } } catch ( KettleException e ) { getLogChannel().logDebug( e.getMessage() ); } finally { cancelling = false; } }