Class OpenWFE::InMemoryExpressionStorage
In: lib/openwfe/expool/expstorage.rb
Parent: Hash

Memory consuming in-memory storage. No memory limit, puts everything in a Hash

Methods

Included Modules

ServiceMixin OwfeServiceLocator ExpressionStorageBase

External Aliases

clear -> purge

Public Class methods

[Source]

     # File lib/openwfe/expool/expstorage.rb, line 311
311:         def initialize (service_name, application_context)
312: 
313:             service_init service_name, application_context
314: 
315:             observe_expool
316:         end

Public Instance methods

Attempts at fetching the root expression of a given process instance.

[Source]

     # File lib/openwfe/expool/expstorage.rb, line 394
394:         def fetch_root (wfid)
395: 
396:             find_expressions(
397:                 :wfid => wfid, 
398:                 :include_classes => DefineExpression)[0]
399:         end

Finds expressions matching the given criteria (returns a list of expressions).

This methods is called by the expression pool, it‘s thus not very "public" (not used directly by integrators, who should just focus on the methods provided by the Engine).

:wfid :will list only one process, :wfid => ‘20071208-gipijiwozo‘
:parent_wfid :will list only one process, and its subprocesses, :parent_wfid => ‘20071208-gipijiwozo‘
:consider_subprocesses :if true, "process-definition" expressions of subprocesses will be returned as well.
:wfid_prefix :allows your to query for specific workflow instance id prefixes. for example : :wfid_prefix => "200712" for the processes started in December.
:include_classes :excepts a class or an array of classes, only instances of these classes will be returned. Parent classes or mixins can be given. :includes_classes => OpenWFE::SequenceExpression
:exclude_classes :works as expected.
:wfname :will return only the expressions who belongs to the given workflow [name].
:wfrevision :usued in conjuction with :wfname, returns only the expressions with a given workflow revision.
:applied :if this option is set to true, will only return the expressions that have been applied (exp.apply_time != nil).

[Source]

     # File lib/openwfe/expool/expstorage.rb, line 383
383:         def find_expressions (options={})
384: 
385:             values.find_all do |fexp|
386:                 does_match? options, fexp
387:             end
388:         end

[Validate]