cpee 1.5.1 → 1.5.1.1

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
  SHA256:
3
- metadata.gz: 67fa9e5dff0832542b0dba186e5276df6b7a74f473ac7cc01383f8dd0c907655
4
- data.tar.gz: 9bf120d882a90a48838566893b7b66ccb7a25701916d5c5e4c172b3e324f6a32
3
+ metadata.gz: 730fff54f61da9f48c9a713b1155cae3ca0a7da81c9bfa125f69c5e4431f1b66
4
+ data.tar.gz: f4875a6f5e8caf210c293463a62628e8e357da79c8523358b65df4a0e9e96a57
5
5
  SHA512:
6
- metadata.gz: 8f89686cb12115c4c84e81841d957340bb91042a722b6cb2286c1e43cd9c91ea47f3332df0d7f28dd57ed3c38ebebe509d9089b239f6951312df2840b6ec4c7e
7
- data.tar.gz: ed3477e4567d2931b711d16258aa18da6e219cd3a0155419429c6144cc5d7d7645b065eadaa4d6380eebec5e3530255ecc3f467345b8d11cbc49a8eab6e276a9
6
+ metadata.gz: a7f53376c1c9e8a5d671d8a469c7cccdf791854ca7f9f1ca16e75bcd994e201cb39d8dab0dd2559cc60d5f10899ec6c0e38476ef5c01191f76b7549f7a0905cc
7
+ data.tar.gz: e43e49c1f4d6d101ae1b0512c336b5e669002abbc5ef4657a6573b77e603670b194312dd5bc7229c5b5f42ad9f810d0c97ac22487d150f8e3f8cc4656164a012
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cpee"
3
- s.version = "1.5.1"
3
+ s.version = "1.5.1.1"
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"
@@ -12,8 +12,6 @@
12
12
  # CPEE (file COPYING in the main directory). If not, see
13
13
  # <http://www.gnu.org/licenses/>.
14
14
 
15
- require 'opcua/client'
16
-
17
15
  class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
18
16
  def self::inform_state_change(arguments,newstate) # {{{
19
17
  controller = arguments[0]
@@ -65,105 +63,54 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
65
63
  @costs = parameters[:costs]
