cpee 1.3.228 → 1.3.230

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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/css/wfadaptor.css +11 -0
  3. data/cockpit/graph.html +2 -1
  4. data/cockpit/index.html +1 -1
  5. data/cockpit/js/instance.js +50 -56
  6. data/cockpit/js/ui.js +2 -0
  7. data/cockpit/js/wfadaptor.js +21 -9
  8. data/cockpit/themes/compact/theme.js +12 -71
  9. data/cockpit/themes/default/rngs/choose.rng +4 -0
  10. data/cockpit/themes/default/rngs/parallel.rng +8 -0
  11. data/cockpit/themes/default/rngs/stop.rng +5 -0
  12. data/cockpit/themes/default/rngs/terminate.rng +1 -0
  13. data/cockpit/themes/default/symbols/stop.svg +5 -0
  14. data/cockpit/themes/default/symbols/terminate.svg +4 -0
  15. data/cockpit/themes/default/theme.js +104 -3
  16. data/cpee.gemspec +1 -1
  17. data/lib/cpee/instantiation.rb +116 -56
  18. data/lib/instantiation.xml +55 -15
  19. data/log/log.xml +1 -15
  20. data/log/template.xes_xml +23 -0
  21. data/log/template.xes_yaml +26 -0
  22. data/log/{server.rb → xes_xml.rb} +11 -42
  23. data/log/xes_yaml.rb +111 -0
  24. data/server/handlerwrappers/default.rb +19 -10
  25. data/server/resources/properties.schema.active +18 -17
  26. data/server/resources/properties.schema.finished +18 -17
  27. data/server/resources/properties.schema.inactive +18 -17
  28. data/server/resources/transformation_dslx.xsl +29 -5
  29. data/server/server.rb +1 -1
  30. data/tools/instantiation/instantiation +1 -1
  31. data/tools/server/server.rb +1 -1
  32. metadata +10 -19
  33. data/cockpit/themes/default/rngs/callmanipulateworkqueue.rng +0 -122
  34. data/cockpit/themes/default/rngs/callworkqueue.rng +0 -107
  35. data/cockpit/themes/default/symbols/callcorrelationreceive.svg +0 -6
  36. data/cockpit/themes/default/symbols/callcorrelationsend.svg +0 -6
  37. data/cockpit/themes/default/symbols/callinstantiation.svg +0 -3
  38. data/cockpit/themes/default/symbols/callmanipulateworklist.svg +0 -6
  39. data/cockpit/themes/default/symbols/callmanipulateworkqueue.svg +0 -6
  40. data/cockpit/themes/default/symbols/callworklist.svg +0 -4
  41. data/cockpit/themes/default/symbols/callworkqueue.svg +0 -4
  42. data/log/logoverlay.xml +0 -10
  43. data/log/template.xes +0 -6
  44. data/log/yaml/log.xml +0 -27
  45. data/log/yaml/logoverlay.xml +0 -10
  46. data/log/yaml/server.rb +0 -128
  47. data/log/yaml/topics.xml +0 -22
  48. data/log/yaml/yaml.rb +0 -19
