Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 9714fae3

Přidáno uživatelem Michal Linha před asi 4 roky(ů)

re #7981 parameter order in configuration implementation finished

Zobrazit rozdíly:

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