lib/openwfe/engine/engine.rb
#
# This method is used to feed a workitem back to the engine (after
# it got sent to a worklist or wherever by a participant).
# Participant implementations themselves do call this method usually.
#
# This method also accepts LaunchItem instances.
#
# Since OpenWFEru 0.9.16, this reply method accepts InFlowWorkitem
# that don't belong to a process instance (ie whose flow_expression_id
# is nil). It will simply notify the participant_map of the reply
# for the given participant_name. If there is no participant_name
# specified for this orphan workitem, an exception will be raised.
#
This method is used to feed a workitem back to the engine (after
it got sent to a worklist or wherever by a participant).
Participant implementations themselves do call this method usually.

This method also accepts LaunchItem instances.

Since OpenWFEru 0.9.16, this reply method accepts InFlowWorkitem
that don't belong to a process instance . It will simply notify the participant_map of the reply
for the given participant_name. If there is no participant_name
specified for this orphan workitem, an exception will be raised.
This method is used to feed a workitem back to the engine ( after it got sent to a worklist or wherever by a participant ) . Participant implementations themselves do call this method usually . This method also accepts LaunchItem instances . Since OpenWFEru 0 . 9 . 16 this reply method accepts InFlowWorkitem that don ' t belong to a process instance . It will simply notify the participant_map of the reply for the given participant_name . If there is no participant_name specified for this orphan workitem an exception will be raised .
def reply (workitem)
      if workitem.is_a?(InFlowWorkItem)
        if workitem.flow_expression_id
           vanilla case, workitem coming back
           (from listener probably)
          return get_expression_pool.reply(
            workitem.flow_expression_id, workitem)
        end
        if workitem.participant_name
           a workitem that doesn't belong to a process instance
           but bears a participant name.
           Notify, there may be something listening on
           this channel (see the 'listen' expression).
          return get_participant_map.onotify(
            workitem.participant_name, :reply, workitem)
        end
        raise(
          "InFlowWorkitem doesn't belong to a process instance" +
          " nor to a participant")
      end
      return get_expression_pool.launch(workitem) \
        if workitem.is_a?(LaunchItem)
           launchitem coming from listener
           let's attempt to launch a new process instance
      raise "engine.reply() cannot handle instances of {workitem.class}"
    end
def reply ( workitem ) if workitem . is_a? ( InFlowWorkItem ) if workitem . flow_expression_id return get_expression_pool . reply ( workitem . flow_expression_id , workitem ) end if workitem . participant_name return get_participant_map . onotify ( workitem . participant_name , :reply , workitem ) end raise ( "InFlowWorkitem doesn't belong to a process instance" + " nor to a participant" ) end return get_expression_pool . launch ( workitem ) if workitem . is_a? ( LaunchItem ) raise "engine.reply() cannot handle instances of #{workitem.class}" end
This method is used to feed a workitem back to the engine (after
it got sent to a worklist or wherever by a participant).
This method is used to feed a workitem back to the engine ( after it got sent to a worklist or wherever by a participant ) .
# # vanilla case, workitem coming back # (from listener probably) # # a workitem that doesn't belong to a process instance # but bears a participant name. # Notify, there may be something listening on # this channel (see the 'listen' expression). # # launchitem coming from listener # let's attempt to launch a new process instance
workitem
<not_specific>