@@ -1,107 +0,0 @@
1
- <element rngui:version="1.2" name="call" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org">
2
- <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id()">
3
- <data type="string" rngui:readonly="true"/>
4
- </attribute>
5
- <attribute name="endpoint" rngui:label="Endpoint">
6
- <data type="string"/>
7
- </attribute>
8
- <element name='parameters' rngui:header="Parameters">
9
- <element name="label" rngui:label="Label">
10
- <data type="string" rngui:label="Short description of the task"/>
11
- </element>
12
- <element name="method" rngui:label="Method">
13
- <choice>
14
- <value>:post</value>
15
- <value>:get</value>
16
- <value>:put</value>
17
- <value>:delete</value>
18
- </choice>
19
- </element>
20
- <element name="arguments" rngui:header="Arguments">
21
- <element name="nc-program" rngui:label="NC Program">
22
- <data type="string" rngui:label="Unique ID of the NC Program"/>
23
- </element>
24
- <element name="material-name" rngui:label="Material Name">
25
- <data type="string" rngui:label="Name of the raw material"/>
26
- </element>
27
- <element name="material-pic" rngui:label="Material Picture">
28
- <data type="string" rngui:label="Picture of the raw material"/>
29
- </element>
30
- <element name="result-pic" rngui:label="Result Picture">
31
- <data type="string" rngui:label="Picture of the result"/>
32
- </element>
33
- <element name="comment" rngui:label="Comment">
34
- <text rngui:wrap='true' rngui:label='Additional comments for the operator'/>
35
- </element>
36
- <element name="tools" rngui:header="Tools">
37
- <zeroOrMore rngui:label="Add Tool">
38
- <element name="tool">
39
- <element name="place" rngui:label="Position">
40
- <data type="integer" rngui:label="Position in Tool Magazine"/>
41
- </element>
42
- <element name="tool-name" rngui:label="Tool">
43
- <data type="string" rngui:label="Name of Tool"/>
44
- </element>
45
- <element name="tool-holder" rngui:label="Holder">
46
- <data type="string" rngui:label="Name of Tool Holder"/>
47
- </element>
48
- <element name="tool-orientation" rngui:label="Orientation">
49
- <data type="string" rngui:label="Orientation in Tool Holder"/>
50
- </element>
51
- <element name="corrections" rngui:header="Corrections">
52
- <zeroOrMore rngui:label="Add Correction">
53
- <element name="correction">
54
- <attribute name="length-x" rngui:label="Length X">
55
- <data type="float"/>
56
- </attribute>
57
- <attribute name="length-z" rngui:label="Length Y">
58
- <data type="float"/>
59
- </attribute>
60
- <attribute name="radius" rngui:label="Radius">
61
- <data type="float"/>
62
- </attribute>
63
- </element>
64
- </zeroOrMore>
65
- </element>
66
- <element name="attachments" rngui:header="Attachments">
67
- <zeroOrMore rngui:label="Add Attachment">
68
- <element name="attachment" rngui:label="URL">
69
- <attribute name="label" rngui:label="Label">
70
- <data type="string" rngui:label="Label"/>
71
- </attribute>
72
- <data type="string" rngui:label="URL"/>
73
- </element>
74
- </zeroOrMore>
75
- </element>
76
- </element>
77
- </zeroOrMore>
78
- </element>
79
- </element>
80
- </element>
81
- <element name="_timing" rngui:header="Timing">
82
- <element name="_timing_min" rngui:label='Min in m'>
83
- <data type='float' rngui:label='Minutes'/>
84
- </element>
85
- <element name="_timing_max" rngui:label='Max in m'>
86
- <data type='float' rngui:label='Minutes'/>
87
- </element>
88
- <element name="_timing_avg" rngui:label='Avg in m'>
89
- <data type='float' rngui:label='Minutes'/>
90
- </element>
91
- </element>
92
- <element name="_notes" rngui:header="Notes">
93
- <element name="_notes_general" rngui:label='General'>
94
- <text rngui:wrap='true' rngui:label='Notes'/>
95
- </element>
96
- <element name="_attachments">
97
- <zeroOrMore rngui:label="Create Attachment">
98
- <element name='_attachment' rngui:label='Attachment'>
99
- <attribute name="label" rngui:label="Note">
100
- <data type="string"/>
101
- </attribute>
102
- <data type="string" rngui:label="Url"/>
103
- </element>
104
- </zeroOrMore>
105
- </element>
106
- </element>
107
- </element>
@@ -1,6 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <circle cx="15" cy="15" r="14" class="cline stand"/>
3
- <circle cx="15" cy="15" r="11" class="cline hfill rfill stand"/>
4
- <rect x="9" y="11" width="12" height="8" class="black" style="fill: none"/>
5
- <path d="m 9,11 6,4 6,-4" class="black" style="fill: none"/>
6
- </svg>
@@ -1,6 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <circle cx="15" cy="15" r="14" class="cline stand"/>
3
- <circle cx="15" cy="15" r="11" class="cline hfill rfill stand"/>
4
- <rect x="9" y="11" width="12" height="8" class="black"/>
5
- <path d="m 9,11 6,3 6,-3" class="white hline" style="fill: none;"/>
6
- </svg>
@@ -1,3 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <rect x="1" y="1" width="28" height="28" rx="4" class="cline hfill rfill stand" style="stroke-dasharray: 1, 3;"/>
3
- </svg>
@@ -1,6 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <rect x="1" y="1" width="28" height="28" rx="4" class="cline hfill rfill stand"/>
3
- <path transform="translate(-2,-2)" class="normal" style="fill:#000000;" d="m 15,6.5 a 3.9999995,4 0 0 0 -4,4 3.9999995,4 0 0 0 4,4 3.9999995,4 0 0 0 4,-4 3.9999995,4 0 0 0 -4,-4 z m 0,8 -3.5,0 c -1.108,0 -2,0.892 -2,2 l 0,5 c 0,1.108 0.892,2 2,2 l 7,0 c 1.108,0 2,-0.892 2,-2 l 0,-5 c 0,-1.108 -0.892,-2 -2,-2 l -3.5,0 z"/>
4
- <circle cx="28" cy="27" r="9" class="cline hfill rfill stand"/>
5
- <text transform="translate(28,31)" class="small">s</text>
6
- </svg>
@@ -1,6 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <rect x="1" y="1" width="28" height="28" rx="4" class="cline hfill rfill stand"/>
3
- <path transform="translate(-2,-2)" class="normal" style="fill:#000000;" d="m 15,6.5 a 3.9999995,4 0 0 0 -4,4 3.9999995,4 0 0 0 4,4 3.9999995,4 0 0 0 4,-4 3.9999995,4 0 0 0 -4,-4 z m 0,8 -3.5,0 c -1.108,0 -2,0.892 -2,2 l 0,5 c 0,1.108 0.892,2 2,2 l 7,0 c 1.108,0 2,-0.892 2,-2 l 0,-5 c 0,-1.108 -0.892,-2 -2,-2 l -3.5,0 z"/>
4
- <circle cx="28" cy="27" r="9" class="cline hfill rfill stand"/>
5
- <text transform="translate(28,31)" class="small">s</text>
6
- </svg>
@@ -1,4 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <rect x="1" y="1" width="28" height="28" rx="4" class="cline hfill rfill stand"/>
3
- <path class="normal" style="fill:#000000;" d="m 15,6.5 a 3.9999995,4 0 0 0 -4,4 3.9999995,4 0 0 0 4,4 3.9999995,4 0 0 0 4,-4 3.9999995,4 0 0 0 -4,-4 z m 0,8 -3.5,0 c -1.108,0 -2,0.892 -2,2 l 0,5 c 0,1.108 0.892,2 2,2 l 7,0 c 1.108,0 2,-0.892 2,-2 l 0,-5 c 0,-1.108 -0.892,-2 -2,-2 l -3.5,0 z"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <rect x="1" y="1" width="28" height="28" rx="4" class="cline hfill rfill stand"/>
3
- <path class="normal" style="fill:#000000;" d="m 15,6.5 a 3.9999995,4 0 0 0 -4,4 3.9999995,4 0 0 0 4,4 3.9999995,4 0 0 0 4,-4 3.9999995,4 0 0 0 -4,-4 z m 0,8 -3.5,0 c -1.108,0 -2,0.892 -2,2 l 0,5 c 0,1.108 0.892,2 2,2 l 7,0 c 1.108,0 2,-0.892 2,-2 l 0,-5 c 0,-1.108 -0.892,-2 -2,-2 l -3.5,0 z"/>
4
- </svg>
@@ -1,10 +0,0 @@
1
- <description datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://riddl.org/ns/description/1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
2
- <message name="logresponse">
3
- <parameter name="file" mimetype="*"/>
4
- </message>
5
-
6
- <resource>
7
- <get in='*' out="logresponse"/>
8
- </resource>
9
-
10
- </description>
@@ -1,6 +0,0 @@
1
- <log xmlns="http://www.xes-standard.org/" xes.version="1.0" xes.features="nested-attributes" openxes.version="1.0RC7">
2
- <extension name="Time" prefix="time" uri="http://www.xes-standard.org/time.xesext"/>
3
- <extension name="Concept" prefix="concept" uri="http://www.xes-standard.org/concept.xesext"/>
4
- <extension name="Organizational" prefix="org" uri="http://www.xes-standard.org/org.xesext"/>
5
- <trace/>
6
- </log>
@@ -1,27 +0,0 @@
1
- <declaration xmlns="http://riddl.org/ns/declaration/1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
2
- <interface name="events">
3
- <xi:include href="http://www.riddl.org/ns/common-patterns/notifications-consumer/1.0/consumer.xml"/>
4
- </interface>
5
- <interface name="cpee" location="http://localhost:9298">
6
- <xi:include href="http://localhost:9298/?riddl-description"/>
7
- </interface>
8
- <interface name="logoverlay">
9
- <xi:include href="logoverlay.xml"/>
10
- </interface>
11
-
12
- <facade>
13
- <tile>
14
- <layer name="cpee"/>
15
- </tile>
16
- <tile>
17
- <layer name="events">
18
- <apply-to>/log</apply-to>
19
- </layer>
20
- </tile>
21
- <tile>
22
- <layer name="logoverlay">
23
- <apply-to>/{}/log</apply-to>
24
- </layer>
25
- </tile>
26
- </facade>
27
- </declaration>
@@ -1,10 +0,0 @@
1
- <description datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://riddl.org/ns/description/1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
2
- <message name="logresponse">
3
- <parameter name="file" mimetype="text/xml"/>
4
- </message>
5
-
6
- <resource>
7
- <get out="logresponse"/>
8
- </resource>
9
-
10
- </description>
@@ -1,128 +0,0 @@
1
- #!/usr/bin/ruby
2
- require 'pp'
3
- require 'json'
4
- require 'yaml'
5
- require 'rubygems'
6
- require 'riddl/server'
7
- require 'riddl/client'
8
- require 'riddl/utils/notifications_producer'
9
- require 'riddl/utils/properties'
10
- require 'riddl/utils/fileserve'
11
- require 'riddl/utils/downloadify'
12
- require 'riddl/utils/turtle'
13
- require 'time'
14
-
15
- class Logging < Riddl::Implementation #{{{
16
- LOGTEMPLATE = {"log" =>
17
- {"extension" =>
18
- { "time" =>"http://www.xes-standard.org/time.xesext",
19
- "concept" => "http://www.xes-standard.org/concept.xesext",
20
- "organisational" => "http://www.xes-standard.org/org.xesext",
21
- "lifecylce" => "http://www.xes-standard.org/lifecycle.xesext"
22
- },
23
- "global" =>
24
- {
25
- "trace" =>{"concept:name" => "__INVALID__"},
26
- "event"=> {
27
- "concept:name"=>"__INVALID__",
28
- "concept:endpoint" => "",
29
- "id:id" => "",
30
- "lifecycle:transition" => "complete",
31
- "time:timestamp" => ""
32
- }
33
- },
34
- "classifier" =>{
35
- "Data" => "data_send data_received",
36
- "Data_Received"=>"data_receiver",
37
- "Data_Send" => "data_send"
38
- },
39
- "trace" => {}
40
- }
41
- }
42
- def doc(event_name,log_dir,instancenr,notification)
43
- x = Time.now
44
- log = LOGTEMPLATE
45
- uuid = notification['instance_uuid']
46
- activity = notification["activity"]
47
- parameters = notification['parameters']
48
- receiving = notification['received']
49
- Dir.mkdir(log_dir+'/'+uuid) unless Dir.exist?(log_dir+'/'+uuid)
50
- time_added=false
51
- log["log"]["trace"]["concept:name"] ||= "Instance #{instancenr}" unless log["log"]["trace"]["concept:name"]
52
- File.open(log_dir+'/'+uuid+'/log.xes','w'){|f| f.puts log.to_yaml} unless File.exists? log_dir+'/'+uuid+'/log.xes'
53
- event = {}
54
- event["trace:id"] = instancenr
55
- if parameters && parameters.has_key?('label')
56
- event["concept:name"] = parameters["label"]
57
- else
58
- event["concept:name"]= log["log"]["trace"]["concept:name"]
59
- end
60
- event["concept:endpoint"] = notification["endpoint"] if notification["endpoint"]
61
- event["id:id"] = activity
62
- unless event_name=='receiving'
63
- event["lifecycle:transition"]= event_name=='done'?"complete":"start"
64
- else
65
- event["lifecycle:transition"]="unknown"
66
- end
67
- data_send = ((parameters["arguments"].nil? ? [] : parameters["arguments"]) rescue [])
68
- event["list"] = {"data_send" => data_send} unless data_send.empty?
69
- if receiving && receiving.any?
70
- if event.has_key? "list"
71
- event["list"]["data_received"] ||= receiving
72
- else
73
- event["list"] = {"data_receiver" => receiving}
74
- end
75
- end
76
- event["time:timestamp"]= Time.now.iso8601 unless time_added
77
- File.open(log_dir+'/'+uuid+'/log.xes',"a") do |f|
78
- f << {'event' => event}.to_yaml
79
- pid, size = `ps ax -o pid,rss | grep -E "^[[:space:]]*#{$$}"`.strip.split.map(&:to_i)
80
- File.open(log_dir+'/'+uuid+'/memory.file',"a+"){ |fl| fl<< size << "\n" }
81
- end
82
- y = Time.now
83
- z = y-x
84
- File.open(log_dir+'/'+uuid+'/time.file',"a+"){ |f| f<< z << "\n" }
85
- end
86
-
87
- def rec_unjson(value,list,key)
88
- case value
89
- when Array then
90
- li = list.add 'list', :key => key
91
- value.each_with_index do |v,k|
92
- rec_unjson(v,li,k)
93
- end
94
- when Hash then
95
- li = list.add 'list', :key => key
96
- value.each do |k,v|
97
- rec_unjson(v,li,k)
98
- end
99
- else
100
- list.add 'string', :key => key, :value => value
101
- end
102
- end
103
-
104
- def response
105
- topic = @p[1].value
106
- event_name = @p[2].value
107
- log_dir = ::File.dirname(__FILE__) + "/../logs_yaml"
108
- instancenr = @h['CPEE_INSTANCE'].split('/').last
109
- notification = JSON.parse(@p[3].value)
110
- doc(event_name,log_dir,instancenr,notification)
111
- end
112
- end #}}}
113
-
114
-
115
- Riddl::Server.new(::File.dirname(__FILE__) + '/log.xml', :host => "coruscant.wst.univie.ac.at", :port => 9300) do #{{{
116
- accessible_description true
117
- cross_site_xhr true
118
- log_dir = "/home/centurio/Projects/cpee/log/logs_yaml"
119
-
120
- interface 'events' do
121
- run Logging if post 'event'
122
- end
123
- interface 'logoverlay' do |r|
124
- p log_dir + r[:h]["RIDDL_DECLARATION_PATH"]+ ".xes"
125
- run Riddl::Utils::FileServe, log_dir + r[:h]["RIDDL_DECLARATION_PATH"]+ ".xes","text/xml" if get
126
- end
127
-
128
- end.loop! #}}}
@@ -1,22 +0,0 @@
1
- <!--
2
- This file is part of CPEE.
3
-
4
- CPEE is free software: you can redistribute it and/or modify it under the terms
5
- of the GNU General Public License as published by the Free Software Foundation,
6
- either version 3 of the License, or (at your option) any later version.
7
-
8
- CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
9
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
10
- PARTICULAR PURPOSE. See the GNU General Public License for more details.
11
-
12
- You should have received a copy of the GNU General Public License along with
13
- CPEE (file COPYING in the main directory). If not, see
14
- <http://www.gnu.org/licenses/>.
15
- -->
16
-
17
- <topics xmlns='http://riddl.org/ns/common-patterns/notifications-producer/1.0'>
18
- <topic id='activity'>
19
- <event>calling</event>
20
- <event>done</event>
21
- </topic>
22
- </topics>
@@ -1,19 +0,0 @@
1
- #!/usr/bin/ruby
2
- require 'yaml'
3
- require 'pp'
4
-
5
- def pbuf(buf)
6
- unless buf.empty?
7
- x = YAML.load(buf)
8
- end
9
- buf.clear
10
- x
11
- end
12
-
13
- result = []
14
- buf = ""
15
- File.open('log.xes').each do |line|
16
- result << pbuf(buf) if line == "---\n"
17
- buf += line
18
- end
19
- result << pbuf(buf)