Skip to content

Commit 20ab3a1

Browse files
committed
Updating testdynamic
1 parent 4ab1896 commit 20ab3a1

File tree

4 files changed

+73
-38
lines changed

4 files changed

+73
-38
lines changed

testjs/admin.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@
116116
var url = window.location.pathname;
117117
var query = getQueryVariables(window.location.search);
118118
var state = rulesetState(url);
119+
119120
rulesetGraph(url, state).createVisual(query.size);
120121

121122
function getQueryVariables(query) {

testjs/durableVisual.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -943,7 +943,7 @@ function rulesetState(url) {
943943

944944
var update = function () {
945945
var i;
946-
var statusUrl = rulesetUrl + '/' + sid;
946+
var statusUrl = rulesetUrl + '/state/' + sid;
947947
d3.json(statusUrl, function (err, status) {
948948
if (err) {
949949
for (i = 0; i < errorEvents.length; ++i) {
@@ -963,7 +963,7 @@ function rulesetState(url) {
963963

964964
var timeout = function () {
965965
update();
966-
setTimeout(timeout, 5000);
966+
setTimeout(timeout, 2000);
967967
}
968968

969969
that.start = function () {
@@ -979,7 +979,7 @@ function rulesetGraph(url, state) {
979979
var nodes;
980980
var nodeDictionary = {};
981981
var sid = url.substring(0, url.lastIndexOf('/'));
982-
var ruleSetUrl = sid.substring(0, sid.lastIndexOf('/'));
982+
var rulesetUrl = sid.substring(0, sid.lastIndexOf('/'));
983983
sid= sid.substring(sid.lastIndexOf('/') + 1);
984984

985985
if (sid.indexOf('.') !== -1) {
@@ -1399,13 +1399,15 @@ function rulesetGraph(url, state) {
13991399
};
14001400

14011401
that.createVisual = function (frameSize, callback) {
1402-
d3.json(ruleSetUrl, function (err, ruleSet) {
1402+
d3.json(rulesetUrl + '/definition', function (err, ruleSet) {
14031403
if (err) {
1404+
alert(err)
14041405
var error;
14051406
try {
14061407
error = JSON.parse(err.responseText);
14071408
} catch (ex) {
14081409
error = { error: ex };
1410+
14091411
}
14101412

14111413
callback(error);
@@ -1432,7 +1434,7 @@ function rulesetGraph(url, state) {
14321434
y.domain([0, r]);
14331435
}
14341436

1435-
var title = ruleSetUrl.substring(1) + '/' + sid;
1437+
var title = rulesetUrl.substring(1) + '/' + sid;
14361438
if (nodes.type === 'stateChart') {
14371439
stateVisual(nodes, links, x, y, title, svg, state);
14381440
} else if (nodes.type === 'flowChart') {

testjs/testdynamic.html

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
alert('Server error ' + err.responseText);
2828
} else {
2929
d3.select('iframe')
30-
.attr('src', '/' + rulesetName + '/sample/admin.html?disableScratchpad=true&size=330');
30+
.attr('src', '/' + rulesetName + '/sample/admin.html?disableScratchpad=true&size=350');
3131
}
3232
});
3333
} catch (err) {
@@ -43,7 +43,7 @@
4343
}
4444
else {
4545
d3.select('iframe')
46-
.attr('src', '/' + rulesetName + '/sample/admin.html?disableScratchpad=true&size=330');
46+
.attr('src', '/' + rulesetName + '/sample/admin.html?disableScratchpad=true&size=350');
4747

4848
d3.select('textarea[id="rulesetpad"]')
4949
.text(JSON.stringify(result, null, 4));
@@ -56,17 +56,12 @@
5656
var messageText = document.getElementById('messagepad').value;
5757
var message = JSON.parse(messageText);
5858
var rulesetName = document.getElementById('name').value;
59-
server = d3.xhr('http://localhost:5000/' + rulesetName + '/events')
59+
server = d3.xhr('http://localhost:5000/' + rulesetName + '/events/sample')
6060
.header('content-type', 'application/json; charset=utf-8');
6161

6262
server.post(messageText, function(err, result) {
6363
if (err) {
6464
alert('Server error ' + err.responseText);
65-
} else {
66-
result = JSON.parse(result.responseText);
67-
if (result.outcome != 0) {
68-
alert('Server response ' + result.outcome);
69-
}
7065
}
7166
});
7267
} catch (err) {
@@ -132,15 +127,10 @@
132127
' "fraud":{}\r\n' +
133128
'}\r\n');
134129

135-
body.append('iframe')
136-
.attr('width', 330)
137-
.attr('height', 329)
138-
.attr('scrolling', 'no')
139-
.attr('style', "border:1px solid grey");
140-
141130
body.append('br');
142131
body.append('br');
143132

133+
144134
body.append('input')
145135
.attr('type', 'button')
146136
.attr('id', 'approve')
@@ -156,6 +146,15 @@
156146
body.append('br');
157147
body.append('br');
158148

149+
body.append('iframe')
150+
.attr('width', 350)
151+
.attr('height', 350)
152+
.attr('scrolling', 'no')
153+
.attr('style', "border:1px solid grey");
154+
155+
body.append('br');
156+
body.append('br');
157+
159158
body.append('textarea')
160159
.attr('rows', '5')
161160
.attr('cols', '44')

testjs/testdynamic.js

Lines changed: 52 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,67 @@
11
var stat = require('node-static');
2-
var redis = require('redis');
3-
var d = require('../libjs/durableEngine');
2+
var bodyParser = require('body-parser');
3+
var express = require('express');
4+
var d = require('../libjs/durable');
45

5-
var host = d.host();
6-
var app = d.application(host);
7-
var db = redis.createClient();
6+
var app = express();
7+
var host = d.getHost();
88
var fileServer = new stat.Server(__dirname);
9+
app.use(bodyParser.json());
910

1011
function printAction(actionName) {
1112
return function(c) {
1213
c.s.label = actionName;
13-
console.log('Executing ' + actionName);
14+
console.log('Running ' + actionName);
1415
}
1516
}
1617

17-
host.loadRuleset = function(rulesetName, complete) {
18-
db.hget('rulesets', rulesetName, function(err, result) {
19-
if (err) {
20-
complete(err);
18+
host.getAction = function(actionName) {
19+
return printAction(actionName);
20+
};
21+
22+
app.get('/:rulesetName/state/:sid', function (request, response) {
23+
response.contentType = 'application/json; charset=utf-8';
24+
try {
25+
response.status(200).send(host.getState(request.params.rulesetName, request.params.sid));
26+
} catch (reason) {
27+
response.status(500).send({ error: reason });
28+
}
29+
});
30+
31+
app.post('/:rulesetName/events/:sid', function (request, response) {
32+
response.contentType = "application/json; charset=utf-8";
33+
var message = request.body;
34+
message.sid = request.params.sid;
35+
36+
host.post(request.params.rulesetName, message, function(e) {
37+
if (e) {
38+
response.status(500).send({ error: e });
2139
} else {
22-
complete(null, JSON.parse(result));
40+
response.status(200).send({});
2341
}
2442
});
25-
};
43+
});
2644

27-
host.saveRuleset = function(rulesetName, rulesetDefinition, complete) {
28-
db.hset('rulesets', rulesetName, JSON.stringify(rulesetDefinition), complete);
29-
};
45+
app.get('/:rulesetName/definition', function (request, response) {
46+
response.contentType = 'application/json; charset=utf-8';
47+
try {
48+
response.status(200).send(host.getRuleset(request.params.rulesetName).getDefinition());
49+
} catch (reason) {
50+
response.status(500).send({ error: reason });
51+
}
52+
});
3053

31-
host.getAction = function(actionName) {
32-
return printAction(actionName);
33-
};
54+
app.post('/:rulesetName/definition', function (request, response) {
55+
response.contentType = "application/json; charset=utf-8";
56+
host.setRulesets(request.body , function (e, result) {
57+
if (e) {
58+
response.status(500).send({ error: e });
59+
}
60+
else {
61+
response.status(200).send();
62+
}
63+
});
64+
});
3465

3566
app.get('/durableVisual.js', function (request, response) {
3667
request.addListener('end',function () {
@@ -50,4 +81,6 @@ app.get('/:rulesetName/:sid/admin.html', function (request, response) {
5081
}).resume();
5182
});
5283

53-
app.run();
84+
app.listen(5000, function () {
85+
console.log('Listening on 5000');
86+
});

0 commit comments

Comments
 (0)