package ee.telekom.workflow.core.workflowinstance; import java.util.List; import java.util.Map; import ee.telekom.workflow.core.common.UnexpectedStatusException; public interface WorkflowInstanceService{ WorkflowInstance create( String workflowName, Integer workflowVersion, Map<String, Object> arguments, String label1, String label2 ); WorkflowInstance find( long refNum ); void markStarting( long refNum ) throws UnexpectedStatusException; void markExecuting( long refNum ) throws UnexpectedStatusException; void markExecuted( long refNum ) throws UnexpectedStatusException; void markAbort( long refNum ) throws UnexpectedStatusException; void markAborting( long refNum ) throws UnexpectedStatusException; void markAborted( long refNum ) throws UnexpectedStatusException; void assertIsExecuting( long refNum ) throws UnexpectedStatusException; void rewindAfterError( long refNum ) throws UnexpectedStatusException; void suspend( long refNum ) throws UnexpectedStatusException; void resume( long refNum ) throws UnexpectedStatusException; void handleStartingError( long refNum, Exception exception ) throws UnexpectedStatusException; void handleAbortingError( long refNum, Exception exception ) throws UnexpectedStatusException; void handleCompleteError( long prexRefNum, Long actionRefNum, Exception exception ) throws UnexpectedStatusException; void lock( List<Long> refNum ); void unlock( long refNum ); void updateNodeName( long refNum, String nodeName ); void updateState( long refNum, String state ); void updateHistory( Long refNum, String history ); void recoverNotAssigned( String clusterName ); void recoverNew( String nodeName ); void recoverStarting( String nodeName ); void recoverExecuting( String nodeName ); void recoverAbort( String nodeName ); void recoverAborting( String nodeName ); }