cpee 1.3.224 → 1.3.225
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/cockpit/index.html +22 -70
- data/cockpit/js/details.js +8 -4
- data/cockpit/js/instance.js +3 -5
- data/cockpit/js/ui.js +15 -1
- data/cockpit/themes/compact/theme.js +44 -18
- data/cockpit/themes/default/rngs/callmanipulateworkqueue.rng +122 -0
- data/cockpit/themes/default/rngs/callworkqueue.rng +107 -0
- data/cockpit/themes/default/symbols/callmanipulateworkqueue.svg +6 -0
- data/cockpit/themes/default/symbols/callworkqueue.svg +4 -0
- data/cockpit/themes/default/theme.js +44 -18
- data/cpee.gemspec +1 -1
- data/log/yaml/log.xml +2 -2
- data/log/yaml/server.rb +2 -2
- data/server/resources/transformation_dslx.xsl +45 -6
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 831bd6c8a62caa40df7e52d21e8b83132ca74ec4
|
4
|
+
data.tar.gz: 7438caf8c8ccbc361474beb8b7320e21455ca9a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6cc32d3fb2d3f9dd7439bea5776fa2e66f6a053a29dbda50beefa6759050b78637387b23bae467ae2b04267f45b273ba4f0f6c28fe3d5189b4e27be3e982b250
|
7
|
+
data.tar.gz: 7f9d69fcdd8673727bc191b9dd505839e1e3a079b25eb0596bea225558d7fece5cd8ee77239b85fb8d6d83120ea5754edca6bf692cd719efeda5b14b376c2bbb
|
data/cockpit/index.html
CHANGED
@@ -21,76 +21,28 @@
|
|
21
21
|
<title>CPEE Cockpit</title>
|
22
22
|
|
23
23
|
<!-- libs, do not modify. When local than load local libs. -->
|
24
|
-
<script type="text/javascript">
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
document.write('<link rel="stylesheet" href="http://' + document.location.host + '/js_libs/relaxngui.css" type="text/css"/>');
|
47
|
-
} else if ((document.location.hostname == 'localhost') && (document.location.protocol == 'https:')) {
|
48
|
-
document.write('<script type="text/javascript" src="https://' + document.location.host + '/js_libs/jquery.min.js">\x3C/script>');
|
49
|
-
document.write('<script type="text/javascript" src="https://' + document.location.host + '/js_libs/jquery.browser.js">\x3C/script>');
|
50
|
-
document.write('<script type="text/javascript" src="https://' + document.location.host + '/js_libs/jquery.svg.min.js">\x3C/script>');
|
51
|
-
document.write('<script type="text/javascript" src="https://' + document.location.host + '/js_libs/jquery.svgdom.min.js">\x3C/script>');
|
52
|
-
document.write('<script type="text/javascript" src="https://' + document.location.host + '/js_libs/vkbeautify.js">\x3C/script>');
|
53
|
-
document.write('<script type="text/javascript" src="https://' + document.location.host + '/js_libs/util.js">\x3C/script>');
|
54
|
-
document.write('<script type="text/javascript" src="https://' + document.location.host + '/js_libs/printf.js">\x3C/script>');
|
55
|
-
document.write('<script type="text/javascript" src="https://' + document.location.host + '/js_libs/strftime.min.js">\x3C/script>');
|
56
|
-
document.write('<script type="text/javascript" src="https://' + document.location.host + '/js_libs/parsequery.js">\x3C/script>');
|
57
|
-
document.write('<script type="text/javascript" src="https://' + document.location.host + '/js_libs/underscore.min.js">\x3C/script>');
|
58
|
-
document.write('<script type="text/javascript" src="https://' + document.location.host + '/js_libs/jquery.caret.min.js">\x3C/script>');
|
59
|
-
document.write('<script type="text/javascript" src="https://' + document.location.host + '/js_libs/jquery.cookie.js">\x3C/script>');
|
60
|
-
document.write('<script type="text/javascript" src="https://' + document.location.host + '/js_libs/relaxngui.js">\x3C/script>');
|
61
|
-
|
62
|
-
document.write('<script type="text/javascript" src="https://' + document.location.host + '/js_libs/ui.js">\x3C/script>');
|
63
|
-
document.write('<script type="text/javascript" src="https://' + document.location.host + '/js_libs/custommenu.js">\x3C/script>');
|
64
|
-
|
65
|
-
document.write('<link rel="stylesheet" href="https://' + document.location.host + '/js_libs/custommenu.css" type="text/css"/>');
|
66
|
-
document.write('<link rel="stylesheet" href="https://' + document.location.host + '/js_libs/ui.css" type="text/css"/>');
|
67
|
-
|
68
|
-
document.write('<link rel="stylesheet" href="https://' + document.location.host + '/js_libs/relaxngui.css" type="text/css"/>');
|
69
|
-
} else {
|
70
|
-
document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/jquery.min.js">\x3C/script>');
|
71
|
-
document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/jquery.browser.js">\x3C/script>');
|
72
|
-
document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/jquery.svg.min.js">\x3C/script>');
|
73
|
-
document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/jquery.svgdom.min.js">\x3C/script>');
|
74
|
-
document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/vkbeautify.js">\x3C/script>');
|
75
|
-
document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/util.js">\x3C/script>');
|
76
|
-
document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/printf.js">\x3C/script>');
|
77
|
-
document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/strftime.min.js">\x3C/script>');
|
78
|
-
document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/parsequery.js">\x3C/script>');
|
79
|
-
document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/underscore.min.js">\x3C/script>');
|
80
|
-
document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/jquery.caret.min.js">\x3C/script>');
|
81
|
-
document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/jquery.cookie.js">\x3C/script>');
|
82
|
-
|
83
|
-
document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/relaxngui.js">\x3C/script>');
|
84
|
-
|
85
|
-
document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/ui.js">\x3C/script>');
|
86
|
-
document.write('<script type="text/javascript" src="http://gruppe.wst.univie.ac.at/js_libs/custommenu.js">\x3C/script>');
|
87
|
-
|
88
|
-
document.write('<link rel="stylesheet" href="http://gruppe.wst.univie.ac.at/js_libs/custommenu.css" type="text/css"/>');
|
89
|
-
document.write('<link rel="stylesheet" href="http://gruppe.wst.univie.ac.at/js_libs/ui.css" type="text/css"/>');
|
90
|
-
|
91
|
-
document.write('<link rel="stylesheet" href="http://gruppe.wst.univie.ac.at/js_libs/relaxngui.css" type="text/css"/>');
|
92
|
-
}
|
93
|
-
</script>
|
24
|
+
<script type="text/javascript" src="/js_libs/jquery.min.js"></script>
|
25
|
+
<script type="text/javascript" src="/js_libs/jquery.browser.js"></script>
|
26
|
+
<script type="text/javascript" src="/js_libs/jquery.svg.min.js"></script>
|
27
|
+
<script type="text/javascript" src="/js_libs/jquery.svgdom.min.js"></script>
|
28
|
+
<script type="text/javascript" src="/js_libs/vkbeautify.js"></script>
|
29
|
+
<script type="text/javascript" src="/js_libs/util.js"></script>
|
30
|
+
<script type="text/javascript" src="/js_libs/printf.js"></script>
|
31
|
+
<script type="text/javascript" src="/js_libs/strftime.min.js"></script>
|
32
|
+
<script type="text/javascript" src="/js_libs/parsequery.js"></script>
|
33
|
+
<script type="text/javascript" src="/js_libs/underscore.min.js"></script>
|
34
|
+
<script type="text/javascript" src="/js_libs/jquery.caret.min.js"></script>
|
35
|
+
<script type="text/javascript" src="/js_libs/jquery.cookie.js"></script>
|
36
|
+
|
37
|
+
<script type="text/javascript" src="/js_libs/relaxngui.js"></script>
|
38
|
+
|
39
|
+
<script type="text/javascript" src="/js_libs/ui.js"></script>
|
40
|
+
<script type="text/javascript" src="/js_libs/custommenu.js"></script>
|
41
|
+
|
42
|
+
<link rel="stylesheet" href="/js_libs/custommenu.css" type="text/css"/>
|
43
|
+
<link rel="stylesheet" href="/js_libs/ui.css" type="text/css"/>
|
44
|
+
|
45
|
+
<link rel="stylesheet" href="/js_libs/relaxngui.css" type="text/css"/>
|
94
46
|
|
95
47
|
<!-- modelling ui -->
|
96
48
|
<script type="text/javascript" src="js/wfadaptor.js"></script>
|
data/cockpit/js/details.js
CHANGED
@@ -27,10 +27,10 @@ $(document).ready(function() {
|
|
27
27
|
|
28
28
|
function do_main_save() { //{{{
|
29
29
|
if (save['details'].has_changed()) {
|
30
|
-
var
|
31
|
-
var
|
32
|
-
var
|
33
|
-
var
|
30
|
+
var svgid = save['details_target'].svgid;
|
31
|
+
var desc = save['details_target'].model;
|
32
|
+
var node = desc.get_node_by_svg_id(svgid);
|
33
|
+
var origtype = save['graph_adaptor'].illustrator.get_node_by_svg_id(svgid).parents('g.element[element-id]').attr('element-type');
|
34
34
|
|
35
35
|
var url = $("#current-instance").text();
|
36
36
|
$('#main ui-tabbar ui-behind button').removeClass('highlight');
|
@@ -58,6 +58,10 @@ function do_main_save() { //{{{
|
|
58
58
|
if (vtarget.length > 0) {
|
59
59
|
vtarget.parents('g.element[element-id]').addClass('clicked');
|
60
60
|
}
|
61
|
+
var newtype = vtarget.parents('g.element[element-id]').attr('element-type');
|
62
|
+
if (newtype != origtype) {
|
63
|
+
manifestation.update_details(svgid);
|
64
|
+
}
|
61
65
|
var g = graphrealization.get_description();
|
62
66
|
save['graph'] = $X(g);
|
63
67
|
save['graph'].find('[xmlns]').removeAttr('xmlns');
|
data/cockpit/js/instance.js
CHANGED
@@ -59,11 +59,6 @@ var sub_less = 'topic' + '=' + 'activity' + '&' +// {{{
|
|
59
59
|
'events' + '=' + 'change';// }}}
|
60
60
|
|
61
61
|
function cockpit() {
|
62
|
-
if (location.protocol.match(/^file/)) {
|
63
|
-
$("input[name=base-url]").val("http://localhost:" + $('body').data('defaultport'));
|
64
|
-
} else {
|
65
|
-
$("input[name=base-url]").val(location.protocol + "//" + location.hostname + ":" + $('body').data('defaultport'));
|
66
|
-
}
|
67
62
|
$("button[name=base]").click(function(){ create_instance(null,false); });
|
68
63
|
$("button[name=instance]").click(function(){ ui_activate_tab("#tabinstance"); monitor_instance(false,false); });
|
69
64
|
$("button[name=loadtestset]").click(function(e){new CustomMenu(e).menu($('#predefinedtestsets'),function(){ load_testset(false) } ); });
|
@@ -102,6 +97,9 @@ function cockpit() {
|
|
102
97
|
});
|
103
98
|
ui_activate_tab("#tabexecution");
|
104
99
|
create_instance(q.load,false);
|
100
|
+
} else if (q.new || q.new == "" || q.load == "") {
|
101
|
+
ui_activate_tab("#tabinstance");
|
102
|
+
create_instance("Plain Instance",false);
|
105
103
|
} else if (q.monitor) {
|
106
104
|
$("input[name=instance-url]").val(q.monitor);
|
107
105
|
ui_activate_tab("#tabexecution");
|
data/cockpit/js/ui.js
CHANGED
@@ -15,6 +15,20 @@ $(document).ready(function() {
|
|
15
15
|
location.reload();
|
16
16
|
});
|
17
17
|
} else {
|
18
|
-
|
18
|
+
$.ajax({
|
19
|
+
url: "config.json",
|
20
|
+
success: function(res){
|
21
|
+
$("input[name=base-url]").val(res['base-url']);
|
22
|
+
cockpit();
|
23
|
+
},
|
24
|
+
error: function(){
|
25
|
+
if (location.protocol.match(/^file/)) {
|
26
|
+
$("input[name=base-url]").val("http://localhost:" + $('body').data('defaultport'));
|
27
|
+
} else {
|
28
|
+
$("input[name=base-url]").val(location.protocol + "//" + location.hostname + ":" + $('body').data('defaultport'));
|
29
|
+
}
|
30
|
+
cockpit();
|
31
|
+
}
|
32
|
+
});
|
19
33
|
}
|
20
34
|
});
|
@@ -8,6 +8,8 @@ function WFAdaptorManifestation(adaptor) {
|
|
8
8
|
this.compact = true;
|
9
9
|
|
10
10
|
this.noarrow = ['alternative', 'otherwise'];
|
11
|
+
|
12
|
+
//{{{ transform the details data to description parts based on rng
|
11
13
|
this.source = function(base,opts) {
|
12
14
|
if (base[0].namespaceURI == "http://relaxng.org/ns/structure/1.0") {
|
13
15
|
$('#relaxngworker').empty();
|
@@ -30,7 +32,8 @@ function WFAdaptorManifestation(adaptor) {
|
|
30
32
|
}
|
31
33
|
return base;
|
32
34
|
}
|
33
|
-
};
|
35
|
+
}; //}}}
|
36
|
+
//{{{ Return the svgid for the clicked task
|
34
37
|
this.clicked = function(){
|
35
38
|
var svgid = 'unknown';
|
36
39
|
_.each(self.adaptor.illustrator.get_elements(),function(value,key) {
|
@@ -39,7 +42,8 @@ function WFAdaptorManifestation(adaptor) {
|
|
39
42
|
}
|
40
43
|
});
|
41
44
|
return svgid;
|
42
|
-
};
|
45
|
+
}; //}}}
|
46
|
+
//{{{ Return the svgids for all marked tasks
|
43
47
|
this.marked = function(){
|
44
48
|
var svgid = [];
|
45
49
|
_.each(self.adaptor.illustrator.get_elements(),function(value,key) {
|
@@ -48,9 +52,20 @@ function WFAdaptorManifestation(adaptor) {
|
|
48
52
|
}
|
49
53
|
});
|
50
54
|
return svgid;
|
51
|
-
};
|
55
|
+
}; //}}}
|
56
|
+
//{{{ Render the details from rng (right hand side of graph tab)
|
57
|
+
this.update_details = function(svgid){
|
58
|
+
var tab = $('#dat_details');
|
59
|
+
var node = self.adaptor.description.get_node_by_svg_id(svgid).get(0);
|
60
|
+
tab.empty();
|
61
|
+
if (self.adaptor.description.elements[$(node).attr('svg-type')]) {
|
62
|
+
save['details_target'] = { 'svgid': svgid, 'model': self.adaptor.description };
|
63
|
+
save['details'] = new RelaxNGui(self.adaptor.description.elements[$(node).attr('svg-type')],tab,self.adaptor.description.context_eval);
|
64
|
+
save['details'].content(node);
|
65
|
+
}
|
66
|
+
}; //}}}
|
52
67
|
|
53
|
-
function copyOrMove(menu,group,xml_node,mode) {
|
68
|
+
function copyOrMove(menu,group,xml_node,mode) { //{{{
|
54
69
|
var markymark = self.marked();
|
55
70
|
var check1 = [];
|
56
71
|
var check2 = [];
|
@@ -89,7 +104,7 @@ function WFAdaptorManifestation(adaptor) {
|
|
89
104
|
}
|
90
105
|
);
|
91
106
|
}
|
92
|
-
}
|
107
|
+
} //}}}
|
93
108
|
|
94
109
|
// Events
|
95
110
|
this.events.mousedown = function(svgid, e, child, sibling) { // {{{
|
@@ -104,7 +119,7 @@ function WFAdaptorManifestation(adaptor) {
|
|
104
119
|
group = self.elements[xml_node.get(0).tagName].permissible_children(xml_node,'into');
|
105
120
|
if(group.length > 0) {
|
106
121
|
menu['Insert into'] = group;
|
107
|
-
copyOrMove(menu['Insert into'],group,self.adaptor.description.insert_first_into);
|
122
|
+
copyOrMove(menu['Insert into'],group,xml_node,self.adaptor.description.insert_first_into);
|
108
123
|
}
|
109
124
|
}
|
110
125
|
if (sibling) {
|
@@ -146,13 +161,11 @@ function WFAdaptorManifestation(adaptor) {
|
|
146
161
|
return;
|
147
162
|
}
|
148
163
|
|
149
|
-
var visid = 'details';
|
150
|
-
var tab = $('#dat_' + visid);
|
151
|
-
tab.empty();
|
152
|
-
|
153
164
|
self.adaptor.illustrator.get_elements().removeClass('clicked');
|
154
165
|
|
155
166
|
if (e && e.ctrlKey) {
|
167
|
+
var tab = $('#dat_details');
|
168
|
+
tab.empty();
|
156
169
|
var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
|
157
170
|
if (vtarget.length > 0) {
|
158
171
|
vtarget.parents('g.element[element-id]').toggleClass('marked');
|
@@ -165,13 +178,7 @@ function WFAdaptorManifestation(adaptor) {
|
|
165
178
|
vtarget.parents('g.element[element-id]').addClass('clicked');
|
166
179
|
}
|
167
180
|
|
168
|
-
|
169
|
-
|
170
|
-
if (self.adaptor.description.elements[$(node).attr('svg-type')]) {
|
171
|
-
save[visid + '_target'] = { 'svgid': svgid, 'model': self.adaptor.description };
|
172
|
-
save[visid] = new RelaxNGui(self.adaptor.description.elements[$(node).attr('svg-type')],tab,self.adaptor.description.context_eval);
|
173
|
-
save[visid].content(node);
|
174
|
-
}
|
181
|
+
self.update_details(svgid);
|
175
182
|
}
|
176
183
|
} // }}}
|
177
184
|
this.events.dblclick = function(svgid, e) { // {{{
|
@@ -207,6 +214,10 @@ function WFAdaptorManifestation(adaptor) {
|
|
207
214
|
return 'callmanipulateworklist';
|
208
215
|
} else if($(node).attr('endpoint').match(/^worklist/)) {
|
209
216
|
return 'callworklist';
|
217
|
+
} else if($(node).attr('endpoint').match(/^workqueue/) && $('finalize,update', node).length > 0) {
|
218
|
+
return 'callmanipulateworkqueue';
|
219
|
+
} else if($(node).attr('endpoint').match(/^workqueue/)) {
|
220
|
+
return 'callworkqueue';
|
210
221
|
} else if($('parameters > service', node).length > 0) {
|
211
222
|
return 'callinjection';
|
212
223
|
} else if($('finalize,update', node).length > 0) {
|
@@ -933,9 +944,24 @@ function WFAdaptorManifestation(adaptor) {
|
|
933
944
|
this.elements.callmanipulateworklist = { /*{{{*/
|
934
945
|
'type': 'abstract',
|
935
946
|
'parent': 'call',
|
936
|
-
'description': self.adaptor.theme_dir + 'rngs/callmanipulate.rng',
|
937
947
|
'illustrator': {//{{{
|
938
948
|
'svg': self.adaptor.theme_dir + 'symbols/callmanipulateworklist.svg'
|
939
949
|
},//}}}
|
940
950
|
}; /*}}}*/
|
951
|
+
this.elements.callworkqueue = { /*{{{*/
|
952
|
+
'type': 'abstract',
|
953
|
+
'parent': 'call',
|
954
|
+
'description': self.adaptor.theme_dir + 'rngs/callworkqueue.rng',
|
955
|
+
'illustrator': {//{{{
|
956
|
+
'svg': self.adaptor.theme_dir + 'symbols/callworkqueue.svg'
|
957
|
+
},//}}}
|
958
|
+
}; /*}}}*/
|
959
|
+
this.elements.callmanipulateworkqueue = { /*{{{*/
|
960
|
+
'type': 'abstract',
|
961
|
+
'parent': 'call',
|
962
|
+
'description': self.adaptor.theme_dir + 'rngs/callmanipulateworkqueue.rng',
|
963
|
+
'illustrator': {//{{{
|
964
|
+
'svg': self.adaptor.theme_dir + 'symbols/callmanipulateworkqueue.svg'
|
965
|
+
},//}}}
|
966
|
+
}; /*}}}*/
|
941
967
|
}
|
@@ -0,0 +1,122 @@
|
|
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="finalize" rngui:header="Finalize" rngui:label="Code">
|
82
|
+
<attribute name="output" rngui:label="Access Variable" rngui:default="result">
|
83
|
+
<data type="string" rngui:readonly="true"/>
|
84
|
+
</attribute>
|
85
|
+
<text rngui:label='Script that is executed, when a service returns data'/>
|
86
|
+
</element>
|
87
|
+
<element name="update" rngui:header="Update" rngui:label="Code">
|
88
|
+
<attribute name="output" rngui:label="Access Variable" rngui:default="result">
|
89
|
+
<data type="string" rngui:readonly="true"/>
|
90
|
+
</attribute>
|
91
|
+
<text rngui:label='Script that is executed, when a service sends intermediate data'/>
|
92
|
+
</element>
|
93
|
+
<element name="_timing" rngui:header="Timing">
|
94
|
+
<element name="_timing_min" rngui:label='Min in m'>
|
95
|
+
<data type='float' rngui:label='Minutes'/>
|
96
|
+
</element>
|
97
|
+
<element name="_timing_max" rngui:label='Max in m'>
|
98
|
+
<data type='float' rngui:label='Minutes'/>
|
99
|
+
</element>
|
100
|
+
<element name="_timing_avg" rngui:label='Avg in m'>
|
101
|
+
<data type='float' rngui:label='Minutes'/>
|
102
|
+
</element>
|
103
|
+
</element>
|
104
|
+
<element name="_notes" rngui:header="Notes">
|
105
|
+
<element name="_notes_general" rngui:label='General'>
|
106
|
+
<text rngui:wrap='true' rngui:label='Notes'/>
|
107
|
+
</element>
|
108
|
+
<element name="_notes_output" rngui:label='Output'>
|
109
|
+
<text rngui:wrap='true' rngui:label='Notes'/>
|
110
|
+
</element>
|
111
|
+
<element name="_attachments">
|
112
|
+
<zeroOrMore rngui:label="Create Attachment">
|
113
|
+
<element name='_attachment' rngui:label='Attachment'>
|
114
|
+
<attribute name="label" rngui:label="Note">
|
115
|
+
<data type="string"/>
|
116
|
+
</attribute>
|
117
|
+
<data type="string" rngui:label="Url"/>
|
118
|
+
</element>
|
119
|
+
</zeroOrMore>
|
120
|
+
</element>
|
121
|
+
</element>
|
122
|
+
</element>
|
@@ -0,0 +1,107 @@
|
|
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>
|
@@ -0,0 +1,6 @@
|
|
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>
|
@@ -0,0 +1,4 @@
|
|
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>
|
@@ -8,6 +8,8 @@ function WFAdaptorManifestation(adaptor) {
|
|
8
8
|
this.compact = false;
|
9
9
|
|
10
10
|
this.noarrow = ['alternative', 'otherwise'];
|
11
|
+
|
12
|
+
//{{{ transform the details data to description parts based on rng
|
11
13
|
this.source = function(base,opts) {
|
12
14
|
if (base[0].namespaceURI == "http://relaxng.org/ns/structure/1.0") {
|
13
15
|
$('#relaxngworker').empty();
|
@@ -30,7 +32,8 @@ function WFAdaptorManifestation(adaptor) {
|
|
30
32
|
}
|
31
33
|
return base;
|
32
34
|
}
|
33
|
-
};
|
35
|
+
}; //}}}
|
36
|
+
//{{{ Return the svgid for the clicked task
|
34
37
|
this.clicked = function(){
|
35
38
|
var svgid = 'unknown';
|
36
39
|
_.each(self.adaptor.illustrator.get_elements(),function(value,key) {
|
@@ -39,7 +42,8 @@ function WFAdaptorManifestation(adaptor) {
|
|
39
42
|
}
|
40
43
|
});
|
41
44
|
return svgid;
|
42
|
-
};
|
45
|
+
}; //}}}
|
46
|
+
//{{{ Return the svgids for all marked tasks
|
43
47
|
this.marked = function(){
|
44
48
|
var svgid = [];
|
45
49
|
_.each(self.adaptor.illustrator.get_elements(),function(value,key) {
|
@@ -48,9 +52,20 @@ function WFAdaptorManifestation(adaptor) {
|
|
48
52
|
}
|
49
53
|
});
|
50
54
|
return svgid;
|
51
|
-
};
|
55
|
+
}; //}}}
|
56
|
+
//{{{ Render the details from rng (right hand side of graph tab)
|
57
|
+
this.update_details = function(svgid){
|
58
|
+
var tab = $('#dat_details');
|
59
|
+
var node = self.adaptor.description.get_node_by_svg_id(svgid).get(0);
|
60
|
+
tab.empty();
|
61
|
+
if (self.adaptor.description.elements[$(node).attr('svg-type')]) {
|
62
|
+
save['details_target'] = { 'svgid': svgid, 'model': self.adaptor.description };
|
63
|
+
save['details'] = new RelaxNGui(self.adaptor.description.elements[$(node).attr('svg-type')],tab,self.adaptor.description.context_eval);
|
64
|
+
save['details'].content(node);
|
65
|
+
}
|
66
|
+
}; //}}}
|
52
67
|
|
53
|
-
function copyOrMove(menu,group,xml_node,mode) {
|
68
|
+
function copyOrMove(menu,group,xml_node,mode) { //{{{
|
54
69
|
var markymark = self.marked();
|
55
70
|
var check1 = [];
|
56
71
|
var check2 = [];
|
@@ -89,7 +104,7 @@ function WFAdaptorManifestation(adaptor) {
|
|
89
104
|
}
|
90
105
|
);
|
91
106
|
}
|
92
|
-
}
|
107
|
+
} //}}}
|
93
108
|
|
94
109
|
// Events
|
95
110
|
this.events.mousedown = function(svgid, e, child, sibling) { // {{{
|
@@ -104,7 +119,7 @@ function WFAdaptorManifestation(adaptor) {
|
|
104
119
|
group = self.elements[xml_node.get(0).tagName].permissible_children(xml_node,'into');
|
105
120
|
if(group.length > 0) {
|
106
121
|
menu['Insert into'] = group;
|
107
|
-
copyOrMove(menu['Insert into'],group,self.adaptor.description.insert_first_into);
|
122
|
+
copyOrMove(menu['Insert into'],group,xml_node,self.adaptor.description.insert_first_into);
|
108
123
|
}
|
109
124
|
}
|
110
125
|
if (sibling) {
|
@@ -146,13 +161,11 @@ function WFAdaptorManifestation(adaptor) {
|
|
146
161
|
return;
|
147
162
|
}
|
148
163
|
|
149
|
-
var visid = 'details';
|
150
|
-
var tab = $('#dat_' + visid);
|
151
|
-
tab.empty();
|
152
|
-
|
153
164
|
self.adaptor.illustrator.get_elements().removeClass('clicked');
|
154
165
|
|
155
166
|
if (e && e.ctrlKey) {
|
167
|
+
var tab = $('#dat_details');
|
168
|
+
tab.empty();
|
156
169
|
var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
|
157
170
|
if (vtarget.length > 0) {
|
158
171
|
vtarget.parents('g.element[element-id]').toggleClass('marked');
|
@@ -165,13 +178,7 @@ function WFAdaptorManifestation(adaptor) {
|
|
165
178
|
vtarget.parents('g.element[element-id]').addClass('clicked');
|
166
179
|
}
|
167
180
|
|
168
|
-
|
169
|
-
|
170
|
-
if (self.adaptor.description.elements[$(node).attr('svg-type')]) {
|
171
|
-
save[visid + '_target'] = { 'svgid': svgid, 'model': self.adaptor.description };
|
172
|
-
save[visid] = new RelaxNGui(self.adaptor.description.elements[$(node).attr('svg-type')],tab,self.adaptor.description.context_eval);
|
173
|
-
save[visid].content(node);
|
174
|
-
}
|
181
|
+
self.update_details(svgid);
|
175
182
|
}
|
176
183
|
} // }}}
|
177
184
|
this.events.dblclick = function(svgid, e) { // {{{
|
@@ -207,6 +214,10 @@ function WFAdaptorManifestation(adaptor) {
|
|
207
214
|
return 'callmanipulateworklist';
|
208
215
|
} else if($(node).attr('endpoint').match(/^worklist/)) {
|
209
216
|
return 'callworklist';
|
217
|
+
} else if($(node).attr('endpoint').match(/^workqueue/) && $('finalize,update', node).length > 0) {
|
218
|
+
return 'callmanipulateworkqueue';
|
219
|
+
} else if($(node).attr('endpoint').match(/^workqueue/)) {
|
220
|
+
return 'callworkqueue';
|
210
221
|
} else if($('parameters > service', node).length > 0) {
|
211
222
|
return 'callinjection';
|
212
223
|
} else if($('finalize,update', node).length > 0) {
|
@@ -933,9 +944,24 @@ function WFAdaptorManifestation(adaptor) {
|
|
933
944
|
this.elements.callmanipulateworklist = { /*{{{*/
|
934
945
|
'type': 'abstract',
|
935
946
|
'parent': 'call',
|
936
|
-
'description': self.adaptor.theme_dir + 'rngs/callmanipulate.rng',
|
937
947
|
'illustrator': {//{{{
|
938
948
|
'svg': self.adaptor.theme_dir + 'symbols/callmanipulateworklist.svg'
|
939
949
|
},//}}}
|
940
950
|
}; /*}}}*/
|
951
|
+
this.elements.callworkqueue = { /*{{{*/
|
952
|
+
'type': 'abstract',
|
953
|
+
'parent': 'call',
|
954
|
+
'description': self.adaptor.theme_dir + 'rngs/callworkqueue.rng',
|
955
|
+
'illustrator': {//{{{
|
956
|
+
'svg': self.adaptor.theme_dir + 'symbols/callworkqueue.svg'
|
957
|
+
},//}}}
|
958
|
+
}; /*}}}*/
|
959
|
+
this.elements.callmanipulateworkqueue = { /*{{{*/
|
960
|
+
'type': 'abstract',
|
961
|
+
'parent': 'call',
|
962
|
+
'description': self.adaptor.theme_dir + 'rngs/callmanipulateworkqueue.rng',
|
963
|
+
'illustrator': {//{{{
|
964
|
+
'svg': self.adaptor.theme_dir + 'symbols/callmanipulateworkqueue.svg'
|
965
|
+
},//}}}
|
966
|
+
}; /*}}}*/
|
941
967
|
}
|
data/cpee.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "cpee"
|
3
|
-
s.version = "1.3.
|
3
|
+
s.version = "1.3.225"
|
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"
|
data/log/yaml/log.xml
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
<interface name="events">
|
3
3
|
<xi:include href="http://www.riddl.org/ns/common-patterns/notifications-consumer/1.0/consumer.xml"/>
|
4
4
|
</interface>
|
5
|
-
<interface name="cpee" location="http://
|
6
|
-
<xi:include href="http://
|
5
|
+
<interface name="cpee" location="http://localhost:9298">
|
6
|
+
<xi:include href="http://localhost:9298/?riddl-description"/>
|
7
7
|
</interface>
|
8
8
|
<interface name="logoverlay">
|
9
9
|
<xi:include href="logoverlay.xml"/>
|
data/log/yaml/server.rb
CHANGED
@@ -115,14 +115,14 @@ end #}}}
|
|
115
115
|
Riddl::Server.new(::File.dirname(__FILE__) + '/log.xml', :host => "coruscant.wst.univie.ac.at", :port => 9300) do #{{{
|
116
116
|
accessible_description true
|
117
117
|
cross_site_xhr true
|
118
|
-
log_dir = "/home/
|
118
|
+
log_dir = "/home/centurio/Projects/cpee/log/logs_yaml"
|
119
119
|
|
120
120
|
interface 'events' do
|
121
121
|
run Logging if post 'event'
|
122
122
|
end
|
123
123
|
interface 'logoverlay' do |r|
|
124
|
+
p log_dir + r[:h]["RIDDL_DECLARATION_PATH"]+ ".xes"
|
124
125
|
run Riddl::Utils::FileServe, log_dir + r[:h]["RIDDL_DECLARATION_PATH"]+ ".xes","text/xml" if get
|
125
126
|
end
|
126
127
|
|
127
|
-
|
128
128
|
end.loop! #}}}
|
@@ -359,10 +359,18 @@
|
|
359
359
|
</xsl:template>
|
360
360
|
<xsl:template match="d:*" mode="sub">
|
361
361
|
<xsl:if test="count(preceding-sibling::*) > 0">, </xsl:if>
|
362
|
-
|
363
362
|
<xsl:text>⭐(</xsl:text>
|
364
363
|
<xsl:text>:name => :</xsl:text>
|
365
|
-
<xsl:
|
364
|
+
<xsl:choose>
|
365
|
+
<xsl:when test="contains(name(),'-')">
|
366
|
+
<xsl:text>'</xsl:text>
|
367
|
+
<xsl:value-of select="name()"/>
|
368
|
+
<xsl:text>'</xsl:text>
|
369
|
+
</xsl:when>
|
370
|
+
<xsl:otherwise>
|
371
|
+
<xsl:value-of select="name()"/>
|
372
|
+
</xsl:otherwise>
|
373
|
+
</xsl:choose>
|
366
374
|
<xsl:text>, :value => </xsl:text>
|
367
375
|
<xsl:choose>
|
368
376
|
<xsl:when test="not(node())">
|
@@ -371,10 +379,19 @@
|
|
371
379
|
<xsl:when test="child::node()[not(self::text())]">
|
372
380
|
<xsl:text>"{ </xsl:text>
|
373
381
|
<xsl:apply-templates select="*" mode="JSON"/>
|
374
|
-
<xsl:text>
|
382
|
+
<xsl:text>}"</xsl:text>
|
375
383
|
</xsl:when>
|
376
384
|
<xsl:otherwise>
|
377
|
-
<xsl:
|
385
|
+
<xsl:choose>
|
386
|
+
<xsl:when test="substring(text(),1,1) = '!'">
|
387
|
+
<xsl:value-of select="substring(text(),2)"/>
|
388
|
+
</xsl:when>
|
389
|
+
<xsl:otherwise>
|
390
|
+
<xsl:text>"</xsl:text>
|
391
|
+
<xsl:value-of select="str:replace(str:replace(text(),'\','\\'),'"','\"')"/>
|
392
|
+
<xsl:text>"</xsl:text>
|
393
|
+
</xsl:otherwise>
|
394
|
+
</xsl:choose>
|
378
395
|
</xsl:otherwise>
|
379
396
|
</xsl:choose>
|
380
397
|
<xsl:for-each select="@*">
|
@@ -469,6 +486,17 @@
|
|
469
486
|
|
470
487
|
<!-- JSON Element -->
|
471
488
|
<xsl:template match="*" mode="JSON">
|
489
|
+
<xsl:text>\"</xsl:text>
|
490
|
+
<xsl:value-of select="name()"/>
|
491
|
+
<xsl:text>-</xsl:text>
|
492
|
+
<xsl:value-of select="generate-id(.)"/>
|
493
|
+
<xsl:text>\": </xsl:text>
|
494
|
+
<xsl:call-template name="JSONProperties">
|
495
|
+
<xsl:with-param name="parent" select="'Yes'"></xsl:with-param>
|
496
|
+
</xsl:call-template>
|
497
|
+
</xsl:template>
|
498
|
+
|
499
|
+
<xsl:template match="*" mode="JSONSUB">
|
472
500
|
<xsl:text>\"</xsl:text>
|
473
501
|
<xsl:value-of select="name()"/>
|
474
502
|
<xsl:text>\": </xsl:text>
|
@@ -526,10 +554,21 @@
|
|
526
554
|
<xsl:text> ] }</xsl:text>
|
527
555
|
</xsl:when>
|
528
556
|
<xsl:otherwise>
|
557
|
+
<xsl:if test="text()[normalize-space(.)]">
|
558
|
+
<xsl:text>[ </xsl:text>
|
559
|
+
</xsl:if>
|
529
560
|
<xsl:text>{</xsl:text>
|
530
561
|
<xsl:apply-templates select="@*" mode="JSON"/>
|
531
|
-
<xsl:apply-templates select="*" mode="
|
562
|
+
<xsl:apply-templates select="*" mode="JSONSUB"/>
|
532
563
|
<xsl:text>}</xsl:text>
|
564
|
+
<xsl:if test="text()[normalize-space(.)]">
|
565
|
+
<xsl:text>, </xsl:text>
|
566
|
+
<xsl:text>\"</xsl:text>
|
567
|
+
<xsl:value-of select="str:replace(str:replace(.,'\','\\'),'"','\\\"')"/>
|
568
|
+
<xsl:text>\"</xsl:text>
|
569
|
+
<xsl:text> ]</xsl:text>
|
570
|
+
</xsl:if>
|
571
|
+
<xsl:text> </xsl:text>
|
533
572
|
</xsl:otherwise>
|
534
573
|
</xsl:choose>
|
535
574
|
<xsl:if test="following-sibling::*">, </xsl:if>
|
@@ -537,7 +576,7 @@
|
|
537
576
|
|
538
577
|
<!-- JSON Attribute Property -->
|
539
578
|
<xsl:template match="@*" mode="JSON">
|
540
|
-
<xsl:text> \"
|
579
|
+
<xsl:text> \"@</xsl:text>
|
541
580
|
<xsl:value-of select="name()"/>
|
542
581
|
<xsl:text>\": </xsl:text>
|
543
582
|
<xsl:choose>
|
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.3.
|
4
|
+
version: 1.3.225
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juergen eTM Mangler
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: tools
|
13
13
|
cert_chain: []
|
14
|
-
date: 2018-02-
|
14
|
+
date: 2018-02-23 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: riddl
|
@@ -157,6 +157,8 @@ files:
|
|
157
157
|
- cockpit/themes/default/rngs/alternative.rng
|
158
158
|
- cockpit/themes/default/rngs/call.rng
|
159
159
|
- cockpit/themes/default/rngs/callmanipulate.rng
|
160
|
+
- cockpit/themes/default/rngs/callmanipulateworkqueue.rng
|
161
|
+
- cockpit/themes/default/rngs/callworkqueue.rng
|
160
162
|
- cockpit/themes/default/rngs/choose.rng
|
161
163
|
- cockpit/themes/default/rngs/critical.rng
|
162
164
|
- cockpit/themes/default/rngs/escape.rng
|
@@ -176,7 +178,9 @@ files:
|
|
176
178
|
- cockpit/themes/default/symbols/callinstantiation.svg
|
177
179
|
- cockpit/themes/default/symbols/callmanipulate.svg
|
178
180
|
- cockpit/themes/default/symbols/callmanipulateworklist.svg
|
181
|
+
- cockpit/themes/default/symbols/callmanipulateworkqueue.svg
|
179
182
|
- cockpit/themes/default/symbols/callworklist.svg
|
183
|
+
- cockpit/themes/default/symbols/callworkqueue.svg
|
180
184
|
- cockpit/themes/default/symbols/choose.svg
|
181
185
|
- cockpit/themes/default/symbols/choose_exclusive.svg
|
182
186
|
- cockpit/themes/default/symbols/choose_inclusive.svg
|