diff --git a/gui-backend/src/main/java/eu/melodic/upperware/guibackend/communication/proactive/ProactiveClientServiceGUI.java b/gui-backend/src/main/java/eu/melodic/upperware/guibackend/communication/proactive/ProactiveClientServiceGUI.java index b0d71ce8a7f768b51ce2f7ee337cf70e61062922..180b8c27e6315e4e951563e2fb93c63a3f9ef695 100644 --- a/gui-backend/src/main/java/eu/melodic/upperware/guibackend/communication/proactive/ProactiveClientServiceGUI.java +++ b/gui-backend/src/main/java/eu/melodic/upperware/guibackend/communication/proactive/ProactiveClientServiceGUI.java @@ -26,4 +26,6 @@ public interface ProactiveClientServiceGUI extends IProactiveClientServiceConnec List getAllNodes(); List getAllMonitors(); + + boolean deleteByonNode(String byonId); } diff --git a/gui-backend/src/main/java/eu/melodic/upperware/guibackend/communication/proactive/ProactiveClientServiceGUIImpl.java b/gui-backend/src/main/java/eu/melodic/upperware/guibackend/communication/proactive/ProactiveClientServiceGUIImpl.java index 484522982549fcce96078ed9fcf90b066b171463..440ea11046b04a68237343902cb3e5de16816c33 100644 --- a/gui-backend/src/main/java/eu/melodic/upperware/guibackend/communication/proactive/ProactiveClientServiceGUIImpl.java +++ b/gui-backend/src/main/java/eu/melodic/upperware/guibackend/communication/proactive/ProactiveClientServiceGUIImpl.java @@ -64,4 +64,9 @@ public class ProactiveClientServiceGUIImpl extends ProactiveClientServiceConnect public List getAllMonitors() { return getPAGateway().map(PAGateway::getMonitorsList).orElse(Collections.emptyList()); } + + @Override + public boolean deleteByonNode(String byonId) { + return getPAGateway().map(paGateway -> paGateway.deleteByonNode(byonId)).orElse(false); + } } diff --git a/gui-backend/src/main/java/eu/melodic/upperware/guibackend/controller/byon/ByonController.java b/gui-backend/src/main/java/eu/melodic/upperware/guibackend/controller/byon/ByonController.java index 15ab5cded76b678db44cf3a507edc9cb461a2525..3246e260fa5dcd4122def3dd8f2a9929a11a013a 100644 --- a/gui-backend/src/main/java/eu/melodic/upperware/guibackend/controller/byon/ByonController.java +++ b/gui-backend/src/main/java/eu/melodic/upperware/guibackend/controller/byon/ByonController.java @@ -95,4 +95,12 @@ public class ByonController { log.info("GET request for byon enums"); return byonService.getByonEnums(); } + + @PutMapping("/cleanByon") + @ResponseStatus(HttpStatus.NO_CONTENT) + public void cleanByonNodes() { + log.info("Put request for byon nodes purging"); + byonService.cleanByon(); + log.info("Put request for byon nodes purging finished"); + } } diff --git a/gui-backend/src/main/java/eu/melodic/upperware/guibackend/service/byon/ByonService.java b/gui-backend/src/main/java/eu/melodic/upperware/guibackend/service/byon/ByonService.java index 9ef14da976b927540efd5cc5eeaa9be9217efc31..111587778e4b34225ca66c7033be47a798b1b658 100644 --- a/gui-backend/src/main/java/eu/melodic/upperware/guibackend/service/byon/ByonService.java +++ b/gui-backend/src/main/java/eu/melodic/upperware/guibackend/service/byon/ByonService.java @@ -199,4 +199,14 @@ public class ByonService { return byonNodes; } + + public void cleanByon() { + log.info("[ByonService]: cleanByon starting"); + List byonNodeList = getAllByonNodesList(); + for(ByonNode byonNode : byonNodeList) { + String byonId = byonNode.getId(); + log.info("[ByonService]: deletingByon for id: {}", byonId); + proactiveClientServiceGUI.deleteByonNode(byonId); + } + } }