Revize 9714fae3
Přidáno uživatelem Michal Linha před asi 4 roky(ů)
src/main/java/vldc/aswi/domain/parameter/ParameterInConfiguration.java | ||
---|---|---|
17 | 17 |
@EqualsAndHashCode(callSuper = true) |
18 | 18 |
@NoArgsConstructor |
19 | 19 |
@OperatorValueConstraint |
20 |
public class ParameterInConfiguration extends EntityParent { |
|
20 |
public class ParameterInConfiguration extends EntityParent implements Comparable<ParameterInConfiguration> {
|
|
21 | 21 |
|
22 | 22 |
/** Specific configuration in which is this parameterConfiguration presented. */ |
23 | 23 |
@ManyToOne(fetch = FetchType.LAZY) |
... | ... | |
100 | 100 |
functions.remove(function); |
101 | 101 |
function.getParametersInConfigurations().remove(this); |
102 | 102 |
} |
103 |
|
|
104 |
/** |
|
105 |
* Compare two parameters in configuration by parameterOrder from 0 to X. |
|
106 |
* @param parameterInConfiguration - Compared parameter in configuration. |
|
107 |
* @return difference between orders |
|
108 |
*/ |
|
109 |
@Override |
|
110 |
public int compareTo(ParameterInConfiguration parameterInConfiguration) { |
|
111 |
return (this.getParameterOrder() - parameterInConfiguration.getParameterOrder()); |
|
112 |
} |
|
103 | 113 |
} |
src/main/java/vldc/aswi/service/ConfigurationManagerImpl.java | ||
---|---|---|
171 | 171 |
ParameterInConfiguration parameterInConfiguration = new ParameterInConfiguration(); |
172 | 172 |
parameterInConfiguration.setParameter(assembly.getParameters().get(i)); |
173 | 173 |
parameterInConfiguration.setConfiguration(savedConfiguration); |
174 |
parameterInConfiguration.setParameterOrder(newConfiguration.getParametersInConfiguration().get(i).getParameterOrder()); |
|
174 | 175 |
parameterInConfiguration.setOperatorValue(newConfiguration.getParametersInConfiguration().get(i).getOperatorValue()); |
175 | 176 |
parameterInConfiguration.setColumnName(assembly.getParameters().get(i).getName()); |
176 | 177 |
if(newConfiguration.getParametersInConfiguration().get(i).getColumnName() != null && |
... | ... | |
213 | 214 |
|
214 | 215 |
for(int i = 0; i < configuration.getParametersInConfiguration().size(); i++) { |
215 | 216 |
ParameterInConfiguration parameterInConfiguration = configuration.getParametersInConfiguration().get(i); |
217 |
parameterInConfiguration.setParameterOrder(newConfiguration.getParametersInConfiguration().get(i).getParameterOrder()); |
|
216 | 218 |
parameterInConfiguration.setOperatorValue(newConfiguration.getParametersInConfiguration().get(i).getOperatorValue()); |
217 | 219 |
if(newConfiguration.getParametersInConfiguration().get(i).getColumnName() != null && |
218 | 220 |
!newConfiguration.getParametersInConfiguration().get(i).getColumnName().equals("")) { |
src/main/java/vldc/aswi/web/controller/AssemblyController.java | ||
---|---|---|
26 | 26 |
|
27 | 27 |
import javax.validation.Valid; |
28 | 28 |
import java.util.ArrayList; |
29 |
import java.util.Comparator; |
|
29 | 30 |
|
30 | 31 |
/** |
31 | 32 |
* Controller for assemblies and configurations |
... | ... | |
114 | 115 |
parameterInConfiguration.setConfiguration(configuration); |
115 | 116 |
parameterInConfiguration.setOperator(new Operator()); |
116 | 117 |
parameterInConfiguration.setLocation(new Location()); |
118 |
parameterInConfiguration.setParameterOrder(parameter.getParameterOrder()); |
|
117 | 119 |
configuration.getParametersInConfiguration().add(parameterInConfiguration); |
118 | 120 |
} |
119 | 121 |
|
122 |
Comparator<ParameterInConfiguration> comparator = Comparator.comparingInt(o -> o.getParameter().getParameterOrder()); |
|
123 |
|
|
120 | 124 |
modelMap.addAttribute("configuration", configuration); |
125 |
modelMap.addAttribute("comparator", comparator); |
|
121 | 126 |
|
122 | 127 |
return modelAndView; |
123 | 128 |
} |
src/main/java/vldc/aswi/web/controller/ConfigurationController.java | ||
---|---|---|
18 | 18 |
|
19 | 19 |
import javax.validation.Valid; |
20 | 20 |
import java.util.ArrayList; |
21 |
import java.util.Comparator; |
|
22 |
import java.util.List; |
|
21 | 23 |
|
22 | 24 |
/** |
23 | 25 |
* Manager for configuration. |
... | ... | |
42 | 44 |
|
43 | 45 |
Configuration configuration = configurationManager.getConfigurationById(Long.parseLong(id)); |
44 | 46 |
|
47 |
List<ParameterInConfiguration> parametersInConfiguration = new ArrayList<>(configuration.getParametersInConfiguration()); |
|
48 |
configuration.setParametersInConfiguration(parametersInConfiguration); |
|
49 |
|
|
45 | 50 |
initializeFields(configuration); |
51 |
Comparator<ParameterInConfiguration> comparator = Comparator.comparingInt(o -> o.getParameter().getParameterOrder()); |
|
46 | 52 |
|
47 | 53 |
modelMap.addAttribute("configuration", configuration); |
54 |
modelMap.addAttribute("comparator", comparator); |
|
48 | 55 |
|
49 | 56 |
return modelAndView; |
50 | 57 |
} |
src/main/webapp/WEB-INF/templates/assembly.html | ||
---|---|---|
45 | 45 |
<input type="text" class="form-control name-input" th:field="*{tableName}" |
46 | 46 |
th:value="${configuration?.tableName}"> |
47 | 47 |
</div> |
48 |
|
|
49 | 48 |
<span>Parametry:</span> |
50 | 49 |
<div class="col-md-9"> |
51 | 50 |
<table class="table"> |
... | ... | |
57 | 56 |
</tr> |
58 | 57 |
</thead> |
59 | 58 |
<tbody> |
60 |
<tr th:each="parameterInConfiguration, itemStat : ${configuration.parametersInConfiguration}" class="parameter-row">
|
|
59 |
<tr th:each="parameterInConfiguration, itemStat : ${#lists.sort(configuration.parametersInConfiguration, comparator)}" class="parameter-row">
|
|
61 | 60 |
<input type="hidden" class="parameterIndex" th:value="${itemStat.index}"> |
62 | 61 |
<td> |
63 | 62 |
<span class="select-text-padding parameter-name" |
... | ... | |
123 | 122 |
</tr> |
124 | 123 |
</thead> |
125 | 124 |
<tbody id="row-wrapper" class="sortable"> |
126 |
<tr th:each="parameterInConfiguration, itemStat : ${configuration.parametersInConfiguration}" th:if="${parameterInConfiguration.location.name?.equals('Řádek')}" class="row-parameter parameter">
|
|
125 |
<tr th:each="parameterInConfiguration, itemStat : ${#lists.sort(configuration.parametersInConfiguration)}" th:if="${parameterInConfiguration.location.name?.equals('Řádek')}" class="row-parameter parameter">
|
|
127 | 126 |
<input type="hidden" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].location.id}" value="1"> |
128 |
<input type="hidden" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].order}">
|
|
127 |
<input type="hidden" class="parametr-order" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].parameterOrder}" th:value="${configuration.parametersInConfiguration[__${itemStat.index}__].parameterOrder}">
|
|
129 | 128 |
<td> |
130 | 129 |
<span class="parameter-name" th:text="${parameterInConfiguration.parameter.name}"></span> |
131 | 130 |
</td> |
... | ... | |
155 | 154 |
</tr> |
156 | 155 |
</thead> |
157 | 156 |
<tbody id="column-wrapper" class="sortable"> |
158 |
<tr th:each="parameterInConfiguration, itemStat : ${configuration.parametersInConfiguration}" th:if="${parameterInConfiguration.location.name?.equals('Sloupec')}" class="column-parameter parameter">
|
|
157 |
<tr th:each="parameterInConfiguration, itemStat : ${#lists.sort(configuration.parametersInConfiguration)}" th:if="${parameterInConfiguration.location.name?.equals('Sloupec')}" class="column-parameter parameter">
|
|
159 | 158 |
<input type="hidden" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].location.id}" value="2"> |
160 |
<input type="hidden" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].order}">
|
|
159 |
<input type="hidden" class="parametr-order" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].parameterOrder}" th:value="${configuration.parametersInConfiguration[__${itemStat.index}__].parameterOrder}">
|
|
161 | 160 |
<td> |
162 | 161 |
<span class="parameter-name" th:text="${parameterInConfiguration.parameter.name}"></span> |
163 | 162 |
</td> |
... | ... | |
186 | 185 |
</tr> |
187 | 186 |
</thead> |
188 | 187 |
<tbody id="value-wrapper"> |
189 |
<tr th:each="parameterInConfiguration, itemStat : ${configuration.parametersInConfiguration}" th:if="${parameterInConfiguration.location.name?.equals('Hodnota')}" class="value-parameter parameter">
|
|
188 |
<tr th:each="parameterInConfiguration, itemStat : ${#lists.sort(configuration.parametersInConfiguration)}" th:if="${parameterInConfiguration.location.name?.equals('Hodnota')}" class="value-parameter parameter">
|
|
190 | 189 |
<input type="hidden" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].location.id}" value="3"> |
191 |
<input type="hidden" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].order}">
|
|
190 |
<input type="hidden" class="parametr-order" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].parameterOrder}" th:value="${configuration.parametersInConfiguration[__${itemStat.index}__].parameterOrder}">
|
|
192 | 191 |
<td> |
193 | 192 |
<span class="parameter-name" th:text="${parameterInConfiguration.parameter.name}"></span> |
194 | 193 |
</td> |
Také k dispozici: Unified diff
re #7981 parameter order in configuration implementation finished