Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 93fff090

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

re #7886 Adding + Editing parameters in assembly (only logic + pushing into database, which is not tested -> need JS implementation for adding new parameter).
Updated hibernate dialect from oracle 10 to oracle 12c.
Equals method comparing domain by id.

Zobrazit rozdíly:

src/main/java/vldc/aswi/service/parameter/ParameterValueManagerImpl.java
6 6
import org.springframework.context.event.EventListener;
7 7
import org.springframework.core.annotation.Order;
8 8
import org.springframework.stereotype.Service;
9
import vldc.aswi.dao.parameter.ParameterRepository;
9 10
import vldc.aswi.dao.parameter.ParameterValueRepository;
11
import vldc.aswi.domain.parameter.Parameter;
10 12
import vldc.aswi.domain.parameter.ParameterValue;
11 13

  
12 14
import javax.transaction.Transactional;
......
21 23
    @Autowired
22 24
    private ParameterValueRepository parameterValueRepository;
23 25

  
26
    @Autowired
27
    private ParameterRepository parameterRepository;
28

  
24 29
    /**
25 30
     * Initialization setup for parameter value manager. Check if parameter value repository contains
26 31
     * records and if not, initialize default values.
......
47 52
        this.parameterValueRepository.findAll().forEach(retVal::add);
48 53
        return retVal;
49 54
    }
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

  
50 120
}

Také k dispozici: Unified diff