1 package fr.ifremer.tutti.service.genericformat.producer;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 import fr.ifremer.tutti.persistence.entities.data.BatchContainer;
28 import fr.ifremer.tutti.persistence.entities.data.MarineLitterBatch;
29 import fr.ifremer.tutti.service.csv.CsvProducer;
30 import fr.ifremer.tutti.service.genericformat.GenericFormatExportOperationContext;
31 import fr.ifremer.tutti.service.genericformat.csv.MarineLitterModel;
32 import fr.ifremer.tutti.service.genericformat.csv.MarineLitterRow;
33 import org.apache.commons.collections4.CollectionUtils;
34
35 import java.nio.file.Path;
36 import java.util.ArrayList;
37 import java.util.List;
38
39
40
41
42
43
44
45 public class CsvProducerForMarineLitter extends CsvProducer<MarineLitterRow, MarineLitterModel> {
46
47 public CsvProducerForMarineLitter(Path file, MarineLitterModel model) {
48 super(file, model);
49 }
50
51
52 public List<MarineLitterRow> getDataToExport(GenericFormatExportOperationContext operationExportContext) {
53
54 List<MarineLitterRow> rows = new ArrayList<>();
55
56 BatchContainer<MarineLitterBatch> rootMarineLitterBatch = operationExportContext.getRootMarineLitterBatch();
57
58 List<MarineLitterBatch> children = rootMarineLitterBatch.getChildren();
59 if (CollectionUtils.isNotEmpty(children)) {
60 for (MarineLitterBatch child : children) {
61 MarineLitterRow row = new MarineLitterRow();
62 row.setCruise(operationExportContext.getCruise());
63 row.setFishingOperation(operationExportContext.getOperation());
64 row.setMarineLitterBatch(child);
65 rows.add(row);
66 }
67 }
68
69 return rows;
70
71 }
72
73 }