Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 15c7afbe

Přidáno uživatelem Vojtěch Danišík před téměř 4 roky(ů)

re #8153 Assembly -> Configuration synchronization

Zobrazit rozdíly:

src/main/java/vldc/aswi/service/parameter/ParameterManagerImpl.java
102 102
     * @param parameterValuesList - Parameter values.
103 103
     */
104 104
    @Override
105
    public void addParameters(Long assemblyId, List<Parameter> parameterValuesList) {
105
    public ArrayList<Parameter> addParameters(Long assemblyId, List<Parameter> parameterValuesList) {
106 106
        Assembly assembly = this.assemblyRepository.getById(assemblyId);
107
        if (parameterValuesList == null) return;
107
        ArrayList<Parameter> newParameters = new ArrayList<>();
108 108

  
109 109
        for (Parameter parameterValues : parameterValuesList) {
110 110
            // Create new parameter and assign him all values.
......
159 159
            parameter.setOperators(operatorList);
160 160

  
161 161
            // Insert parameter into database.
162
            this.parameterRepository.save(parameter);
162
            Parameter newParameter = this.parameterRepository.save(parameter);
163
            newParameters.add(newParameter);
163 164
        }
165
        return newParameters;
164 166
    }
165 167

  
166 168
    /**
......
193 195
            newAssemblyParametersUpdated.retainAll(currentAssemblyParametersUpdated);
194 196

  
195 197
            // If no parameter has been deleted or added, then updating is unnecessary.
196
            if (newAssemblyParametersNew.size() == 0 && currentAssemblyParametersDeleted.size() == 0 && newAssemblyParametersUpdated.size() == 0)
198
            if (newAssemblyParametersNew.size() == 0 && currentAssemblyParametersDeleted.size() == 0 && newAssemblyParametersUpdated.size() == 0) {
197 199
                return;
200
            }
198 201

  
199
            // Remove deleted parameters.
200
            for (Parameter parameterWithValues : currentAssemblyParametersDeleted) {
201
                deleteParameter(parameterWithValues.getId());
202
            if (currentAssemblyParametersDeleted.size() > 0) {
203
                // Remove deleted parameters.
204
                for (Parameter parameterWithValues : currentAssemblyParametersDeleted) {
205
                    deleteParameter(parameterWithValues.getId());
206
                }
202 207
            }
203 208

  
204
            // Update rest parameters.
205
            updateParameters(newAssemblyParametersUpdated);
209
            if (newAssemblyParametersUpdated.size() > 0) {
210
                // Update rest parameters.
211
                updateParameters(newAssemblyParametersUpdated);
212
            }
213

  
214
            if (newAssemblyParametersNew.size() > 0) {
215
                // Add new parameters.
216
                ArrayList<Parameter> newParameters = addParameters(assemblyId, newAssemblyParametersNew);
217

  
218
                // Create new parameters in configuration in all configurations, which are created from current assembly.
219
                this.parameterInConfigurationManager.addParameterIntoConfigurations(assemblyId, newParameters);
220
            }
206 221

  
207
            // Add new parameters
208
            addParameters(assemblyId, newAssemblyParametersNew);
222
            List<Parameter> newParameters = this.parameterRepository.getByAssemblyId(assemblyId);
223
            assembly.setParameters(newParameters);
209 224

  
210
            assembly.setParameters(this.parameterRepository.getByAssemblyId(assemblyId));
225
            this.parameterInConfigurationManager.updateParameterInConfigurationsOrder(newParameters);
211 226
        }
212 227
    }
213 228

  

Také k dispozici: Unified diff