Please disable Adblockers and enable JavaScript for domain CEWebS.cs.univie.ac.at! We have NO ADS, but they may interfere with some of our course material.
Name: examples/p34_reload.rb
1: | #!/usr/bin/ruby |
2: | require 'riddl/client' |
3: | require 'xml/smart' |
4: | require 'pp' |
5: | |
6: | srv = Riddl::Client.new("http://localhost:9399/") |
7: | |
8: | pattern = 'p34' |
9: | |
10: | # === Generate Remar-Instance |
11: | |
12: | res = srv.resource("/") |
13: | status, response = res.get |
14: | doc = XML::Smart::string(response.first.value.read) |
15: | ins = doc.find("/instances/instance[text()='#{pattern}']") |
16: | unless ins.empty? |
17: | ins.each do |e| |
18: | res = srv.resource("/#{e.attributes['id']}") |
19: | status, response = res.delete |
20: | end |
21: | end |
22: | |
23: | res = srv.resource("/") |
24: | status, response = res.post [ |
25: | Riddl::Parameter::Simple.new("name",pattern) |
26: | ] |
27: | if status == 200 |
28: | ins = response.first.value |
29: | |
30: | ['context','values','rules','calls','events'].each do |i| |
31: | p "/#{ins}/properties/values/#{i}" |
32: | res = srv.resource("/#{ins}/properties/values/#{i}") |
33: | XML::Smart.open(File.expand_path(File.dirname(__FILE__) + "/#{pattern}/#{i}.xml")) do |doc| |
34: | status, response = res.put [ |
35: | Riddl::Parameter::Simple.new("content",doc.to_s) |
36: | ] |
37: | end |
38: | end |
39: | |
40: | res = srv.resource("/#{ins}/properties/values/state") |
41: | status, response = res.put [ Riddl::Parameter::Simple.new("value","running") ] |
42: | end |