weel 1.99.47 → 1.99.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/weel.rb +11 -11
- data/test/TestHandlerWrapper.rb +31 -30
- data/weel.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 647bf30b67c32ae612517fed9eb84b12ac1076c5
|
|
4
|
+
data.tar.gz: 0d3b5c2e3dc17d34aa2ab2bb4c6d1fcd120c3e3b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8fe3e4735f2c837f8ea27608af0c9f1895b8ed63475ae5f119b0e32dc022670400e06a8c8668b396644680b3bd6cf6e8ba3bc6c5ce9bcc5916ff13a141dfbb09
|
|
7
|
+
data.tar.gz: 521a8f632c9912a2e31ed9db3ef01414cd77f8f77f43ae6c1ff0339fdbe94ad9951b77d3eff64256429848f9791783e26dcdc291767b65b98dbfa14fa2910049
|
data/lib/weel.rb
CHANGED
|
@@ -331,7 +331,7 @@ class WEEL
|
|
|
331
331
|
|
|
332
332
|
hw, pos = __weel_sim_start(:parallel) if __weel_sim
|
|
333
333
|
|
|
334
|
-
__weel_protect_yield
|
|
334
|
+
__weel_protect_yield(&Proc.new)
|
|
335
335
|
|
|
336
336
|
Thread.current[:branch_wait_count] = (type.is_a?(Hash) && type.size == 1 && type[:wait] != nil && (type[:wait].is_a?(Integer) && type[:wait] > 0) ? type[:wait] : Thread.current[:branches].size)
|
|
337
337
|
1.upto Thread.current[:branches].size do
|
|
@@ -400,7 +400,7 @@ class WEEL
|
|
|
400
400
|
handlerwrapper.simulate(:parallel_branch,:start,Thread.current[:branch_sim_pos],current_branch_sim_pos)
|
|
401
401
|
end
|
|
402
402
|
|
|
403
|
-
__weel_protect_yield
|
|
403
|
+
__weel_protect_yield(*local, &Proc.new)
|
|
404
404
|
|
|
405
405
|
__weel_sim_stop(:parallel_branch,handlerwrapper,current_branch_sim_pos) if __weel_sim
|
|
406
406
|
|
|
@@ -435,7 +435,7 @@ class WEEL
|
|
|
435
435
|
Thread.current[:alternative_executed] << false
|
|
436
436
|
Thread.current[:alternative_mode] << mode
|
|
437
437
|
hw, pos = __weel_sim_start(:choose,:mode => Thread.current[:alternative_mode].last) if __weel_sim
|
|
438
|
-
__weel_protect_yield
|
|
438
|
+
__weel_protect_yield(&Proc.new)
|
|
439
439
|
__weel_sim_stop(:choose,hw,pos,:mode => Thread.current[:alternative_mode].last) if __weel_sim
|
|
440
440
|
Thread.current[:alternative_executed].pop
|
|
441
441
|
Thread.current[:alternative_mode].pop
|
|
@@ -476,7 +476,7 @@ class WEEL
|
|
|
476
476
|
@__weel_critical_sections[id] = semaphore if id
|
|
477
477
|
end
|
|
478
478
|
semaphore.synchronize do
|
|
479
|
-
__weel_protect_yield
|
|
479
|
+
__weel_protect_yield(&Proc.new)
|
|
480
480
|
end
|
|
481
481
|
end # }}}
|
|
482
482
|
|
|
@@ -488,7 +488,7 @@ class WEEL
|
|
|
488
488
|
return if self.__weel_state == :stopping || self.__weel_state == :stopped || Thread.current[:nolongernecessary]
|
|
489
489
|
if __weel_is_in_search_mode
|
|
490
490
|
catch :escape do
|
|
491
|
-
__weel_protect_yield
|
|
491
|
+
__weel_protect_yield(&Proc.new)
|
|
492
492
|
end
|
|
493
493
|
return if __weel_is_in_search_mode
|
|
494
494
|
end
|
|
@@ -496,7 +496,7 @@ class WEEL
|
|
|
496
496
|
cond = condition[0].is_a?(Proc) ? true : condition[0]
|
|
497
497
|
hw, pos = __weel_sim_start(:loop,args.merge(:testing=>condition[1],:condition=>cond))
|
|
498
498
|
catch :escape do
|
|
499
|
-
__weel_protect_yield
|
|
499
|
+
__weel_protect_yield(&Proc.new)
|
|
500
500
|
end
|
|
501
501
|
__weel_sim_stop(:loop,hw,pos,args.merge(:testing=>condition[1],:condition=>cond))
|
|
502
502
|
return
|
|
@@ -505,11 +505,11 @@ class WEEL
|
|
|
505
505
|
case condition[1]
|
|
506
506
|
when :pre_test
|
|
507
507
|
while __weel_eval_condition(condition[0]) && self.__weel_state != :stopping && self.__weel_state != :stopped
|
|
508
|
-
__weel_protect_yield
|
|
508
|
+
__weel_protect_yield(&Proc.new)
|
|
509
509
|
end
|
|
510
510
|
when :post_test
|
|
511
511
|
begin
|
|
512
|
-
__weel_protect_yield
|
|
512
|
+
__weel_protect_yield(&Proc.new)
|
|
513
513
|
end while __weel_eval_condition(condition[0]) && self.__weel_state != :stopping && self.__weel_state != :stopped
|
|
514
514
|
end
|
|
515
515
|
end
|
|
@@ -538,7 +538,7 @@ class WEEL
|
|
|
538
538
|
def __weel_protect_yield(*local)
|
|
539
539
|
begin
|
|
540
540
|
yield(*local) if block_given?
|
|
541
|
-
rescue => err
|
|
541
|
+
rescue # => err # don't look into it, or it will explode
|
|
542
542
|
self.__weel_state = :stopping
|
|
543
543
|
@__weel_handlerwrapper::inform_syntax_error(@__weel_handlerwrapper_args,Exception.new("DSL error. I don't want to tell you where and why."),nil)
|
|
544
544
|
nil
|
|
@@ -549,7 +549,7 @@ class WEEL
|
|
|
549
549
|
begin
|
|
550
550
|
handlerwrapper = @__weel_handlerwrapper.new @__weel_handlerwrapper_args unless condition.is_a?(Proc)
|
|
551
551
|
condition.is_a?(Proc) ? condition.call : handlerwrapper.test_condition(ReadStructure.new(@__weel_data,@__weel_endpoints),condition)
|
|
552
|
-
rescue => err
|
|
552
|
+
rescue # => err # don't look into it, or it will explode
|
|
553
553
|
# if you access $! here, BOOOM
|
|
554
554
|
self.__weel_state = :stopping
|
|
555
555
|
@__weel_handlerwrapper::inform_syntax_error(@__weel_handlerwrapper_args,Exception.new("Condition error. I don't want to tell you where and why."),nil)
|
|
@@ -916,7 +916,7 @@ public
|
|
|
916
916
|
else
|
|
917
917
|
@dslr.instance_eval(code)
|
|
918
918
|
end
|
|
919
|
-
rescue
|
|
919
|
+
rescue # => err # don't look into it, or it will explode
|
|
920
920
|
@dslr.__weel_state = :stopping
|
|
921
921
|
@dslr.__weel_handlerwrapper::inform_syntax_error(@dslr.__weel_handlerwrapper_args,Exception.new("DSL error. I don't want to tell you where and why."),code)
|
|
922
922
|
end
|
data/test/TestHandlerWrapper.rb
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
class TestHandlerWrapper < WEEL::HandlerWrapperBase
|
|
2
|
+
def self::inform_state_change(arguments,newstate)
|
|
3
|
+
$long_track += "---> STATE #{newstate}\n"
|
|
4
|
+
$short_track << "|#{newstate}|"
|
|
5
|
+
end
|
|
6
|
+
def self::inform_syntax_error(arguments,err,code)
|
|
7
|
+
$long_track += "ERROR: Syntax messed with error #{err}\n"
|
|
8
|
+
$short_track << "E"
|
|
9
|
+
raise(err)
|
|
10
|
+
end
|
|
11
|
+
|
|
2
12
|
def initialize(args,endpoint=nil,position=nil,continue=nil)
|
|
3
13
|
@__myhandler_stopped = false
|
|
4
14
|
@__myhandler_position = position
|
|
@@ -9,7 +19,7 @@ class TestHandlerWrapper < WEEL::HandlerWrapperBase
|
|
|
9
19
|
|
|
10
20
|
# executes a ws-call to the given endpoint with the given parameters. the call
|
|
11
21
|
# can be executed asynchron, see finished_call & return_value
|
|
12
|
-
def activity_handle(passthrough, parameters)
|
|
22
|
+
def activity_handle(passthrough, parameters) #{{{
|
|
13
23
|
$long_track << "CALL #{@__myhandler_position}: passthrough=[#{passthrough}], endpoint=[#{@__myhandler_endpoint}], parameters=[#{parameters.inspect}]\n"
|
|
14
24
|
$short_track << "C#{@__myhandler_position}"
|
|
15
25
|
|
|
@@ -23,7 +33,7 @@ class TestHandlerWrapper < WEEL::HandlerWrapperBase
|
|
|
23
33
|
@__myhandler_continue.continue WEEL::Signal::Again
|
|
24
34
|
sleep 1
|
|
25
35
|
end
|
|
26
|
-
@__myhandler_continue.continue
|
|
36
|
+
@__myhandler_continue.continue
|
|
27
37
|
end
|
|
28
38
|
return
|
|
29
39
|
end
|
|
@@ -32,70 +42,61 @@ class TestHandlerWrapper < WEEL::HandlerWrapperBase
|
|
|
32
42
|
parameters[:call].call
|
|
33
43
|
@__myhandler_returnValue = parameters.has_key?(:result) ? parameters[:result] : 'Handler_Dummy_Result'
|
|
34
44
|
@__myhandler_continue.continue
|
|
35
|
-
end
|
|
36
|
-
# give nothing back
|
|
45
|
+
end
|
|
46
|
+
# give nothing back
|
|
37
47
|
else
|
|
38
48
|
@__myhandler_returnValue = parameters.has_key?(:result) ? parameters[:result] : 'Handler_Dummy_Result'
|
|
39
49
|
@__myhandler_continue.continue
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
|
|
50
|
+
end
|
|
51
|
+
end #}}}
|
|
52
|
+
|
|
43
53
|
# returns the result of the last handled call
|
|
44
|
-
def activity_result_value
|
|
54
|
+
def activity_result_value #{{{
|
|
45
55
|
@__myhandler_returnValue
|
|
46
|
-
end
|
|
56
|
+
end #}}}
|
|
47
57
|
# Called if the WS-Call should be interrupted. The decision how to deal
|
|
48
58
|
# with this situation is given to the handler. To provide the possibility
|
|
49
59
|
# of a continue the Handler will be asked for a passthrough
|
|
50
|
-
def activity_stop
|
|
60
|
+
def activity_stop #{{{
|
|
51
61
|
$long_track += "STOPPED #{@__myhandler_position}\n"
|
|
52
62
|
$short_track << "S#{@__myhandler_position}"
|
|
53
63
|
@t.exit if @t
|
|
54
64
|
@__myhandler_stopped = true
|
|
55
|
-
end
|
|
65
|
+
end #}}}
|
|
56
66
|
# is called from WEEL after stop_call to ask for a passthrough-value that may give
|
|
57
67
|
# information about how to continue the call. This passthrough-value is given
|
|
58
68
|
# to activity_handle if the workflow is configured to do so.
|
|
59
|
-
def activity_passthrough_value
|
|
69
|
+
def activity_passthrough_value #{{{
|
|
60
70
|
"SOME passthrough"
|
|
61
|
-
end
|
|
71
|
+
end #}}}
|
|
62
72
|
|
|
63
73
|
# Called if the execution of the actual activity_handle is not necessary anymore
|
|
64
74
|
# It is definit that the call will not be continued.
|
|
65
75
|
# At this stage, this is only the case if parallel branches are not needed
|
|
66
76
|
# anymore to continue the workflow
|
|
67
|
-
def activity_no_longer_necessary
|
|
77
|
+
def activity_no_longer_necessary #{{{
|
|
68
78
|
$long_track += "NO_LONGER_NECCESARY #{@__myhandler_position}\n"
|
|
69
79
|
$short_track << "NLN#{@__myhandler_position}"
|
|
70
80
|
@t.exit if @t
|
|
71
81
|
@__myhandler_returnValue = "No longer necessary"
|
|
72
82
|
@__myhandler_stopped = true
|
|
73
|
-
end
|
|
83
|
+
end #}}}
|
|
74
84
|
# Is called if a Activity is executed correctly
|
|
75
|
-
def inform_activity_manipulate
|
|
85
|
+
def inform_activity_manipulate #{{{
|
|
76
86
|
$long_track += "MANIPULATE #{@__myhandler_position}\n"
|
|
77
87
|
$short_track << "M#{@__myhandler_position}"
|
|
78
|
-
end
|
|
88
|
+
end #}}}
|
|
79
89
|
# Is called if a Activity is executed correctly
|
|
80
|
-
def inform_activity_done
|
|
90
|
+
def inform_activity_done #{{{
|
|
81
91
|
$long_track += "DONE #{@__myhandler_position}\n"
|
|
82
92
|
$short_track << "D#{@__myhandler_position}"
|
|
83
|
-
end
|
|
93
|
+
end #}}}
|
|
84
94
|
# Is called if a Activity is executed with an error
|
|
85
|
-
def inform_activity_failed(err)
|
|
95
|
+
def inform_activity_failed(err) #{{{
|
|
86
96
|
$long_track += "FAILED #{@__myhandler_position}: #{err}\n"
|
|
87
97
|
$short_track << "F#{@__myhandler_position}"
|
|
88
98
|
raise(err)
|
|
89
|
-
end
|
|
90
|
-
def inform_syntax_error(err,code)
|
|
91
|
-
$long_track += "ERROR: Syntax messed with error #{err}\n"
|
|
92
|
-
$short_track << "E"
|
|
93
|
-
raise(err)
|
|
94
|
-
end
|
|
95
|
-
def inform_state_change(newstate)
|
|
96
|
-
$long_track += "---> STATE #{newstate}\n"
|
|
97
|
-
$short_track << "|#{newstate}|"
|
|
98
|
-
end
|
|
99
|
+
end #}}}
|
|
99
100
|
|
|
100
101
|
def manipulate(mr,code,result=nil,status=nil)
|
|
101
102
|
mr.instance_eval(code)
|
data/weel.gemspec
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: weel
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.99.
|
|
4
|
+
version: 1.99.48
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Juergen eTM Mangler
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2017-01-
|
|
12
|
+
date: 2017-01-31 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: test-unit
|