Revision e9c37045
Added by Patrick Plitzner almost 5 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrixPart.java | ||
---|---|---|
15 | 15 |
import java.util.List; |
16 | 16 |
import java.util.Map; |
17 | 17 |
import java.util.UUID; |
18 |
import java.util.stream.Collectors; |
|
18 | 19 |
|
19 | 20 |
import javax.annotation.PostConstruct; |
20 | 21 |
import javax.annotation.PreDestroy; |
... | ... | |
40 | 41 |
import eu.etaxonomy.cdm.api.service.IDescriptionService; |
41 | 42 |
import eu.etaxonomy.cdm.api.service.IDescriptiveDataSetService; |
42 | 43 |
import eu.etaxonomy.cdm.api.service.dto.RowWrapperDTO; |
44 |
import eu.etaxonomy.cdm.model.description.DescriptionBase; |
|
43 | 45 |
import eu.etaxonomy.cdm.model.description.DescriptiveDataSet; |
44 | 46 |
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; |
45 | 47 |
import eu.etaxonomy.cdm.model.term.TermType; |
... | ... | |
170 | 172 |
@Override |
171 | 173 |
public void save(IProgressMonitor monitor) { |
172 | 174 |
//save descriptions |
173 |
matrix.getDescriptions().stream() |
|
175 |
List<DescriptionBase> descriptions = matrix.getDescriptions().stream()
|
|
174 | 176 |
.filter(o->o instanceof RowWrapperDTO) |
175 |
.forEach(wrapper->save((RowWrapperDTO)wrapper)); |
|
177 |
.map(o->((RowWrapperDTO)o).getDescription()) |
|
178 |
.collect(Collectors.toList()); |
|
179 |
CdmStore.getService(IDescriptionService.class).merge(descriptions); |
|
176 | 180 |
|
177 | 181 |
//save data set |
178 | 182 |
CdmStore.getService(IDescriptiveDataSetService.class).merge(descriptiveDataSet, true); |
... | ... | |
181 | 185 |
dirty.setDirty(false); |
182 | 186 |
} |
183 | 187 |
|
184 |
private void save(RowWrapperDTO wrapper){ |
|
185 |
CdmStore.getService(IDescriptionService.class).merge(wrapper.getDescription()); |
|
186 |
} |
|
187 |
|
|
188 | 188 |
@Override |
189 | 189 |
public boolean isDirty() { |
190 | 190 |
return dirty.isDirty(); |
Also available in: Unified diff
ref #7589 Save matrix rows in one service call