cpee 1.5.1 → 1.5.1.1

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
  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