-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLAProcessorServer.js
More file actions
executable file
·122 lines (98 loc) · 3.39 KB
/
LAProcessorServer.js
File metadata and controls
executable file
·122 lines (98 loc) · 3.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
"use strict";
var express = require("express");
var app = express();
var Processor = require("./Processor.js");
var gitConverter= require("./GitTimeLapseNodeGit.js");
var Log = require("./Logger.js");
var StateAnalytics = require("./StateAnalytics.js");
var GitFilesToObjectsConverter = require("./GitFilesToObjectsConverter.js");
var Promise = require("es6-promise").Promise;
var bodyParser = require("body-parser");
var Timer = require("./Timer.js");
var initTypes = require("./Types.js");
app.use(bodyParser.json({limit:"1000mb"}));
var fs = require("fs");
app.post("/processFiles", function(req, res){
var processor = new Processor();
} );
app.get("/commitList/:clientId", function(req, res){
var clientId = req.params.clientId;
console.log("CommitLog request: " + clientId);
gitConverter.getCommitListFromRepo("/srv/LAHelper/logs/" + clientId).then(function(commitList){
var response = {status: "OK", commitList: commitList};
res.send(JSON.stringify(response));
}, function(error){
var response = {status: "error", error: error };
res.send(JSON.stringify(response));
});
});
app.get("/repoTimelapse/:clientId", function(req, res){
//var commits = gitcommits.generatecommitsOfGitRepo("/srv/LAHelper/logs/597cd4dc32743cca14f26abc73dc994049018ea0");
var clientId = req.params.clientId;
var log = new Log("Timelapse request for: " + clientId);
var Commits = gitConverter.getCommitsFromRepo("/srv/LAHelper/logs/" + clientId);
var gitFilesToObjectsConverter = new GitFilesToObjectsConverter();
//var Commits= gitConverter.getCommitsFromRepo("/srv/LAHelper/logs/78e6d96d44929f294d58d686dc07253416d748ec");
Commits.then(function(commits){
console.log(commits);
gitFilesToObjectsConverter.convert(commits).then(function(states){
StateAnalytics.getAnalyticsOfStates(states).then(function(states){
var returnedData = JSON.stringify(states);
res.send(returnedData);
log.debug("Success: created analyzed timelapse");
log.print();
}, function(error){
console.log("Error: ", error);
log.print();
res.send("Error: " + error);
});
}, function(error){
console.log("Error: ", error);
log.print();
res.send("Error: " + error);
});
}, function(error){
res.send("Error : " + error);
log.error("Error");
log.print();
});
});
/**
* Returns {
* states: [states],
* tests: [tests]
* }
**/
app.post("/process", function(req, res){
var clientId = req.params.clientId;
var commits = req.body.commits;
var log = new Log("unknown", "Got process request: " + req.body.commits.length + " states");
var timer = Timer.create("Process");
timer.start();
var gitFilesToObjectsConverter = new GitFilesToObjectsConverter();
gitFilesToObjectsConverter.convert(commits).then(function(result){
StateAnalytics.getAnalyticsOfStates(result.states).then(function(states){
var returnedData = {
states: states,
tests: result.tests
};
res.send(JSON.stringify(returnedData));
timer.stop();
log.debug("Tests found: " + result.tests.length);
log.debug("SUCCESS: States analyzed in: " + timer.getLast());
log.print();
}, function(error){
console.log("Error: ", error);
log.print();
res.send("Error: " + error);
});
}, function(error){
console.log("Error: ", error);
log.print();
res.send("Error: " + error);
});
});
var port = 50811;
app.listen(port, function(){
console.log("LAProcessor server listening on port "+port);
});