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 @@ Если
-