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.CaracteristicMap;
28 import fr.ifremer.tutti.persistence.entities.data.Cruise;
29 import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
30 import fr.ifremer.tutti.persistence.entities.referential.Gear;
31 import fr.ifremer.tutti.service.csv.CsvProducer;
32 import fr.ifremer.tutti.service.genericformat.csv.GearCaracteristicModel;
33 import fr.ifremer.tutti.service.genericformat.csv.GearCaracteristicRow;
34
35 import java.io.Serializable;
36 import java.nio.file.Path;
37 import java.util.ArrayList;
38 import java.util.List;
39 import java.util.Map;
40
41
42
43
44
45
46
47 public class CsvProducerForGearCaracteristics extends CsvProducer<GearCaracteristicRow, GearCaracteristicModel> {
48
49 public CsvProducerForGearCaracteristics(Path file, GearCaracteristicModel model) {
50 super(file, model);
51 }
52
53 public List<GearCaracteristicRow> getDataToExport(Cruise cruise, Gear gear) {
54
55 List<GearCaracteristicRow> rows = new ArrayList<>();
56 CaracteristicMap caracteristics = gear.getCaracteristics();
57 if (caracteristics != null) {
58 for (Map.Entry<Caracteristic, Serializable> entry : caracteristics.entrySet()) {
59 Caracteristic caracteristic = entry.getKey();
60 Serializable value = entry.getValue();
61 GearCaracteristicRow row = new GearCaracteristicRow();
62 row.setCruise(cruise);
63 row.setGear(gear);
64 row.setRankOrder(gear.getRankOrder());
65 row.setCaracteristic(caracteristic);
66 row.setValue(value);
67 rows.add(row);
68 }
69 }
70
71 return rows;
72
73 }
74
75 }