Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 26c4caa0

Přidáno uživatelem Vojtěch Danišík před více než 4 roky(ů)

re #8101 Bad saving changes for configuration.

Zobrazit rozdíly:

src/main/java/vldc/aswi/service/SqlQueryManager.java
1 1
package vldc.aswi.service;
2 2

  
3
import vldc.aswi.domain.Assembly;
4
import vldc.aswi.domain.Configuration;
3
import vldc.aswi.domain.parameter.ParameterInConfiguration;
5 4
import vldc.aswi.model.table.contingencyTable.ContingencyTableRow;
6 5

  
7 6
import java.util.List;
......
13 12

  
14 13
    /**
15 14
     * Get list of  contingencyTableRow.
16
     * @param configuration - configuration from which table will be created.
15
     * @param sqlQuery
16
     * @param parameterInConfigurations
17 17
     * @return List of contingencyTableRow.
18 18
     */
19
    List<ContingencyTableRow> getContingencyTableRow(Configuration configuration);
19
    List<ContingencyTableRow> getContingencyTableRow(String sqlQuery, List<ParameterInConfiguration> parameterInConfigurations);
20 20

  
21 21
    /**
22 22
     * Validate given SQL query.
src/main/java/vldc/aswi/service/SqlQueryManagerImpl.java
28 28
    /** Autowired databaseInterface component. */
29 29
    @Autowired
30 30
    private DatabaseInterface databaseInterface;
31

  
31
    
32 32
    /**
33 33
     * Get list of  contingencyTableRow.
34
     * @param configuration - configuration from which table will be created.
34
     * @param sqlQuery
35
     * @param parameterInConfigurations
35 36
     * @return List of contingencyTableRow.
36 37
     */
37 38
    @Override
38
    public List<ContingencyTableRow> getContingencyTableRow(Configuration configuration) {
39
    public List<ContingencyTableRow> getContingencyTableRow(String sqlQuery, List<ParameterInConfiguration> parameterInConfigurations) {
39 40
        long startTime = System.nanoTime();
40
        Map<String, TableColumn> tableColumns = this.databaseInterface.executeQueryAndReturnTableColumns(
41
                configuration.getAssembly().getSQLQuery()
42
        );
41
        Map<String, TableColumn> tableColumns = this.databaseInterface.executeQueryAndReturnTableColumns(sqlQuery);
43 42
        long stopTime = System.nanoTime();
44 43
        System.out.println("Select:" + TimeUnit.MILLISECONDS.convert((stopTime - startTime), TimeUnit.NANOSECONDS));
45 44
        List<NameUserName> rowNames = new ArrayList<>();
46 45
        List<NameUserName> columnNames = new ArrayList<>();
47 46
        List<ValueFunction> valueFunctions = new ArrayList<>();
48 47

  
48
        // Create a copy of list.
49
        List<ParameterInConfiguration> copiedParametersInConfiguration = new ArrayList<>(parameterInConfigurations);
50

  
49 51
        // sort parameters in configuration to have them in order set by user
50
        Collections.sort(configuration.getParametersInConfiguration());
52
        Collections.sort(copiedParametersInConfiguration);
51 53

  
52 54
        // TODO: 28.05.2020 map would be better
53
        for(ParameterInConfiguration parameterInConfiguration : configuration.getParametersInConfiguration()) {
55
        for(ParameterInConfiguration parameterInConfiguration : copiedParametersInConfiguration) {
54 56
            if (parameterInConfiguration.getLocation() != null && parameterInConfiguration.getLocation().getName().equals("Řádek")) {
55 57
                rowNames.add(new NameUserName(parameterInConfiguration.getParameter().getNameOfSelect().toUpperCase(),
56 58
                        parameterInConfiguration.getColumnName()));
src/main/java/vldc/aswi/web/controller/AssemblyController.java
15 15
import vldc.aswi.domain.*;
16 16
import vldc.aswi.domain.parameter.Parameter;
17 17
import vldc.aswi.domain.parameter.ParameterInConfiguration;
18
import vldc.aswi.model.table.contingencyTable.ContingencyTableRow;
18 19
import vldc.aswi.service.*;
19 20
import vldc.aswi.service.parameter.ParameterManager;
20 21
import vldc.aswi.service.parameter.ParameterTypeManager;
......
25 26
import javax.validation.Valid;
26 27
import java.util.ArrayList;
27 28
import java.util.Comparator;
29
import java.util.List;
28 30
import java.util.Set;
29 31
import java.util.stream.Collectors;
30 32

  
......
186 188

  
187 189
            System.out.println("Generuj tabulku");
188 190
            prepareForTable(newConfiguration);
191

  
192
            List<ContingencyTableRow> rows = this.sqlQueryManager.getContingencyTableRow(newConfiguration.getAssembly().getSQLQuery(),
193
                    newConfiguration.getParametersInConfiguration());
194

  
189 195
            System.out.println("Generuj tabulku");
190 196
            ModelMap modelMap = modelAndView.getModelMap();
191 197
            modelMap.addAttribute("configurationID", id);
192
            modelMap.addAttribute("contingencyTableRows", this.sqlQueryManager.getContingencyTableRow(newConfiguration));
198
            modelMap.addAttribute("contingencyTableRows", rows);
193 199
            Comparator<ParameterInConfiguration> comparator = Comparator.comparingInt(o -> o.getParameter().getParameterOrder());
194 200
            initializeFields(newConfiguration);
195 201

  
src/main/java/vldc/aswi/web/controller/ConfigurationController.java
12 12
import vldc.aswi.domain.Location;
13 13
import vldc.aswi.domain.Operator;
14 14
import vldc.aswi.domain.parameter.ParameterInConfiguration;
15
import vldc.aswi.model.table.contingencyTable.ContingencyTableRow;
15 16
import vldc.aswi.service.AssemblyManager;
16 17
import vldc.aswi.service.ConfigurationManager;
17 18
import vldc.aswi.service.LocationManager;
......
119 120
        {
120 121
            prepareForTable(newConfiguration);
121 122
            System.out.println("Generuj tabulku");
123

  
124
            List<ContingencyTableRow> rows = this.sqlQueryManager.getContingencyTableRow(newConfiguration.getAssembly().getSQLQuery(),
125
                    newConfiguration.getParametersInConfiguration());
126

  
122 127
            modelMap.addAttribute("configurationID", id);
123
            modelMap.addAttribute("contingencyTableRows", this.sqlQueryManager.getContingencyTableRow(newConfiguration));
128
            modelMap.addAttribute("contingencyTableRows", rows);
124 129
            Comparator<ParameterInConfiguration> comparator = Comparator.comparingInt(o -> o.getParameter().getParameterOrder());
125 130
            initializeFields(newConfiguration);
126 131
            modelMap.addAttribute("configuration", newConfiguration);

Také k dispozici: Unified diff