cpee 1.3.221 → 1.3.222

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c23db9cd13cd8f8fdfcdd918d389f58ca66024fd
4
- data.tar.gz: 5676d9a8d659f96c1f63cddd723fe94c06c96d04
3
+ metadata.gz: f3cb661f17cc471a5d31bc342379814800f3b14c
4
+ data.tar.gz: 0350166c37455dcc58d739137bfdaf35dcd9858c
5
5
  SHA512:
6
- metadata.gz: f2bc178e35aa0482f6485e2f13596390c00506e40c131f346998c17e5179ff4ac93fd7fc68eaad82eb0560fc02857c5ee41d3fad96000d636d1d58c680a3dc89
7
- data.tar.gz: a9c21bed26e25f5f820dc8415b33aef41606f006d0f7e932d0a141a083743e5f423d81bf04e5782f3e5403abc9d32d7b5b564e025003e67a423ff566ea4a0cfc
6
+ metadata.gz: 4ebeee1e5d632161e6f0213d85a229c7f0e0f9802dcd4552ff47951e0680767c1710fc75703c24827f629959a7b7444e992556be0b5caab7865d9328a1fab363
7
+ data.tar.gz: 6deba5a57f9e189dcf7624acb0189407210de3ad80dfcd629a03265e8e88ac9e811782b85d89f9d12b6cf232b1d0df7d5996989bb896c00553a145e8ae173cd9
@@ -1,7 +1,7 @@
1
1
  $(document).ready(function() {
2
2
  var timer;
3
3
 
4
- $(document).on('input','#dat_details input, #dat_details textarea',function(e){
4
+ $(document).on('input','#dat_details input, #dat_details textarea, #dat_details [contenteditable]',function(e){
5
5
  clearTimeout(timer);
6
6
  timer = setTimeout(do_main_save, 5000);
7
7
  });
@@ -9,7 +9,7 @@ $(document).ready(function() {
9
9
  clearTimeout(timer);
10
10
  do_main_save();
11
11
  });
12
- $(document).on('blur','#dat_details input, #dat_details textarea',function(e){
12
+ $(document).on('blur','#dat_details input, #dat_details textarea, #dat_details [contenteditable]',function(e){
13
13
  clearTimeout(timer);
14
14
  do_main_save();
15
15
  });
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cpee"
3
- s.version = "1.3.221"
3
+ s.version = "1.3.222"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0"
6
6
  s.summary = "Preliminary release of cloud process execution engine (cpee). If you just need workflow execution, without a rest/xmpp service exposing it, then use WEEL"
@@ -3,15 +3,15 @@
3
3
  # This file is part of CPEE.
4
4
  #
5
5
  # Apache License, Version 2.0
6
- #
6
+ #
7
7
  # Copyright (c) 2013 Juergen Mangler
8
- #
8
+ #
9
9
  # Licensed under the Apache License, Version 2.0 (the "License");
10
10
  # you may not use this file except in compliance with the License.
11
11
  # You may obtain a copy of the License at
12
- #
12
+ #
13
13
  # http://www.apache.org/licenses/LICENSE-2.0
14
- #
14
+ #
15
15
  # Unless required by applicable law or agreed to in writing, software
16
16
  # distributed under the License is distributed on an "AS IS" BASIS,
17
17
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -38,7 +38,7 @@ module CPEE
38
38
  @start = nil
39
39
 
40
40
  doc = XML::Smart.string(xml)
41
- doc.register_namespace 'bm', "http://www.omg.org/spec/BPMN/20100524/MODEL"
41
+ doc.register_namespace 'bm', "http://www.omg.org/spec/BPMN/20100524/MODEL"
42
42
 
43
43
  @dataelements = {}
44
44
  @endpoints = {}
@@ -51,27 +51,27 @@ module CPEE
51
51
  @traces = Traces.new [[@start]]
52
52
  end #}}}
53
53
 
54
- def extract_dataelements(doc)
54
+ def extract_dataelements(doc) #{{{
55
55
  doc.find("/bm:definitions/bm:process/bm:property[bm:dataState/@name='cpee:dataelement']").each do |ref|
56
56
  if ref.attributes['itemSubjectRef']
57
57
  doc.find("/bm:definitions/bm:itemDefinition[@id=\"" + ref.attributes['itemSubjectRef'] + "\"]").each do |sref|
58
58
  @dataelements[ref.attributes['name']] = sref.attributes['structureRef'].to_s
59
- end
59
+ end
60
60
  else
61
61
  @dataelements[ref.attributes['name']] = ''
62
- end
62
+ end
63
63
  end
64
- end
64
+ end #}}}
65
65
 
66
- def extract_endpoints(doc)
66
+ def extract_endpoints(doc) #{{{
67
67
  doc.find("/bm:definitions/bm:process/bm:property[bm:dataState/@name='cpee:endpoint']/@itemSubjectRef").each do |ref|
68
68
  doc.find("/bm:definitions/bm:itemDefinition[@id=\"" + ref.value + "\"]/@structureRef").each do |sref|
69
69
  @endpoints[ref.value] = sref.value
70
- end
70
+ end
71
71
  end
72
- end
72
+ end #}}}
73
73
 
74
- def extract_nodelink(doc)
74
+ def extract_nodelink(doc) #{{{
75
75
  doc.find("/bm:definitions/bm:process/bm:*[@id and @name and not(@itemSubjectRef) and not(name()='sequenceFlow')]").each do |e|
76
76
  n = Node.new(self.object_id,e.attributes['id'],e.qname.name.to_sym,e.attributes['name'].strip,e.find('count(bm:incoming)'),e.find('count(bm:outgoing)'))
77
77
 
@@ -94,7 +94,7 @@ module CPEE
94
94
  value = a.attributes['itemSubjectRef']
95
95
  if @dataelements.keys.include?(value)
96
96
  n.parameters[name] = 'data.' + value
97
- else
97
+ else
98
98
  n.parameters[name] = value
99
99
  end
100
100
  end
@@ -127,9 +127,9 @@ module CPEE
127
127
  true
128
128
  else
129
129
  false
130
- end
130
+ end
131
131
  end
132
- end
132
+ end #}}}
133
133
 
134
134
  def build_traces #{{{
135
135
  build_extraces @traces, @start
@@ -140,14 +140,14 @@ module CPEE
140
140
  debug_print debug, 'Tree finished'
141
141
  @tree
142
142
  end #}}}
143
-
143
+
144
144
  def build_extraces(traces, node) #{{{
145
145
  dupt = traces.last.dup
146
146
  @graph.next_nodes(node).each_with_index do |n,i|
147
147
  traces << dupt.dup if i > 0
148
148
  if traces.last.include?(n)
149
149
  traces.last << n
150
- else
150
+ else
151
151
  traces.last << n
152
152
  build_extraces(traces,n)
153
153
  end
@@ -199,12 +199,12 @@ module CPEE
199
199
  if branch.condition?
200
200
  branch.condition << li.condition unless li.condition.nil?
201
201
  branch.condition_type = "text/javascript"
202
- end
202
+ end
203
203
  if branch.respond_to?(:attributes)
204
- branch.attributes.merge!(li.attributes)
204
+ branch.attributes.merge!(li.attributes)
205
205
  li.attributes.delete_if{true}
206
- end
207
- end
206
+ end
207
+ end
208
208
  end
209
209
  if node == enode
210
210
  traces.shift_all
@@ -228,13 +228,17 @@ module CPEE
228
228
  ### if there is non (tail controlled, remove the loop target (last)
229
229
  if node.type == :exclusiveGateway
230
230
  loops.shift_all
231
- traces.shift_all
231
+ traces.shift_all
232
232
  else
233
233
  loops.pop_all
234
234
  end
235
235
  ### add the blank conditional to get a break
236
236
  puts '--> down head_loop to ' + (down + 1).to_s if debug
237
- build_ttree branch, loops, nil, debug, down + 1
237
+ if loops.same_first
238
+ build_ttree branch.last.new_branch, loops, nil, debug, down + 1
239
+ else
240
+ build_ttree branch, loops, nil, debug, down + 1
241
+ end
238
242
  puts '--> up head_loop from ' + (down + 1).to_s if debug
239
243
  else
240
244
  ### throw away the loop traces, remove loop traces from front of all other traces
@@ -252,19 +256,20 @@ module CPEE
252
256
  puts "--> endnode #{endnode.nil? ? 'nil' : endnode.niceid}" if debug
253
257
  tracesgroup, endnode = traces.segment_by endnode
254
258
  tracesgroup.each do |trcs|
259
+ next unless branch.last.respond_to?(:new_branch)
255
260
  nb = branch.last.new_branch
256
261
  unless trcs.finished?
257
262
  puts '--> branch down to ' + (down + 1).to_s if debug
258
263
  build_ttree nb, trcs, endnode, debug, down + 1
259
264
  puts '--> branch up from ' + (down + 1).to_s if debug
260
- end
265
+ end
261
266
  end
262
267
  # remove all traces that don't start with endnode to account for loops
263
268
  if endnode.nil?
264
269
  traces.empty!
265
- else
270
+ else
266
271
  traces.remove_by_endnode(endnode)
267
- end
272
+ end
268
273
  end
269
274
  end
270
275
  end
@@ -275,7 +280,7 @@ module CPEE
275
280
  puts '-' * @hl.output_cols, @tree.to_s
276
281
  puts traces.to_s
277
282
  @hl.ask('Continue ... '){ |q| q.echo = false }
278
- end
283
+ end
279
284
  end #}}}
280
285
  private :debug_print
281
286
 
@@ -283,7 +288,7 @@ module CPEE
283
288
  formater.new(@tree).generate
284
289
  end #}}}
285
290
 
286
- end
291
+ end
287
292
 
288
293
  end
289
294
 
@@ -47,7 +47,11 @@ module CPEE
47
47
  generate_for_list(node.sub[0],s1)
48
48
  else
49
49
  s1 = res.add('loop', 'mode' => 'pre_test', 'condition' => 'true')
50
- print_Conditional(node,s1)
50
+ if node.sub.length == 1
51
+ generate_for_list(node.sub[0],s1)
52
+ else
53
+ print_Conditional(node,s1)
54
+ end
51
55
  end
52
56
  s1
53
57
  end
@@ -3,15 +3,15 @@
3
3
  # This file is part of CPEE.
4
4
  #
5
5
  # Apache License, Version 2.0
6
- #
6
+ #
7
7
  # Copyright (c) 2013 Juergen Mangler
8
- #
8
+ #
9
9
  # Licensed under the Apache License, Version 2.0 (the "License");
10
10
  # you may not use this file except in compliance with the License.
11
11
  # You may obtain a copy of the License at
12
- #
12
+ #
13
13
  # http://www.apache.org/licenses/LICENSE-2.0
14
- #
14
+ #
15
15
  # Unless required by applicable law or agreed to in writing, software
16
16
  # distributed under the License is distributed on an "AS IS" BASIS,
17
17
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -33,10 +33,10 @@ module CPEE
33
33
  end
34
34
  def length
35
35
  @sub.length
36
- end
36
+ end
37
37
  end #}}}
38
38
 
39
- class Node #{{{
39
+ class Node #{{{
40
40
  include Container
41
41
  @@niceid = {}
42
42
  attr_reader :id, :label, :niceid
@@ -59,7 +59,7 @@ module CPEE
59
59
  @outgoing = outgoing
60
60
  @attributes = {}
61
61
  end
62
- end # }}}
62
+ end # }}}
63
63
  class Link #{{{
64
64
  attr_accessor :from, :to
65
65
  attr_reader :condition, :attributes
@@ -116,7 +116,7 @@ module CPEE
116
116
  @sub = []
117
117
  @condition_type = nil
118
118
  @attributes = {}
119
- end
119
+ end
120
120
  def new_branch
121
121
  (@sub << Alternative.new(@id)).last
122
122
  end
@@ -138,7 +138,7 @@ module CPEE
138
138
  def new_branch
139
139
  (@sub << Branch.new(@id)).last
140
140
  end
141
- end #}}}
141
+ end #}}}
142
142
 
143
143
  class Conditional #{{{
144
144
  include Container
@@ -155,7 +155,7 @@ module CPEE
155
155
  @mode = mode
156
156
  @type = type
157
157
  @attributes = {}
158
- end
158
+ end
159
159
  def new_branch
160
160
  (@sub << Alternative.new(@id)).last
161
161
  end
@@ -182,7 +182,7 @@ module CPEE
182
182
  selnodes.each do |n|
183
183
  if n.incoming > 1 || n.outgoing > 1
184
184
  raise "#{n.inspect} - not a simple node to remove"
185
- end
185
+ end
186
186
  to,from = nil
187
187
  @links.each do |f|
188
188
  to = f if f.to == n.id
@@ -194,7 +194,7 @@ module CPEE
194
194
  @nodes.delete(n.id)
195
195
  else
196
196
  raise "#{n.inspect} - could not remove flow"
197
- end
197
+ end
198
198
  end
199
199
  end
200
200
 
@@ -204,7 +204,7 @@ module CPEE
204
204
 
205
205
  def add_node(n)
206
206
  @nodes[n.id] = n
207
- end
207
+ end
208
208
 
209
209
  def link(f,t)
210
210
  @links.find{ |x| x.from == f && x.to == t }
@@ -224,7 +224,7 @@ module CPEE
224
224
  nodes.first
225
225
  else
226
226
  raise "#{from.inspect} - multiple outgoing connections"
227
- end
227
+ end
228
228
  end
229
229
  end #}}}
230
230
 
@@ -263,11 +263,11 @@ module CPEE
263
263
  def remove(trcs)
264
264
  trcs.each do |t|
265
265
  self.delete(t)
266
- end
266
+ end
267
267
  end
268
268
  def remove_by_endnode(enode)
269
269
  self.delete_if do |t|
270
- t[0] != enode
270
+ t[0] != enode
271
271
  end
272
272
  end
273
273
 
@@ -290,16 +290,27 @@ module CPEE
290
290
  self.min_by{|e|e.length}
291
291
  end
292
292
 
293
+ def legend
294
+ ret = "Legend:\n"
295
+ a = self.flatten.uniq
296
+ a.each {|n| ret << " " + n.niceid.to_s + ' ' + n.type.to_s + ' ' + n.label.to_s + "\n" }
297
+ ret
298
+ end
299
+
293
300
  def to_s
294
301
  "TRACES: " + self.collect { |t| t.empty? ? '∅' : t.collect{|n| "%2d" % n.niceid }.join('→ ') }.join("\n ")
295
302
  end
296
303
 
297
304
  def shift_all
298
305
  self.each{ |tr| tr.shift }
299
- end
300
- def pop_all
301
- self.each{ |tr| tr.pop }
302
- end
306
+ end
307
+ def pop_all(what=nil)
308
+ if node.nil?
309
+ self.each{ |tr| tr.pop }
310
+ else
311
+ self.each{ |tr| tr.pop if tr.last == what }
312
+ end
313
+ end
303
314
 
304
315
  def finished?
305
316
  self.reduce(0){|sum,t| sum += t.length} == 0
@@ -314,13 +325,13 @@ module CPEE
314
325
  self.each do |t|
315
326
  break if t.length == 1
316
327
  tcount += 1 if t.last == node
317
- end
328
+ end
318
329
  tcount
319
330
  end
320
331
 
321
332
  def include_in_all?(e)
322
333
  num = 0
323
- self.each{|n| num += 1 if n.include?(e)}
334
+ self.each{|n| num += 1 if n.include?(e)}
324
335
  num == self.length
325
336
  end
326
337
 
@@ -339,7 +350,7 @@ module CPEE
339
350
  self.each do |t|
340
351
  t << tb unless t.last == t.first ### an explicit break
341
352
  end
342
- end
353
+ end
343
354
  end
344
355
 
345
356
  def loops
@@ -365,7 +376,7 @@ module CPEE
365
376
  if self[i][j] == self[i].last
366
377
  loops << self[i].shift(self[i].length)
367
378
  end
368
- end
379
+ end
369
380
  end
370
381
  loops.uniq!
371
382
  loops.remove_empty
@@ -403,9 +414,9 @@ module CPEE
403
414
  if t.index(last) && t.index(max)
404
415
  (t.index(last) + 1).upto(t.index(max)) do |i|
405
416
  t << t[i]
406
- end
417
+ end
407
418
  end
408
- end
419
+ end
409
420
  end
410
421
 
411
422
  max
@@ -424,11 +435,11 @@ module CPEE
424
435
  if trcs.include_in_all?(n)
425
436
  enode = n
426
437
  break
427
- end
438
+ end
428
439
  end
429
- end
440
+ end
430
441
  enode
431
- end
442
+ end
432
443
 
433
444
  def segment_by(endnode)
434
445
  # cut shit until common node, return the shit you cut away
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cpee
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.221
4
+ version: 1.3.222
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: tools
13
13
  cert_chain: []
14
- date: 2018-01-18 00:00:00.000000000 Z
14
+ date: 2018-01-22 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: riddl