1 package fr.ifremer.tutti.service.genericformat.csv;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import fr.ifremer.tutti.persistence.entities.data.Cruise;
26 import fr.ifremer.tutti.service.csv.AbstractTuttiImportExportModel;
27 import fr.ifremer.tutti.service.csv.TuttiCsvUtil;
28 import fr.ifremer.tutti.service.genericformat.GenericFormatImportEntityParserFactory;
29
30
31
32
33
34
35
36 public class GearCaracteristicModel extends AbstractTuttiImportExportModel<GearCaracteristicRow> {
37
38 public static GearCaracteristicModel forExport(char separator) {
39
40 GearCaracteristicModel exportModel = new GearCaracteristicModel(separator);
41 exportModel.forExport();
42 return exportModel;
43
44 }
45
46 public static GearCaracteristicModel forImport(char separator, GenericFormatImportEntityParserFactory parserFactory) {
47
48 GearCaracteristicModel importModel = new GearCaracteristicModel(separator);
49 importModel.forImport(parserFactory);
50 return importModel;
51
52 }
53
54 @Override
55 public GearCaracteristicRow newEmptyInstance() {
56
57 return GearCaracteristicRow.newEmptyInstance();
58
59 }
60
61 protected GearCaracteristicModel(char separator) {
62 super(separator);
63 }
64
65 protected void forExport() {
66
67 newColumnForExport("Annee", Cruise.PROPERTY_BEGIN_DATE, TuttiCsvUtil.YEAR);
68 newColumnForExport("Serie", Cruise.PROPERTY_PROGRAM, TuttiCsvUtil.PROGRAM_FORMATTER);
69 newColumnForExport("Serie_Partielle", Cruise.PROPERTY_SURVEY_PART);
70
71 newColumnForExport("Engin", GearCaracteristicRow.PROPERTY_GEAR, TuttiCsvUtil.GEAR_FORMATTER);
72 newColumnForExport("Rang_Engin", GearCaracteristicRow.PROPERTY_RANK_ORDER, TuttiCsvUtil.SHORT);
73
74 newColumnForExport("Code_PMFM", GearCaracteristicRow.PROPERTY_CARACTERISTIC, TuttiCsvUtil.CARACTERISTIC_TECHNICAL_FORMATTER);
75 newColumnForExport("Libelle_PMFM", GearCaracteristicRow.PROPERTY_CARACTERISTIC, TuttiCsvUtil.CARACTERISTIC_FORMATTER);
76 newColumnForExport("Valeur", GearCaracteristicRow.PROPERTY_VALUE, TuttiCsvUtil.CARACTERISTIC_VALUE_FORMATTER);
77
78 newColumnForExport("Serie_Id", Cruise.PROPERTY_PROGRAM, TuttiCsvUtil.PROGRAM_TECHNICAL_FORMATTER);
79 newColumnForExport("Engin_Id", GearCaracteristicRow.PROPERTY_GEAR, TuttiCsvUtil.GEAR_TECHNICAL_FORMATTER);
80 newColumnForExport("Valeur_Id", GearCaracteristicRow.PROPERTY_VALUE, TuttiCsvUtil.CARACTERISTIC_VALUE_TECHNICAL_FORMATTER);
81
82 }
83
84 protected void forImport(GenericFormatImportEntityParserFactory parserFactory) {
85
86 newMandatoryColumn("Annee", Cruise.PROPERTY_BEGIN_DATE, TuttiCsvUtil.YEAR);
87 newIgnoredColumn("Serie");
88 newMandatoryColumn("Serie_Partielle", Cruise.PROPERTY_SURVEY_PART);
89
90 newIgnoredColumn("Engin");
91 newMandatoryColumn("Rang_Engin", GearCaracteristicRow.PROPERTY_RANK_ORDER, TuttiCsvUtil.SHORT);
92
93 newMandatoryColumn("Code_PMFM", GearCaracteristicRow.PROPERTY_CARACTERISTIC, parserFactory.getCaracteristicParser());
94 newIgnoredColumn("Libelle_PMFM");
95 newIgnoredColumn("Valeur");
96
97 newMandatoryColumn("Serie_Id", Cruise.PROPERTY_PROGRAM, parserFactory.getProgramParser());
98 newMandatoryColumn("Engin_Id", GearCaracteristicRow.PROPERTY_GEAR, parserFactory.getGearParser());
99 newMandatoryColumn("Valeur_Id", GearCaracteristicRow.PROPERTY_VALUE);
100
101 }
102
103 }