From 9bb87d6497369998b547f63210a4d7276aea5576 Mon Sep 17 00:00:00 2001 From: Kea Horvath Date: Fri, 17 Mar 2023 01:09:06 +0100 Subject: [PATCH] created AlgorithmController file --- .../src/main/java/pdl/backend/Algorithm.java | 12 ++-- .../java/pdl/backend/AlgorithmController.java | 57 +++++++++++++++++++ .../java/pdl/backend/ImageController.java | 38 ------------- 3 files changed, 63 insertions(+), 44 deletions(-) create mode 100644 backend/src/main/java/pdl/backend/AlgorithmController.java diff --git a/backend/src/main/java/pdl/backend/Algorithm.java b/backend/src/main/java/pdl/backend/Algorithm.java index 36161d4..a6b9242 100644 --- a/backend/src/main/java/pdl/backend/Algorithm.java +++ b/backend/src/main/java/pdl/backend/Algorithm.java @@ -7,14 +7,14 @@ import org.springframework.web.server.ResponseStatusException; public class Algorithm { private final String name; - private final String pass; + private final String path; private final ArrayList parameters; - public Algorithm(String name, String pass) { + public Algorithm(String name, String path) { this.name = name; - this.pass = pass; + this.path = path; this.parameters = new ArrayList<>(); - switch (pass) { + switch (path) { case "changeLuminosity": Parameter param1 = new Parameter("delta", "", -255, 255, false); this.parameters.add(param1); @@ -45,8 +45,8 @@ public class Algorithm { return this.name; } - public String getPass() { - return this.pass; + public String getPath() { + return this.path; } public ArrayList getParameters() { diff --git a/backend/src/main/java/pdl/backend/AlgorithmController.java b/backend/src/main/java/pdl/backend/AlgorithmController.java new file mode 100644 index 0000000..85b88ea --- /dev/null +++ b/backend/src/main/java/pdl/backend/AlgorithmController.java @@ -0,0 +1,57 @@ +package pdl.backend; + +import java.util.ArrayList; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.ObjectNode; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class AlgorithmController { + + @Autowired + private ObjectMapper mapper; + + @GetMapping(value = "/algorithms", produces = "application/json") + @ResponseBody + public ArrayNode getAlgorithmList() { + ArrayList algorithms = new ArrayList(); + Algorithm algo = new Algorithm("Changement de luminosité", "changeLuminosity"); + algorithms.add(algo); + algo = new Algorithm("Changement de teinte", "colorFilter"); + algorithms.add(algo); + algo = new Algorithm("Filtre Moyenneur", "meanFilter"); + algorithms.add(algo); + algo = new Algorithm("Filtre Gaussien", "gaussienFilter"); + algorithms.add(algo); + algo = new Algorithm("Détection de contours", "contours"); + algorithms.add(algo); + algo = new Algorithm("Histogramme", "histogram"); + algorithms.add(algo); + + ArrayNode nodes = mapper.createArrayNode(); + for (Algorithm a : algorithms) { + ObjectNode objectNode = mapper.createObjectNode(); + objectNode.put("name", a.getName()); + objectNode.put("pass", a.getPath()); + ArrayNode parameters = objectNode.putArray("parameters"); + for (Parameter p : a.getParameters()) { + ObjectNode paramNode = mapper.createObjectNode(); + paramNode.put("name", p.getName()); + paramNode.put("displayName", p.getDisplayName()); + paramNode.put("min", p.getMin()); + paramNode.put("max", p.getMax()); + paramNode.put("mustBeOdd", p.mustBeOdd()); + parameters.add(paramNode); + } + nodes.add(objectNode); + } + return nodes; + } + +} diff --git a/backend/src/main/java/pdl/backend/ImageController.java b/backend/src/main/java/pdl/backend/ImageController.java index 9e65738..fd8fe39 100644 --- a/backend/src/main/java/pdl/backend/ImageController.java +++ b/backend/src/main/java/pdl/backend/ImageController.java @@ -5,7 +5,6 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URI; -import java.util.ArrayList; import java.util.List; import java.util.Optional; import java.util.Map; @@ -113,43 +112,6 @@ public class ImageController { return nodes; } - @GetMapping(value = "/algorithms", produces = "application/json") - @ResponseBody - public ArrayNode getAlgorithmList() { - ArrayList algorithms = new ArrayList(); - Algorithm algo = new Algorithm("Changement de luminosité", "changeLuminosity"); - algorithms.add(algo); - algo = new Algorithm("Changement de teinte", "colorFilter"); - algorithms.add(algo); - algo = new Algorithm("Filtre Moyenneur", "meanFilter"); - algorithms.add(algo); - algo = new Algorithm("Filtre Gaussien", "gaussienFilter"); - algorithms.add(algo); - algo = new Algorithm("Détection de contours", "contours"); - algorithms.add(algo); - algo = new Algorithm("Histogramme", "histogram"); - algorithms.add(algo); - - ArrayNode nodes = mapper.createArrayNode(); - for (Algorithm a : algorithms) { - ObjectNode objectNode = mapper.createObjectNode(); - objectNode.put("name", a.getName()); - objectNode.put("pass", a.getPass()); - ArrayNode parameters = objectNode.putArray("parameters"); - for (Parameter p : a.getParameters()) { - ObjectNode paramNode = mapper.createObjectNode(); - paramNode.put("name", p.getName()); - paramNode.put("displayName", p.getDisplayName()); - paramNode.put("min", p.getMin()); - paramNode.put("max", p.getMax()); - paramNode.put("mustBeOdd", p.mustBeOdd()); - parameters.add(paramNode); - } - nodes.add(objectNode); - } - return nodes; - } - @GetMapping(value = "/images/{id}", produces = { MediaType.IMAGE_JPEG_VALUE, MediaType.IMAGE_PNG_VALUE, "application/json" }) public ResponseEntity getImage(@PathVariable("id") long id,