cpee 1.3.230 → 1.4.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a42c601b7e85d421eba4b6a6720f0d9ad685ad5e
4
- data.tar.gz: 81cd4eb173c56c56424d766353200f0781b846e6
3
+ metadata.gz: fb1429c372aeadbd308ea2c3ee03f2d145fbaf0f
4
+ data.tar.gz: 78c26a41bd1c433956b407999fb274497870ec76
5
5
  SHA512:
6
- metadata.gz: afd9b2950af36b839ecdc2bfd0ff858c07bf86fc5103ac9ede1f3a1f9f1e84f6b7783f7f29aa48507941462c31f31198f33dc5d960f6c5a4f5236b94ffa2c2c0
7
- data.tar.gz: 54748f688eec3b116b3a6bde4c0d5c37fd330f1a39e6d19098f6f4d1391d44e220dd5613c5afcf0284fd79012c51f0a977ff545ae6713ff22c5ece911e8e1305
6
+ metadata.gz: ba3f71ee6ec2baf7525456d2358be59fa272e742936064606a736715063dde21180660ad0864eba16ab6015aa0a9ccc73fcd25ee54317267d45510185fc736dc
7
+ data.tar.gz: fa5629168bb3ad646c223fff779d52fc3f24d6967c5680caffe812067f3c808fa6d2999a63e1d443b5dacfd0ef833038b559e2a28cefd21063d7fc2cc46aa9a8
@@ -375,8 +375,16 @@ function WfDescription(wf_adaptor, wf_illustrator) { // Model {{{
375
375
  var context_eval = this.context_eval = function(what) { // {{{
376
376
  return eval(what);
377
377
  } // }}}
378
- var get_free_id = this.get_free_id = function() { // {{{
378
+ var get_free_id = this.get_free_id = function(other) { // {{{
379
379
  var existing = new Array();
380
+ if (other) {
381
+ if ($(other).attr('id')) {
382
+ existing.push($(other).attr('id'));
383
+ }
384
+ $(other).find("[id]").each(function(k,v){
385
+ existing.push($(v).attr('id'));
386
+ });
387
+ }
380
388
  $('*[id]', description).each(function(){existing.push($(this).attr('id'))});
381
389
  var id = 1;
382
390
  while ($.inArray('a' + id,existing) != -1) {
@@ -23,13 +23,13 @@ function WFAdaptorManifestation(adaptor) {
23
23
  return($X(ntxt));
24
24
  } else {
25
25
  if (opts && opts == 'clone') {
26
+ base = base.clone();
26
27
  if (base.attr('id')) {
27
- base = base.clone();
28
- // not very generic, because it is assumed that id is attribute of top level
29
- // a better solution would be to parse rng for get_free_id()
30
- // but: there is lots of lock-in to element-id, so fuck it
31
28
  base.attr('id',self.adaptor.description.get_free_id());
32
29
  }
30
+ base.find('*[id]').each(function(k,v){
31
+ $(v).attr('id',self.adaptor.description.get_free_id(base));
32
+ });
33
33
  }
34
34
  return base;
35
35
  }
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cpee"
3
- s.version = "1.3.230"
3
+ s.version = "1.4.0"
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"
@@ -17,7 +17,7 @@ require 'riddl/server'
17
17
  require 'riddl/client'
18
18
  require 'riddl/utils/notifications_producer'
19
19
  require 'riddl/utils/properties'
20
- require ::File.dirname(__FILE__) + '/controller'
20
+ require_relative 'controller'
21
21
 
22
22
  require 'ostruct'
23
23
  class ParaStruct < OpenStruct
@@ -30,26 +30,26 @@ def ⭐(a); ParaStruct.new(a); end
30
30
 
31
31
  module CPEE
32
32
 
33
- SERVER = File.expand_path(File.dirname(__FILE__) + '/../cpee.xml')
33
+ SERVER = File.expand_path(File.join(__dir__,'..','cpee.xml'))
34
34
 
35
35
  def self::implementation(opts)
36
- opts[:instances] ||= File.expand_path(File.dirname(__FILE__) + '/../../server/instances')
37
- opts[:global_handlerwrappers] ||= File.expand_path(File.dirname(__FILE__) + '/../../server/handlerwrappers')
36
+ opts[:instances] ||= File.expand_path(File.join(__dir__,'..','..','server','instances'))
37
+ opts[:global_handlerwrappers] ||= File.expand_path(File.join(__dir__,'..','..','server','handlerwrappers'))
38
38
  opts[:handlerwrappers] ||= ''
39
- opts[:topics] ||= File.expand_path(File.dirname(__FILE__) + '/../../server/resources/topics.xml')
40
- opts[:properties_init] ||= File.expand_path(File.dirname(__FILE__) + '/../../server/resources/properties.init')
41
- opts[:properties_schema_active] ||= File.expand_path(File.dirname(__FILE__) + '/../../server/resources/properties.schema.active')
42
- opts[:properties_schema_finished] ||= File.expand_path(File.dirname(__FILE__) + '/../../server/resources/properties.schema.finished')
43
- opts[:properties_schema_inactive] ||= File.expand_path(File.dirname(__FILE__) + '/../../server/resources/properties.schema.inactive')
44
- opts[:transformation_dslx] ||= File.expand_path(File.dirname(__FILE__) + '/../../server/resources/transformation_dslx.xsl')
45
- opts[:transformation_service] ||= File.expand_path(File.dirname(__FILE__) + '/../../server/resources/transformation.xml')
46
- opts[:empty_dslx] ||= File.expand_path(File.dirname(__FILE__) + '/../../server/resources/empty_dslx.xml')
39
+ opts[:topics] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','topics.xml'))
40
+ opts[:properties_init] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','properties.init'))
41
+ opts[:properties_schema_active] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','properties.schema.active'))
42
+ opts[:properties_schema_finished] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','properties.schema.finished'))
43
+ opts[:properties_schema_inactive] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','properties.schema.inactive'))
44
+ opts[:transformation_dslx] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','transformation_dslx.xsl'))
45
+ opts[:transformation_service] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','transformation.xml'))
46
+ opts[:empty_dslx] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','empty_dslx.xml'))
47
47
  opts[:notifications_init] ||= nil
48
48
  opts[:infinite_loop_stop] ||= 10000
49
49
 
50
- opts[:runtime_options] << [
50
+ opts[:runtime_cmds] << [
51
51
  "startclean", "Delete instances before starting.", Proc.new { |status|
52
- Dir.glob(File.expand_path(File.dirname(__FILE__) + '/../../server/instances/*')).each do |d|
52
+ Dir.glob(File.expand_path(File.join(opts[:instances],'*'))).each do |d|
53
53
  FileUtils.rm_r(d) if File.basename(d) =~ /^\d+$/
54
54
  end
55
55
  }
@@ -64,7 +64,7 @@ module CPEE
64
64
  end unless opts[:handlerwrappers].strip == ''
65
65
 
66
66
  controller = {}
67
- Dir[opts[:instances] + '/*/properties.xml'].each do |e|
67
+ Dir[File.join(opts[:instances],'*','properties.xml')].each do |e|
68
68
  id = ::File::basename(::File::dirname(e))
69
69
  (controller[id.to_i] = (Controller.new(id,opts)) rescue nil)
70
70
  end
@@ -12,7 +12,7 @@ class Logging < Riddl::Implementation #{{{
12
12
  uuid = notification['instance_uuid']
13
13
  return unless uuid
14
14
 
15
- activity = notification["activity"]
15
+ activity = notification['activity']
16
16
  parameters = notification['parameters']
17
17
  receiving = notification['received']
18
18
 
@@ -127,11 +127,11 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
127
127
  end
128
128
  unless changed_dataelements.nil?
129
129
  @controller.serialize_dataelements!
130
- @controller.notify("dataelements/change", :endpoint => @handler_endpoint, :label => @label, :instance_name => @controller.info, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :changed => changed_dataelements, :values => dataelements)
130
+ @controller.notify("dataelements/change", :endpoint => @handler_endpoint, :label => @label, :instance_name => @controller.info, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :changed => changed_dataelements, :values => dataelements.select{|k,v| changed_dataelements.include?(k)})
131
131
  end
132
132
  unless changed_endpoints.nil?
133
133
  @controller.serialize_endpoints!
134
- @controller.notify("endpoints/change", :endpoint => @handler_endpoint, :label => @label, :instance_name => @controller.info, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :changed => changed_endpoints, :values => endpoints)
134
+ @controller.notify("endpoints/change", :endpoint => @handler_endpoint, :label => @label, :instance_name => @controller.info, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :changed => changed_endpoints, :values => endpoints.select{|k,v| changed_endpoints.include?(k)})
135
135
  end
136
136
  end # }}}
137
137
 
@@ -553,7 +553,16 @@
553
553
  </xsl:when>
554
554
  <xsl:otherwise>
555
555
  <xsl:text>\"</xsl:text>
556
- <xsl:value-of select="str:replace(str:replace(.,'\','\\'),'&quot;','\\\&quot;')"/>
556
+ <xsl:choose>
557
+ <xsl:when test="substring(.,1,1) = '!'">
558
+ <xsl:text>#{</xsl:text>
559
+ <xsl:value-of select="str:replace(str:replace(substring(.,2),'\','\\'),'&quot;','\\\&quot;')"/>
560
+ <xsl:text>}</xsl:text>
561
+ </xsl:when>
562
+ <xsl:otherwise>
563
+ <xsl:value-of select="str:replace(str:replace(.,'\','\\'),'&quot;','\\\&quot;')"/>
564
+ </xsl:otherwise>
565
+ </xsl:choose>
557
566
  <xsl:text>\"</xsl:text>
558
567
  </xsl:otherwise>
559
568
  </xsl:choose>
@@ -568,7 +577,16 @@
568
577
  </xsl:when>
569
578
  <xsl:otherwise>
570
579
  <xsl:text>\"</xsl:text>
571
- <xsl:value-of select="str:replace(str:replace(.,'\','\\'),'&quot;','\\\&quot;')"/>
580
+ <xsl:choose>
581
+ <xsl:when test="substring(.,1,1) = '!'">
582
+ <xsl:text>#{</xsl:text>
583
+ <xsl:value-of select="str:replace(str:replace(substring(.,2),'\','\\'),'&quot;','\\\&quot;')"/>
584
+ <xsl:text>}</xsl:text>
585
+ </xsl:when>
586
+ <xsl:otherwise>
587
+ <xsl:value-of select="str:replace(str:replace(.,'\','\\'),'&quot;','\\\&quot;')"/>
588
+ </xsl:otherwise>
589
+ </xsl:choose>
572
590
  <xsl:text>\"</xsl:text>
573
591
  </xsl:otherwise>
574
592
  </xsl:choose>
@@ -593,7 +611,16 @@
593
611
  <xsl:if test="text()[normalize-space(.)]">
594
612
  <xsl:text>, </xsl:text>
595
613
  <xsl:text>\"</xsl:text>
596
- <xsl:value-of select="str:replace(str:replace(.,'\','\\'),'&quot;','\\\&quot;')"/>
614
+ <xsl:choose>
615
+ <xsl:when test="substring(.,1,1) = '!'">
616
+ <xsl:text>#{</xsl:text>
617
+ <xsl:value-of select="str:replace(str:replace(substring(.,2),'\','\\'),'&quot;','\\\&quot;')"/>
618
+ <xsl:text>}</xsl:text>
619
+ </xsl:when>
620
+ <xsl:otherwise>
621
+ <xsl:value-of select="str:replace(str:replace(.,'\','\\'),'&quot;','\\\&quot;')"/>
622
+ </xsl:otherwise>
623
+ </xsl:choose>
597
624
  <xsl:text>\"</xsl:text>
598
625
  <xsl:text>]</xsl:text>
599
626
  </xsl:if>
@@ -612,7 +639,16 @@
612
639
  </xsl:when>
613
640
  <xsl:otherwise>
614
641
  <xsl:text>\"</xsl:text>
615
- <xsl:value-of select="str:replace(str:replace(.,'\','\\'),'&quot;','\\\&quot;')"/>
642
+ <xsl:choose>
643
+ <xsl:when test="substring(.,1,1) = '!'">
644
+ <xsl:text>#{</xsl:text>
645
+ <xsl:value-of select="str:replace(str:replace(substring(.,2),'\','\\'),'&quot;','\\\&quot;')"/>
646
+ <xsl:text>}</xsl:text>
647
+ </xsl:when>
648
+ <xsl:otherwise>
649
+ <xsl:value-of select="str:replace(str:replace(.,'\','\\'),'&quot;','\\\&quot;')"/>
650
+ </xsl:otherwise>
651
+ </xsl:choose>
616
652
  <xsl:text>\"</xsl:text>
617
653
  </xsl:otherwise>
618
654
  </xsl:choose>
@@ -15,12 +15,13 @@
15
15
  # <http://www.gnu.org/licenses/>.
16
16
 
17
17
  require 'rubygems'
18
+ require 'memory_profiler'
18
19
  gem 'nokogiri'
19
20
  require File.expand_path(File.dirname(__FILE__) + '/../lib/cpee/implementation')
20
21
 
21
- Riddl::Server.new(CPEE::SERVER, :port => 8298) do
22
+ Riddl::Server.new(CPEE::SERVER, :port => 8298) do |opts|
22
23
  accessible_description true
23
24
  cross_site_xhr true
24
25
 
25
- use CPEE::implementation(@riddl_opts)
26
+ use CPEE::implementation(opts)
26
27
  end.loop!
@@ -2,13 +2,14 @@
2
2
  require 'rubygems'
3
3
  require 'cpee/implementation'
4
4
 
5
- Riddl::Server.new(CPEE::SERVER, :host => 'localhost', :port => 8298) do
6
- @riddl_opts[:instances] = ::File.dirname(__FILE__) + '/instances'
7
- @riddl_opts[:handlerwrappers] = ::File.dirname(__FILE__) + '/handlerwrappers'
8
- @riddl_opts[:notifications_init] = ::File.dirname(__FILE__) + '/resources/notifications'
9
- @riddl_opts[:properties_init] = ::File.dirname(__FILE__) + '/resources/properties.init'
5
+ Riddl::Server.new(CPEE::SERVER, :host => 'localhost', :port => 8298) do |opts|
6
+ opts[:instances] = File.join(__dir__,'instances')
7
+ opts[:handlerwrappers] = File.join(__dir__,'handlerwrappers')
8
+ opts[:notifications_init] = File.join(__dir__,'resources','notifications')
9
+ opts[:properties_init] = File.join(__dir__,'resources','properties.init')
10
+
10
11
  accessible_description true
11
12
  cross_site_xhr true
12
13
 
13
- use CPEE::implementation(@riddl_opts)
14
+ use CPEE::implementation(opts)
14
15
  end.loop!
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.230
4
+ version: 1.4.0
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-03-29 00:00:00.000000000 Z
14
+ date: 2018-04-24 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: riddl