From 14f89f89d2048e84e4d879507422414200d8229a Mon Sep 17 00:00:00 2001 From: Antoine Duquenoy Date: Tue, 15 Jan 2019 17:01:15 +0100 Subject: [PATCH] Nouvelle manière de configurer le réseau --- PFE06/src/main/java/com/PFE/ServerManager/MainController.java | 11 +++++++++++ PFE06/src/main/resources/static/js/nodes.js | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PFE06/src/main/resources/templates/login.html | 4 ++-- PFE06/src/main/resources/templates/nodesconf.html | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PFE06/src/main/resources/templates/registration.html | 3 +++ 5 files changed, 282 insertions(+), 2 deletions(-) create mode 100644 PFE06/src/main/resources/static/js/nodes.js create mode 100644 PFE06/src/main/resources/templates/nodesconf.html diff --git a/PFE06/src/main/java/com/PFE/ServerManager/MainController.java b/PFE06/src/main/java/com/PFE/ServerManager/MainController.java index b8b1f55..8d3484d 100644 --- a/PFE06/src/main/java/com/PFE/ServerManager/MainController.java +++ b/PFE06/src/main/java/com/PFE/ServerManager/MainController.java @@ -310,4 +310,15 @@ public class MainController { } yaml.dump(data, writer); } + + @GetMapping(value="/nodesconf") + public ModelAndView nodesconf() { + ModelAndView modelAndView = new ModelAndView(); + Authentication auth = SecurityContextHolder.getContext().getAuthentication(); + Customer customer = customerRepository.findByEmail(auth.getName()); + modelAndView.addObject("customerName", customer.getEmail().split("@")[0]); + modelAndView.addObject("customerRole", customer.getRole()); + modelAndView.setViewName("nodesconf"); + return modelAndView; + } } \ No newline at end of file diff --git a/PFE06/src/main/resources/static/js/nodes.js b/PFE06/src/main/resources/static/js/nodes.js new file mode 100644 index 0000000..d1248e5 --- /dev/null +++ b/PFE06/src/main/resources/static/js/nodes.js @@ -0,0 +1,137 @@ +var nodes = []; +var sensors = []; +var index = -1; + +var nodeName = document.getElementById("nodeName"); +var nodeIP = document.getElementById("nodeIP"); +var nodeArch = document.getElementById("nodeArch"); +var sensorName = document.getElementById("sensorName"); +var addSensor = document.getElementById("addSensor"); +var prevNode = document.getElementById("prevNode"); +var allDone = document.getElementById("allDone"); +var nextNode = document.getElementById("nextNode"); +var addNode = document.getElementById("addNode"); +var delNode = document.getElementById("delNode"); +var editNode = document.getElementById("editNode"); + +function deleteRow(r) { + var i = r.parentNode.parentNode.rowIndex; + var name = r.parentNode.parentNode.firstElementChild.innerText; + + function search(array) { + return array.name === name; + } + + var idx = sensors.findIndex(search); + if (idx > -1) { + sensors.splice(idx, 1); + } + + document.getElementById("sensorsTable").deleteRow(i); +} + +addSensor.addEventListener('click', function() { + if(sensorName.value !== "") { + var table = document.getElementById("sensorsTable"); + var row = table.insertRow(0); + var cell1 = row.insertCell(0); + var cell2 = row.insertCell(1); + cell1.innerHTML = sensorName.value; + cell2.innerHTML = ""; + sensors.push({"name": sensorName.value }); + sensorName.value = ""; + } +}) + +function displayNode(index) { + clearAll(); + nodeName.value = nodes[index].name; + nodeIP.value = nodes[index].ip; + nodeArch.value = nodes[index].arch; + sensors = nodes[index].sensors.slice(0); + var table = document.getElementById("sensorsTable"); + for(var i = 0; i < sensors.length; i++) { + var row = table.insertRow(0); + var cell1 = row.insertCell(0); + var cell2 = row.insertCell(1); + cell1.innerHTML = sensors[i].name; + cell2.innerHTML = ""; + } +} + +function clearAll() { + nodeName.value = ""; + nodeIP.value = ""; + nodeArch.value = ""; + sensorName.value = ""; + sensors.splice(0, sensors.length); + document.getElementById("sensorsTable").innerHTML = ""; +} + +allDone.addEventListener('click', function() { + if(nodes.length !== 0) { + console.log(JSON.stringify(nodes)); + } +}) + +prevNode.addEventListener('click', function() { + index--; + if(index < 0) { + index = nodes.length - 1; + } + if(nodes.length != 0) { + displayNode(index); + } +}) + +nextNode.addEventListener('click', function() { + index++; + if(index >= nodes.length) { + index = 0; + } + if(nodes.length != 0) { + displayNode(index); + } +}) + +addNode.addEventListener('click', function() { + var node = { + 'name': nodeName.value, + 'ip': nodeIP.value, + 'arch': nodeArch.value, + 'sensors': sensors.slice(0) + }; + if(node.name === "" || node.ip === "" || node.arch === "" || sensors.length === 0) { + $("#warningConf").modal(); + } + else { + nodes.push(node); + clearAll(); + index = nodes.length; + } +}) + +editNode.addEventListener('click', function() { + if(index !== -1 && index !== nodes.length) { + nodes[index].name = nodeName.value; + nodes[index].ip = nodeIP.value; + nodes[index].arch = nodeArch.value; + nodes[index].sensors = sensors.slice(0); + clearAll(); + index = nodes.length; + } +}) + +delNode.addEventListener('click', function() { + if(index != nodes.length) { + nodes.splice(index, 1); + clearAll(); + index = nodes.length; + } +}) + + diff --git a/PFE06/src/main/resources/templates/login.html b/PFE06/src/main/resources/templates/login.html index 01bdaad..325acad 100644 --- a/PFE06/src/main/resources/templates/login.html +++ b/PFE06/src/main/resources/templates/login.html @@ -31,11 +31,11 @@
- +
- +
diff --git a/PFE06/src/main/resources/templates/nodesconf.html b/PFE06/src/main/resources/templates/nodesconf.html new file mode 100644 index 0000000..788b040 --- /dev/null +++ b/PFE06/src/main/resources/templates/nodesconf.html @@ -0,0 +1,129 @@ + + + + + + + + Configuration des noeuds + + + + + + + +
+

Configuration des noeuds

+ +
+
+ Nom +
+ +
+ +
+
+ IP +
+ +
+ +
+
+ Architecture +
+ +
+ +

Capteurs


+ +
+
+ Nom +
+ +
+ + + + +
+ + + + + +
+
+
+ +
+
+ +
+
+ +
+
+
+ + +
+ + + + + + + + + + + + diff --git a/PFE06/src/main/resources/templates/registration.html b/PFE06/src/main/resources/templates/registration.html index bb8a30a..881235f 100644 --- a/PFE06/src/main/resources/templates/registration.html +++ b/PFE06/src/main/resources/templates/registration.html @@ -61,9 +61,11 @@
+
+
@@ -71,6 +73,7 @@
+
-- libgit2 0.21.2