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