1 package fr.ifremer.tutti.service.genericformat.consumer;
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.referential.Caracteristic;
28 import fr.ifremer.tutti.persistence.entities.referential.Gear;
29 import fr.ifremer.tutti.service.csv.CaracteristicValueParseException;
30 import fr.ifremer.tutti.service.csv.CsvComsumer;
31 import fr.ifremer.tutti.service.genericformat.GenericFormatContextSupport;
32 import fr.ifremer.tutti.service.genericformat.GenericFormatImportCruiseContext;
33 import fr.ifremer.tutti.service.genericformat.GenericFormatImportEntityParserFactory;
34 import fr.ifremer.tutti.service.genericformat.GenericFormatImportValidationHelper;
35 import fr.ifremer.tutti.service.genericformat.csv.GearCaracteristicModel;
36 import fr.ifremer.tutti.service.genericformat.csv.GearCaracteristicRow;
37 import org.nuiton.csv.ImportRow;
38
39 import java.io.Serializable;
40 import java.nio.file.Path;
41
42
43
44
45
46
47
48 public class CsvConsumerForGearCaracteristic extends CsvComsumer<GearCaracteristicRow, GearCaracteristicModel> {
49
50 public CsvConsumerForGearCaracteristic(Path file, char separator, GenericFormatImportEntityParserFactory parserFactory, boolean reportError) {
51 super(file, GearCaracteristicModel.forImport(separator, parserFactory), reportError);
52 }
53
54 public GenericFormatImportCruiseContext validateRow(ImportRow<GearCaracteristicRow> row, GenericFormatContextSupport importContext) {
55
56
57 GenericFormatImportValidationHelper validationHelper = importContext.getValidationHelper();
58
59 GenericFormatImportCruiseContext cruiseContext = validationHelper.getCruise(this, row, importContext);
60
61 if (cruiseContext != null) {
62
63 GearCaracteristicRow bean = row.getBean();
64
65 Gear gear = bean.getGear();
66 short rankOrder = bean.getRankOrder();
67
68 Gear cruiseGear = validationHelper.getGear(this, importContext, row, gear, rankOrder);
69 if (cruiseGear != null) {
70 bean.setGear(cruiseGear);
71 }
72
73
74 Caracteristic caracteristic = bean.getCaracteristic();
75 if (caracteristic == null) {
76
77 }
78
79
80 if (bean.getValue() == null) {
81
82 }
83
84
85 String value = (String) bean.getValue();
86 try {
87 Serializable serializable = importContext.parseCaracteristicValue(caracteristic, value);
88 bean.setValue(serializable);
89 } catch (CaracteristicValueParseException e) {
90 addCheckError(row, e);
91 }
92
93 }
94
95 reportError(row);
96
97 return cruiseContext;
98
99 }
100
101 public void prepareRowForPersist(GenericFormatImportCruiseContext cruiseContext, ImportRow<GearCaracteristicRow> row) {
102
103 GearCaracteristicRow bean = row.getBean();
104
105 cruiseContext.addGearCaracteristic(bean.getGear(), bean.getCaracteristic(), bean.getValue());
106
107 }
108
109 }