1 package fr.ifremer.tutti.service.referential.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.referential.Gear;
26 import fr.ifremer.tutti.persistence.entities.referential.Gears;
27 import fr.ifremer.tutti.service.csv.AbstractTuttiImportExportModel;
28 import fr.ifremer.tutti.service.csv.TuttiCsvUtil;
29 import org.nuiton.csv.Common;
30
31 import static org.nuiton.i18n.I18n.t;
32
33
34
35
36
37
38
39 public class GearModel extends AbstractTuttiImportExportModel<GearRow> {
40
41 public static GearModel forExport(char separator) {
42
43 GearModel exportModel = new GearModel(separator);
44 exportModel.forExport();
45 return exportModel;
46
47 }
48
49 public static GearModel forImport(char separator) {
50
51 GearModel importModel = new GearModel(separator);
52 importModel.forImport();
53 return importModel;
54
55 }
56
57 @Override
58 public GearRow newEmptyInstance() {
59 return new GearRow();
60 }
61
62 protected GearModel(char separator) {
63 super(separator);
64 }
65
66 protected void forImport() {
67
68 newMandatoryColumn(GearRow.PROPERTY_ID, new TemporaryReferentialEntityIdParser(
69 t("tutti.service.referential.import.gear.error.idNotNegative")){
70
71 @Override
72 protected boolean isTemporaryId(String parse) {
73 int id = Integer.parseInt(parse);
74 return Gears.isTemporaryId(id);
75 }
76 });
77 newMandatoryColumn(GearRow.PROPERTY_NAME);
78 newMandatoryColumn(GearRow.PROPERTY_LABEL);
79 newMandatoryColumn(GearRow.PROPERTY_SCIENTIFIC_GEAR, Common.PRIMITIVE_BOOLEAN);
80 newMandatoryColumn(GearRow.PROPERTY_TO_DELETE, TuttiCsvUtil.BOOLEAN);
81
82 }
83
84 protected void forExport() {
85
86 newColumnForExport(GearRow.PROPERTY_ID);
87 newColumnForExport(GearRow.PROPERTY_NAME);
88 newColumnForExport(GearRow.PROPERTY_LABEL);
89 newColumnForExport(GearRow.PROPERTY_SCIENTIFIC_GEAR, Common.PRIMITIVE_BOOLEAN);
90 newColumnForExport(GearRow.PROPERTY_TO_DELETE);
91
92 }
93
94 }