Projekt

Obecné

Profil

« Předchozí | Další » 

Revize ba8b306a

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

re #7886 Assembly validator in progress (validating assembly SQLQuery + locations for existing assembly, not tested for new assembly).
Added comments.
Removing unused imports.

Zobrazit rozdíly:

src/main/java/vldc/aswi/service/parameter/ParameterValueManagerImpl.java
15 15
import java.util.LinkedList;
16 16
import java.util.List;
17 17

  
18
/**
19
 * Manager for ParameterValue.
20
 */
18 21
@Service
19 22
@Slf4j
20 23
public class ParameterValueManagerImpl implements ParameterValueManager {
......
52 55
        this.parameterValueRepository.findAll().forEach(retVal::add);
53 56
        return retVal;
54 57
    }
55

  
56

  
57
    @Override
58
    public void createParameterValues(Long parameterId, List<ParameterValue> parameterValues) {
59
        Parameter parameter = this.parameterRepository.getById(parameterId);
60

  
61
        for (ParameterValue newParameterValue : parameterValues) {
62
            ParameterValue parameterValue = new ParameterValue();
63
            parameterValue.setValue(newParameterValue.getValue());
64
            parameterValue.setParameter(parameter);
65

  
66
            this.parameterValueRepository.save(parameterValue);
67
        }
68
    }
69

  
70
    @Override
71
    public void updateParameterValues(Long parameterId, List<ParameterValue> newParameterValues) {
72
        Parameter parameter = this.parameterRepository.getById(parameterId);
73
        List<ParameterValue> currentParameterValues = parameter.getParameterValues();
74

  
75
        List<ParameterValue> currentParameterValuesNew = new LinkedList<>(currentParameterValues);
76
        List<ParameterValue> newParameterValuesNew = new LinkedList<>(newParameterValues);
77
        newParameterValuesNew.removeAll(currentParameterValuesNew);
78

  
79
        List<ParameterValue> currentParameterValuesDeleted = new LinkedList<>(currentParameterValues);
80
        List<ParameterValue> newParameterValuesDeleted = new LinkedList<>(newParameterValues);
81
        currentParameterValuesDeleted.removeAll(newParameterValuesDeleted);
82

  
83
        List<ParameterValue> currentParameterValuesUpdated = new LinkedList<>(currentParameterValues);
84
        List<ParameterValue> newParameterValuesUpdated = new LinkedList<>(newParameterValues);
85
        newParameterValuesUpdated.retainAll(currentParameterValuesUpdated);
86

  
87
        if (newParameterValuesNew.size() == 0 && currentParameterValuesDeleted.size() == 0 && newParameterValuesUpdated.size() == currentParameterValues.size()) return;
88

  
89
        for (ParameterValue parameterValue : currentParameterValuesDeleted) {
90
            this.parameterValueRepository.delete(parameterValue);
91
        }
92

  
93
        updateParameterValues(newParameterValuesUpdated);
94

  
95
        addParameterValues(parameterId, newParameterValuesNew);
96
    }
97

  
98
    private void updateParameterValues(List<ParameterValue> updatedParameterValuesList) {
99
        for (ParameterValue parameterValueValues : updatedParameterValuesList) {
100
            ParameterValue parameterValue = this.parameterValueRepository.getById(parameterValueValues.getId());
101
            parameterValue.setValue(parameterValueValues.getValue());
102

  
103
            this.parameterValueRepository.save(parameterValue);
104
        }
105
    }
106

  
107
    @Override
108
    public void addParameterValues(Long parameterId, List<ParameterValue> newParameterValuesNew) {
109
        Parameter parameter = this.parameterRepository.getById(parameterId);
110

  
111
        for (ParameterValue parameterValueValues : newParameterValuesNew) {
112
            ParameterValue parameterValue = new ParameterValue();
113
            parameterValue.setValue(parameterValueValues.getValue());
114
            parameterValue.setParameter(parameter);
115

  
116
            this.parameterValueRepository.save(parameterValue);
117
        }
118
    }
119

  
120 58
}

Také k dispozici: Unified diff