Class: Operaton::Bpm::Client::Task::Impl::ExternalTaskServiceImpl

Inherits:
Object
  • Object
show all
Includes:
ExternalTaskService
Defined in:
lib/operaton/bpm/client/task/impl/external_task_service_impl.rb

Overview

Mirrors org.operaton.bpm.client.task.impl.ExternalTaskServiceImpl. Methods accept either an ExternalTask or an external task id where the Java interface declares overloads for both.

Constant Summary

Constants included from ExternalTaskService

ExternalTaskService::INTERFACE_METHODS

Instance Method Summary collapse

Constructor Details

#initialize(engine_client) ⇒ ExternalTaskServiceImpl

Returns a new instance of ExternalTaskServiceImpl.



18
19
20
# File 'lib/operaton/bpm/client/task/impl/external_task_service_impl.rb', line 18

def initialize(engine_client)
  @engine_client = engine_client
end

Instance Method Details

#complete(task_or_id, variables = nil, local_variables = nil) ⇒ Object



34
35
36
37
38
# File 'lib/operaton/bpm/client/task/impl/external_task_service_impl.rb', line 34

def complete(task_or_id, variables = nil, local_variables = nil)
  handling_errors("completing the external task") do
    @engine_client.complete(task_id(task_or_id), variables, local_variables)
  end
end

#extend_lock(task_or_id, new_duration) ⇒ Object



67
68
69
70
71
# File 'lib/operaton/bpm/client/task/impl/external_task_service_impl.rb', line 67

def extend_lock(task_or_id, new_duration)
  handling_errors("extending lock") do
    @engine_client.extend_lock(task_id(task_or_id), new_duration)
  end
end

#handle_bpmn_error(task_or_id, error_code, error_message = nil, variables = nil) ⇒ Object



61
62
63
64
65
# File 'lib/operaton/bpm/client/task/impl/external_task_service_impl.rb', line 61

def handle_bpmn_error(task_or_id, error_code, error_message = nil, variables = nil)
  handling_errors("notifying a BPMN error") do
    @engine_client.bpmn_error(task_id(task_or_id), error_code, error_message, variables)
  end
end

#handle_failure(task_or_id, error_message, error_details, retries, retry_timeout, variables = nil, local_variables = nil) ⇒ Object



53
54
55
56
57
58
59
# File 'lib/operaton/bpm/client/task/impl/external_task_service_impl.rb', line 53

def handle_failure(task_or_id, error_message, error_details, retries, retry_timeout,
                   variables = nil, local_variables = nil)
  handling_errors("notifying a failure") do
    @engine_client.failure(task_id(task_or_id), error_message, error_details,
                           retries, retry_timeout, variables, local_variables)
  end
end

#lock(task_or_id, lock_duration) ⇒ Object



22
23
24
25
26
# File 'lib/operaton/bpm/client/task/impl/external_task_service_impl.rb', line 22

def lock(task_or_id, lock_duration)
  handling_errors("locking task") do
    @engine_client.lock(task_id(task_or_id), lock_duration)
  end
end

#set_variables(task_or_process_instance_id, variables) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/operaton/bpm/client/task/impl/external_task_service_impl.rb', line 40

def set_variables(task_or_process_instance_id, variables)
  process_instance_id =
    if task_or_process_instance_id.respond_to?(:process_instance_id)
      task_or_process_instance_id.process_instance_id
    else
      task_or_process_instance_id
    end

  handling_errors("setting variables for external task") do
    @engine_client.set_variables(process_instance_id, variables)
  end
end

#unlock(external_task) ⇒ Object



28
29
30
31
32
# File 'lib/operaton/bpm/client/task/impl/external_task_service_impl.rb', line 28

def unlock(external_task)
  handling_errors("unlocking the external task") do
    @engine_client.unlock(task_id(external_task))
  end
end