Class: OpenWFE::ForgetExpression

Inherits:
FlowExpression show all
Defined in:
lib/openwfe/expressions/fe_losfor.rb

Overview

This expression triggers its child (in its own thread) and then forgets about it. It immediately replies to its parent expression.

The brother expression ‘lose’ triggers its child but never replies to its parent expression.

The ‘forget’ expression is useful for triggering process segments that are, well, dead ends.

Instance Attribute Summary

Attributes inherited from FlowExpression

#apply_time, #attributes, #children, #environment_id, #fei, #parent_id, #raw_representation

Attributes included from Contextual

#application_context

Instance Method Summary collapse

Methods inherited from FlowExpression

#cancel, #clean_children, #delete_variable, #dup_environment, #fetch_environment, #fetch_text_content, #get_binding, #get_environment, #get_parent, #get_root_environment, #has_attribute, #initialize, is_definition, is_definition?, #lookup_attribute, #lookup_attributes, #lookup_boolean_attribute, #lookup_comma_list_attribute, #lookup_downcase_attribute, #lookup_ref, #lookup_string_attribute, #lookup_sym_attribute, #lookup_value, #lookup_variable, #lookup_vf_attribute, names, #new_environment, new_exp, #owns_its_environment?, #paused?, #remove_child, #reply_to_parent, #set_variable, #store_itself, #synchronize, #to_s, #to_yaml_properties

Methods included from Contextual

#get_work_directory, #init_service, #lookup

Methods included from Logging

#ldebug, #ldebug_callstack, #lerror, #lfatal, #linfo, #llog, #lunknown, #lwarn

Methods included from OwfeServiceLocator

#get_engine, #get_error_journal, #get_expool, #get_expression_map, #get_expression_pool, #get_expression_storage, #get_expression_storages, #get_journal, #get_participant_map, #get_scheduler, #get_wfid_generator

Methods inherited from ObjectWithMeta

#class_def, meta_def, meta_eval, metaclass

Constructor Details

This class inherits a constructor from OpenWFE::FlowExpression

Instance Method Details

#apply(workitem) ⇒ Object



91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# File 'lib/openwfe/expressions/fe_losfor.rb', line 91

def apply (workitem)

    if (@children and @children.length > 0)

        wi = workitem.dup

        #Thread.new do
            #begin

        child = @children[0]
        get_expression_pool.forget(self, child)
        get_expression_pool.apply(child, wi)

            #rescue Exception => e
            #    lwarn do
            #        "apply() failed to apply child to forget "+
            #        OpenWFE::exception_to_s(e)
            #    end
            #end
        #end
    end

    reply_to_parent workitem
end

#reply(workitem) ⇒ Object



116
117
118
# File 'lib/openwfe/expressions/fe_losfor.rb', line 116

def reply (workitem)
    # never gets called
end