Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 1b4cb4c5

Přidáno uživatelem Ondřej Váně před téměř 4 roky(ů)

#4 Allow reparameterization in AP detail

- added form to the AP detail page for editing treshold values
- added method to the controller for saving new values

Zobrazit rozdíly:

src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/controller/AppController.java
12 12
import org.springframework.stereotype.Controller;
13 13
import org.springframework.ui.Model;
14 14
import org.springframework.web.bind.annotation.*;
15
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
15 16

  
16 17
import java.util.List;
17 18

  
......
104 105

  
105 106
        return "configuration";
106 107
    }
108

  
109
    @PostMapping("/anti-patterns/{id}")
110
    public String antiPatternsPost(Model model,
111
                                   @PathVariable Long id,
112
                                   @RequestParam(value = "configValues", required = false) String[] configValues,
113
                                   @RequestParam(value = "configNames", required = false) String[] configNames,
114
                                   RedirectAttributes redirectAttrs) {
115

  
116
        if (antiPatternService.saveNewConfiguration(configNames, configValues)) {
117
            redirectAttrs.addFlashAttribute("successMessage", "All threshold values has been successfully saved.");
118
        } else {
119
            redirectAttrs.addFlashAttribute("errorMessage", "One or more configuration values are not in correct format");
120
        }
121

  
122
        model.addAttribute("antiPatterns", antiPatternService.antiPatternToModel(antiPatternService.getAntiPatternById(id)));
123

  
124
        return "redirect:/anti-patterns/{id}";
125
    }
126

  
127

  
107 128
}
src/main/webapp/WEB-INF/templates/anti-pattern.html
23 23
<div th:replace="fragments/navbar :: navBar"></div>
24 24
<!-- ./Navigation bar imported -->
25 25

  
26
<!-- Container for show error message -->
27
<div class="container">
28
    <div th:if="${errorMessage}" th:text="${errorMessage}" class="alert alert-danger" role="alert">
29
    </div>
30
</div>
31
<!-- ./Container for show error message -->
32
<!-- Container for show success message -->
33
<div class="container">
34
    <div th:if="${successMessage}" th:text="${successMessage}" class="alert alert-success" role="alert">
35
    </div>
36
</div>
37
<!-- ./Container for show success message -->
38

  
26 39
<!-- Card for anti pattern details-->
27 40
<div class="card">
28 41
    <!-- Card header -->
......
68 81

  
69 82
        <!-- Anti pattern configuration form -->
70 83
        <h5>Anti Pattern configurations</h5>
71
        <div th:each="config : ${antiPattern.configurations}" class="form-group">
72
            <label th:text="${config.value.printName} + ':'" th:for="${config.value.name}"></label>
73
            <input disabled type="text" class="form-control" th:id="${config.value.name}"
74
                   th:value="${config.value.value}">
75
            <small th:text="${config.value.description}" th:value="${config.value.name}"
76
                   class="form-text text-muted"></small>
77
        </div>
78
        <!-- ./Anti pattern configuration form -->
84

  
85
        <!-- Form for configuration values -->
86
        <form action="#" th:action="@{/anti-patterns/} + ${antiPattern.id}" th:object="${antiPattern}" method="post">
87
            <div th:each="config : ${antiPattern.configurations}" class="form-group">
88
                <label th:text="${config.value.printName} + ':'"
89
                       th:for="${config.value.name}"></label>
90
                <input th:value="${config.value.value}" class="form-control" th:id="${config.value.name}"
91
                       name="configValues">
92
                <input th:value="${config.value.name}" style="display: none" class="form-control"
93
                       name="configNames">
94
                <small th:text="${config.value.description}" th:value="${config.value.name}"
95
                       class="form-text text-muted"></small>
96
            </div>
97
            <div class="analyze-button-container">
98
                <button type="submit" class="btn btn-primary btn-lg btn-block">Save configuration</button>
99
            </div>
100
            <!-- ./Anti pattern configuration form -->
101
        </form>
102
        <!-- ./Form for configuration values -->
79 103
    </div>
80 104
</div>
81 105
<!-- ./Card for anti pattern details-->

Také k dispozici: Unified diff