From a3e59c6461090e1841f65023548feb981d80754a Mon Sep 17 00:00:00 2001 From: Anton Romanov Date: Tue, 4 Mar 2025 13:50:37 +0400 Subject: [PATCH] #23 -- Add run project controller methods --- .../controller/ProjectRunController.java | 17 +++++++++++++---- .../ulstu/fc/project/model/RunProjectForm.java | 11 +++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/main/java/ru/ulstu/fc/project/controller/ProjectRunController.java b/src/main/java/ru/ulstu/fc/project/controller/ProjectRunController.java index 03c740a..e07f0ec 100644 --- a/src/main/java/ru/ulstu/fc/project/controller/ProjectRunController.java +++ b/src/main/java/ru/ulstu/fc/project/controller/ProjectRunController.java @@ -6,11 +6,12 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import ru.ulstu.fc.project.model.RunProjectForm; -import ru.ulstu.fc.project.service.ProjectRulesService; import ru.ulstu.fc.project.service.ProjectService; import ru.ulstu.fc.project.service.ProjectVariableService; +import ru.ulstu.fc.rule.service.FuzzyInferenceService; import ru.ulstu.fc.user.model.UserRoleConstants; @Controller @@ -19,14 +20,14 @@ import ru.ulstu.fc.user.model.UserRoleConstants; @Secured({UserRoleConstants.ADMIN}) public class ProjectRunController { private final ProjectService projectService; - private final ProjectRulesService projectRulesService; + private final FuzzyInferenceService fuzzyInferenceService; private final ProjectVariableService projectVariableService; public ProjectRunController(ProjectService projectService, - ProjectRulesService projectRulesService, + FuzzyInferenceService fuzzyInferenceService, ProjectVariableService projectVariableService) { this.projectService = projectService; - this.projectRulesService = projectRulesService; + this.fuzzyInferenceService = fuzzyInferenceService; this.projectVariableService = projectVariableService; } @@ -37,4 +38,12 @@ public class ProjectRunController { model.addAttribute("variables", projectVariableService.getInputByProjectId(projectId)); return "project/init"; } + + @PostMapping("run") + public String run(RunProjectForm runProjectForm, Model model) { + model.addAttribute("response", + fuzzyInferenceService.getFuzzyInference( + runProjectForm.getVariableValues())); + return "project/result"; + } } diff --git a/src/main/java/ru/ulstu/fc/project/model/RunProjectForm.java b/src/main/java/ru/ulstu/fc/project/model/RunProjectForm.java index 1910fe8..e60c094 100644 --- a/src/main/java/ru/ulstu/fc/project/model/RunProjectForm.java +++ b/src/main/java/ru/ulstu/fc/project/model/RunProjectForm.java @@ -1,7 +1,10 @@ package ru.ulstu.fc.project.model; +import java.util.Map; + public class RunProjectForm { private Integer projectId; + private Map variableValues; public Integer getProjectId() { return projectId; @@ -10,4 +13,12 @@ public class RunProjectForm { public void setProjectId(Integer projectId) { this.projectId = projectId; } + + public Map getVariableValues() { + return variableValues; + } + + public void setVariableValues(Map variableValues) { + this.variableValues = variableValues; + } }