66
64
  @controller.notify("activity/calling", :instance => @controller.instance, :instance_uuid => @controller.uuid, :label => @label, :instance_name => @controller.info, :activity => @handler_position, :passthrough => passthrough, :endpoint => @handler_endpoint, :parameters => parameters, :timestamp => Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"), :attributes => @controller.attributes_translated)
67
65
  if passthrough.to_s.empty?
68
- if @handler_endpoint.start_with?('opc.tcp')
69
- if @handler_endpoint =~ /^opc\.tcp-read:\/\/([^\/]+)\/(\d+)\/(.+)/
70
- nid = $3 == $3.to_i.to_s ? $3.to_i : $3
71
- ns = $2
72
- url = 'opc.tcp://' + $1
73
- client = OPCUA::Client.new(url)
74
- if (node = client.get ns.to_i, nid)
75
- result = node.value
76
- else
77
- raise 'invalid nodeid'
78
- end
79
- client.disconnect
80
- callback [Riddl::Parameter::Simple.new('value',result)], {}
81
- elsif @handler_endpoint =~ /^opc\.tcp-write:\/\/([^\/]+)\/(\d+)\/([^\?]+)(\?value=(.*))?/
82
- nid = $3 == $3.to_i.to_s ? $3.to_i : $3
83
- ns = $2
84
- par = $5
85
- url = 'opc.tcp://' + $1
86
- client = OPCUA::Client.new(url)
87
- if (node = client.get ns.to_i, nid)
88
- (parameters[:arguments] || [→(:name => 'value', :value => par)] || []).each do |ele|
89
- what = CPEE::ValueHelper::parse_extended(ele.value)
90
- node.value = what
91
- result = what
92
- end
93
- else
94
- raise 'invalid nodeid'
95
- end
96
- client.disconnect
97
- callback [Riddl::Parameter::Simple.new('value',result)], {}
98
- elsif @handler_endpoint =~ /^opc\.tcp-execute:\/\/([^\/]+)\/(\d+)\/([^\?]+)(\?value=(.*))?/
99
- nid = $3 == $3.to_i.to_s ? $3.to_i : $3
100
- ns = $2
101
- par = $5
102
- url = 'opc.tcp://' + $1
103
- client = OPCUA::Client.new(url)
104
- if (node = client.get ns.to_i, nid)
105
- params = []
106
- (parameters[:arguments] || []).each do |ele|
107
- what = CPEE::ValueHelper::parse_extended(ele.value)
108
- params << what
109
- end
110
- result = node.call *params
111
- else
112
- raise 'invalid nodeid'
113
- end
114
- client.disconnect
115
- callback [Riddl::Parameter::Simple.new('value',result)], {}
116
- end
117
- else
118
- params = []
119
- callback = Digest::MD5.hexdigest(Kernel::rand().to_s)
120
- (parameters[:arguments] || []).each do |s|
121
- if s.respond_to?(:mimetype)
122
- params << Riddl::Parameter::Complex.new(s.name.to_s,v.mimetype,v.value)
66
+ params = []
67
+ callback = Digest::MD5.hexdigest(Kernel::rand().to_s)
68
+ (parameters[:arguments] || []).each do |s|
69
+ if s.respond_to?(:mimetype)
70
+ params << Riddl::Parameter::Complex.new(s.name.to_s,v.mimetype,v.value)
71
+ else
72
+ if s.name.to_s =~ /__$/
73
+ params << Riddl::Parameter::Simple.new(s.name.to_s.chop.chop,CPEE::ValueHelper::generate(s.value),:query)
123
74
  else
124
- if s.name.to_s =~ /__$/
125
- params << Riddl::Parameter::Simple.new(s.name.to_s.chop.chop,CPEE::ValueHelper::generate(s.value),:query)
126
- else
127
- params << Riddl::Parameter::Simple.new(s.name.to_s,CPEE::ValueHelper::generate(s.value))
128
- end
75
+ params << Riddl::Parameter::Simple.new(s.name.to_s,CPEE::ValueHelper::generate(s.value))
129
76
  end
130
77
  end
78
+ end
131
79
 
132
- params << Riddl::Header.new("CPEE-BASE",@controller.base_url)
133
- params << Riddl::Header.new("CPEE-INSTANCE",@controller.instance)
134
- params << Riddl::Header.new("CPEE-INSTANCE-URL",@controller.instance_url)
135
- params << Riddl::Header.new("CPEE-INSTANCE-UUID",@controller.uuid)
136
- params << Riddl::Header.new("CPEE-CALLBACK",@controller.instance_url + '/callbacks/' + callback)
137
- params << Riddl::Header.new("CPEE-CALLBACK-ID",callback)
138
- params << Riddl::Header.new("CPEE-ACTIVITY",@handler_position)
139
- params << Riddl::Header.new("CPEE-LABEL",parameters[:label]||'')
140
- @controller.attributes.each do |key,value|
141
- params << Riddl::Header.new("CPEE-ATTR-#{key.to_s.gsub(/_/,'-')}",value)
142
- end
80
+ params << Riddl::Header.new("CPEE-BASE",@controller.base_url)
81
+ params << Riddl::Header.new("CPEE-INSTANCE",@controller.instance)
82
+ params << Riddl::Header.new("CPEE-INSTANCE-URL",@controller.instance_url)
83
+ params << Riddl::Header.new("CPEE-INSTANCE-UUID",@controller.uuid)
84
+ params << Riddl::Header.new("CPEE-CALLBACK",@controller.instance_url + '/callbacks/' + callback)
85
+ params << Riddl::Header.new("CPEE-CALLBACK-ID",callback)
86
+ params << Riddl::Header.new("CPEE-ACTIVITY",@handler_position)
87
+ params << Riddl::Header.new("CPEE-LABEL",parameters[:label]||'')
88
+ @controller.attributes.each do |key,value|
89
+ params << Riddl::Header.new("CPEE-ATTR-#{key.to_s.gsub(/_/,'-')}",value)
90
+ end
143
91
 
144
- tendpoint = @handler_endpoint.sub(/^http(s)?-(get|put|post|delete):/,'http\\1:')
145
- type = $2 || parameters[:method] || 'post'
92
+ tendpoint = @handler_endpoint.sub(/^http(s)?-(get|put|post|delete):/,'http\\1:')
93
+ type = $2 || parameters[:method] || 'post'
146
94
 
147
- client = Riddl::Client.new(tendpoint)
95
+ client = Riddl::Client.new(tendpoint)
148
96
 
149
- @controller.callbacks[callback] = CPEE::Callback.new("callback activity: #{@handler_position}",self,:callback,nil,nil,:http)
150
- @handler_passthrough = callback
97
+ @controller.callbacks[callback] = CPEE::Callback.new("callback activity: #{@handler_position}",self,:callback,nil,nil,:http)
98
+ @handler_passthrough = callback
151
99
 
152
- status, result, headers = client.request type => params
153
- if status < 200 || status >= 300
154
- callback([ Riddl::Parameter::Complex.new('error','application/json',StringIO.new(JSON::generate({ 'status' => status, 'error' => result[0].value.read }))) ], 'CPEE_SALVAGE' => true)
100
+ status, result, headers = client.request type => params
101
+ if status < 200 || status >= 300
102
+ callback([ Riddl::Parameter::Complex.new('error','application/json',StringIO.new(JSON::generate({ 'status' => status, 'error' => result[0].value.read }))) ], 'CPEE_SALVAGE' => true)
103
+ else
104
+ if headers['CPEE_INSTANTIATION']
105
+ @controller.notify("task/instantiation", :instance => @controller.instance, :label => @label, :instance_name => @controller.info, :instance_uuid => @controller.uuid, :activity => @handler_position, :endpoint => @handler_endpoint, :received => CPEE::ValueHelper.parse(headers['CPEE_INSTANTIATION']), :timestamp => Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"), :attributes => @controller.attributes_translated)
106
+ end
107
+ if headers['CPEE_CALLBACK'] && headers['CPEE_CALLBACK'] == 'true' && result.any?
108
+ headers['CPEE_UPDATE'] = true
109
+ callback result, headers
110
+ elsif headers['CPEE_CALLBACK'] && headers['CPEE_CALLBACK'] == 'true' && result.empty?
111
+ # do nothing, later on things will happend
155
112
  else
156
- if headers['CPEE_INSTANTIATION']
157
- @controller.notify("task/instantiation", :instance => @controller.instance, :label => @label, :instance_name => @controller.info, :instance_uuid => @controller.uuid, :activity => @handler_position, :endpoint => @handler_endpoint, :received => CPEE::ValueHelper.parse(headers['CPEE_INSTANTIATION']), :timestamp => Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"), :attributes => @controller.attributes_translated)
158
- end
159
- if headers['CPEE_CALLBACK'] && headers['CPEE_CALLBACK'] == 'true' && result.any?
160
- headers['CPEE_UPDATE'] = true
161
- callback result, headers
162
- elsif headers['CPEE_CALLBACK'] && headers['CPEE_CALLBACK'] == 'true' && result.empty?
163
- # do nothing, later on things will happend
164
- else
165
- callback result
166
- end
113
+ callback result
167
114
  end
168
115
  end
169
116
  else
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.5.1
4
+ version: 1.5.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler