Module: CPEE::Instantiation::Helpers
- Included in:
- HandleInstance, InstantiateGit, InstantiateUrl, InstantiateXML
- Defined in:
- lib/cpee-instantiation/instantiation.rb
Overview
{{{
Instance Method Summary collapse
- #add_to_testset(tdoc, what, data) ⇒ Object
- #augment_testset(tdoc, p) ⇒ Object
-
#handle_attributes(cpee, instance, data) ⇒ Object
}}}.
-
#handle_data(cpee, instance, data) ⇒ Object
{{{.
-
#handle_endpoints(cpee, instance, data) ⇒ Object
}}}.
Instance Method Details
#add_to_testset(tdoc, what, data) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/cpee-instantiation/instantiation.rb', line 36 def add_to_testset(tdoc,what,data) if data && !data.empty? JSON::parse(data).each do |k,v| ele = tdoc.find("/*/prop:#{what}/prop:#{k}") if ele.any? ele.first.text = CPEE::ValueHelper::generate(v) else ele = tdoc.find("/*/prop:#{what}") ele = if ele.any? ele.first else tdoc.root.add("prop:#{what}") end ele.add(k,CPEE::ValueHelper::generate(v)) end end end end |
#augment_testset(tdoc, p) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/cpee-instantiation/instantiation.rb', line 55 def augment_testset(tdoc,p) tdoc = XML::Smart.string(tdoc) tdoc.register_namespace 'desc', 'http://cpee.org/ns/description/1.0' tdoc.register_namespace 'prop', 'http://cpee.org/ns/properties/2.0' tdoc.register_namespace 'sub', 'http://riddl.org/ns/common-patterns/notifications-producer/2.0' if data = p.find{ |e| e.name == 'init' }&.value add_to_testset(tdoc,'dataelements',data) end if data = p.find{ |e| e.name == 'endpoints' }&.value add_to_testset(tdoc,'endpoints',data) end if data = p.find{ |e| e.name == 'attributes' }&.value add_to_testset(tdoc,'attributes',data) end tdoc end |
#handle_attributes(cpee, instance, data) ⇒ Object
}}}
198 199 200 201 202 203 204 205 206 207 208 209 210 |
# File 'lib/cpee-instantiation/instantiation.rb', line 198 def handle_attributes(cpee,instance,data) #{{{ if data && !data.empty? content = XML::Smart.string('<attributes xmlns="http://cpee.org/ns/properties/2.0"/>') JSON::parse(data).each do |k,v| content.root.add(k,v) end srv = Riddl::Client.new(cpee, File.join(cpee,'?riddl-description')) res = srv.resource("/#{instance}/properties/attributes/") status, response = res.patch [ Riddl::Parameter::Complex.new('attributes','text/xml',content.to_s) ] end rescue nil end |
#handle_data(cpee, instance, data) ⇒ Object
{{{
172 173 174 175 176 177 178 179 180 181 182 183 184 |
# File 'lib/cpee-instantiation/instantiation.rb', line 172 def handle_data(cpee,instance,data) #{{{ if data && !data.empty? content = XML::Smart.string('<dataelements xmlns="http://cpee.org/ns/properties/2.0"/>') JSON::parse(data).each do |k,v| content.root.add(k,CPEE::ValueHelper::generate(v)) end srv = Riddl::Client.new(cpee, File.join(cpee,'?riddl-description')) res = srv.resource("/#{instance}/properties/dataelements/") status, response = res.patch [ Riddl::Parameter::Complex.new('dataelements','text/xml',content.to_s) ] end rescue nil end |
#handle_endpoints(cpee, instance, data) ⇒ Object
}}}
185 186 187 188 189 190 191 192 193 194 195 196 197 |
# File 'lib/cpee-instantiation/instantiation.rb', line 185 def handle_endpoints(cpee,instance,data) #{{{ if data && !data.empty? content = XML::Smart.string('<endpoints xmlns="http://cpee.org/ns/properties/2.0"/>') JSON::parse(data).each do |k,v| content.root.add(k,v) end srv = Riddl::Client.new(cpee, File.join(cpee,'?riddl-description')) res = srv.resource("/#{instance}/properties/endpoints/") status, response = res.patch [ Riddl::Parameter::Complex.new('endpoints','text/xml',content.to_s) ] end rescue nil end |