From 616bb3385e9b70c9ff66adafb48d8b8193bd6866 Mon Sep 17 00:00:00 2001 From: BarminaA Date: Fri, 21 Oct 2022 13:07:34 +0400 Subject: [PATCH 1/4] #76-add rule delete function --- .../java/ru/ulstu/extractor/core/Route.java | 1 + .../rule/controller/RuleController.java | 36 +++++++++++++++---- .../extractor/rule/service/RuleService.java | 4 +++ src/main/resources/templates/listRules.html | 17 ++++++--- 4 files changed, 47 insertions(+), 11 deletions(-) diff --git a/src/main/java/ru/ulstu/extractor/core/Route.java b/src/main/java/ru/ulstu/extractor/core/Route.java index 9627848..0ea2caa 100644 --- a/src/main/java/ru/ulstu/extractor/core/Route.java +++ b/src/main/java/ru/ulstu/extractor/core/Route.java @@ -18,6 +18,7 @@ public class Route { public static final String STATISTIC = "statistic"; public static final String LIST_RULE = "listRules"; public static final String ADD_RULE = "addRule"; + public static final String DELETE_RULE = "deleteRule"; public static String getLIST_INDEXED_REPOSITORIES() { return LIST_INDEXED_REPOSITORIES; diff --git a/src/main/java/ru/ulstu/extractor/rule/controller/RuleController.java b/src/main/java/ru/ulstu/extractor/rule/controller/RuleController.java index 7aeeff1..c222808 100644 --- a/src/main/java/ru/ulstu/extractor/rule/controller/RuleController.java +++ b/src/main/java/ru/ulstu/extractor/rule/controller/RuleController.java @@ -2,19 +2,16 @@ package ru.ulstu.extractor.rule.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import ru.ulstu.extractor.rule.model.AddRuleForm; +import ru.ulstu.extractor.rule.repository.RuleRepository; import ru.ulstu.extractor.rule.service.AntecedentValueService; import ru.ulstu.extractor.rule.service.RuleService; import ru.ulstu.extractor.ts.service.TimeSeriesService; import springfox.documentation.annotations.ApiIgnore; -import static ru.ulstu.extractor.core.Route.ADD_RULE; -import static ru.ulstu.extractor.core.Route.LIST_RULE; +import static ru.ulstu.extractor.core.Route.*; @Controller @ApiIgnore @@ -22,13 +19,15 @@ public class RuleController { private final RuleService ruleService; private final AntecedentValueService antecedentValueService; private final TimeSeriesService timeSeriesService; + private final RuleRepository ruleRepository; public RuleController(RuleService ruleService, AntecedentValueService antecedentValueService, - TimeSeriesService timeSeriesService) { + TimeSeriesService timeSeriesService, RuleRepository ruleRepository) { this.ruleService = ruleService; this.antecedentValueService = antecedentValueService; this.timeSeriesService = timeSeriesService; + this.ruleRepository = ruleRepository; } @GetMapping(LIST_RULE) @@ -50,4 +49,27 @@ public class RuleController { ruleService.saveRule(ruleForm); return "redirect:/" + LIST_RULE; } + + @GetMapping(DELETE_RULE) + public String deleteRule(Model model, + @RequestParam Integer id) { + ruleRepository.deleteById(id); + model.addAttribute("rule", ruleRepository.findAll()); + return "redirect:/" + LIST_RULE; + } + +// @RequestMapping(value = FILTER_COMMITS, method = RequestMethod.GET) +// public String editRule(Model model, +// @RequestParam Optional firstAntecedentValueId, +// @RequestParam Optional firstAntecedentId, +// @RequestParam Optional secondAntecedentValueId, +// @RequestParam Optional secondAntecedentId, +// @RequestParam Optional consequent){ +// AddRuleForm addRuleForm = new AddRuleForm(); +// addRuleForm.setFirstAntecedentId(firstAntecedentValueId.); +// addRuleForm.setFirstAntecedentValueId(); +// addRuleForm.setSecondAntecedentId(); +// addRuleForm.setSecondAntecedentValueId(); +// addRuleForm.setConsequent(); +// } } diff --git a/src/main/java/ru/ulstu/extractor/rule/service/RuleService.java b/src/main/java/ru/ulstu/extractor/rule/service/RuleService.java index 63413b9..71fd09a 100644 --- a/src/main/java/ru/ulstu/extractor/rule/service/RuleService.java +++ b/src/main/java/ru/ulstu/extractor/rule/service/RuleService.java @@ -34,4 +34,8 @@ public class RuleService { TimeSeriesType.valueOf(addRuleForm.getSecondAntecedentId()), addRuleForm.getConsequent())); } + + public Rule findById(Integer id) { + return ruleRepository.getOne(id); + } } diff --git a/src/main/resources/templates/listRules.html b/src/main/resources/templates/listRules.html index 1f71b46..d6f3ea1 100644 --- a/src/main/resources/templates/listRules.html +++ b/src/main/resources/templates/listRules.html @@ -10,7 +10,7 @@ - + @@ -23,11 +23,20 @@ + +
ПравилаПравила
то + + + + + + + +
- + Добавить правило -- 2.25.1 From 281d24bde21d22debf06b47572f1569982af0cc8 Mon Sep 17 00:00:00 2001 From: Anton Romanov Date: Fri, 21 Oct 2022 23:20:48 +0400 Subject: [PATCH 2/4] #76 -- fix edit --- .../rule/controller/RuleController.java | 22 ++++++++++++----- .../extractor/rule/model/AddRuleForm.java | 8 +++++++ src/main/resources/templates/addRule.html | 12 +++++----- .../java/ru/ulstu/TimeSeriesMapperTest.java | 24 +++++++++---------- 4 files changed, 42 insertions(+), 24 deletions(-) diff --git a/src/main/java/ru/ulstu/extractor/rule/controller/RuleController.java b/src/main/java/ru/ulstu/extractor/rule/controller/RuleController.java index c222808..abd9b8f 100644 --- a/src/main/java/ru/ulstu/extractor/rule/controller/RuleController.java +++ b/src/main/java/ru/ulstu/extractor/rule/controller/RuleController.java @@ -2,7 +2,11 @@ package ru.ulstu.extractor.rule.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import ru.ulstu.extractor.rule.model.AddRuleForm; import ru.ulstu.extractor.rule.repository.RuleRepository; @@ -11,7 +15,9 @@ import ru.ulstu.extractor.rule.service.RuleService; import ru.ulstu.extractor.ts.service.TimeSeriesService; import springfox.documentation.annotations.ApiIgnore; -import static ru.ulstu.extractor.core.Route.*; +import static ru.ulstu.extractor.core.Route.ADD_RULE; +import static ru.ulstu.extractor.core.Route.DELETE_RULE; +import static ru.ulstu.extractor.core.Route.LIST_RULE; @Controller @ApiIgnore @@ -37,10 +43,15 @@ public class RuleController { } @GetMapping(ADD_RULE) - public String getAntecedent(Model model) { + public String getAntecedent(Model model, @RequestParam(required = false) Integer ruleId) { model.addAttribute("antecedentValues", antecedentValueService.getList()); model.addAttribute("antecedents", timeSeriesService.getAllTimeSeriesTypes()); - model.addAttribute("addRuleForm", new AddRuleForm()); + model.addAttribute("addRuleForm", + ruleId != null + ? new AddRuleForm(ruleRepository + .findById(ruleId) + .orElseThrow(() -> new RuntimeException("Правило не найдено"))) + : new AddRuleForm()); return ADD_RULE; } @@ -51,8 +62,7 @@ public class RuleController { } @GetMapping(DELETE_RULE) - public String deleteRule(Model model, - @RequestParam Integer id) { + public String deleteRule(Model model, @RequestParam Integer id) { ruleRepository.deleteById(id); model.addAttribute("rule", ruleRepository.findAll()); return "redirect:/" + LIST_RULE; diff --git a/src/main/java/ru/ulstu/extractor/rule/model/AddRuleForm.java b/src/main/java/ru/ulstu/extractor/rule/model/AddRuleForm.java index 3b64bdd..4878b30 100644 --- a/src/main/java/ru/ulstu/extractor/rule/model/AddRuleForm.java +++ b/src/main/java/ru/ulstu/extractor/rule/model/AddRuleForm.java @@ -10,6 +10,14 @@ public class AddRuleForm { public AddRuleForm() { } + public AddRuleForm(Rule rule) { + this.firstAntecedentId = rule.getFirstAntecedent().name(); + this.secondAntecedentId = rule.getSecondAntecedent().name(); + this.firstAntecedentValueId = rule.getFirstAntecedentValue().getId(); + this.secondAntecedentValueId = rule.getSecondAntecedentValue().getId(); + this.consequent = rule.getConsequent(); + } + public Integer getFirstAntecedentValueId() { return firstAntecedentValueId; } diff --git a/src/main/resources/templates/addRule.html b/src/main/resources/templates/addRule.html index 191e07a..fd5b269 100644 --- a/src/main/resources/templates/addRule.html +++ b/src/main/resources/templates/addRule.html @@ -13,7 +13,7 @@ Если
-