1 package fr.ifremer.tutti.service.export.cps;
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.CaracteristicQualitativeValue;
28 import fr.ifremer.tutti.persistence.entities.referential.Species;
29 import fr.ifremer.tutti.service.csv.AbstractTuttiImportExportModel;
30 import fr.ifremer.tutti.service.csv.TuttiCsvUtil;
31 import fr.ifremer.tutti.service.sampling.CacheExtractedKey;
32 import org.nuiton.csv.ValueFormatter;
33 import org.nuiton.decorator.Decorator;
34
35 import static org.nuiton.i18n.I18n.t;
36
37
38
39
40
41 public class SamplingNumberRowModel extends AbstractTuttiImportExportModel<CacheExtractedKey> {
42
43 public SamplingNumberRowModel(char separator, Decorator<Species> speciesCodeDecorator) {
44 super(separator);
45
46 newColumnForExport(t("tutti.service.calcifiedPiecesSamplingReport.header.surveyCode"), CacheExtractedKey.PROPERTY_SPECIES, new ValueFormatter<Species>() {
47
48 @Override
49 public String format(Species species) {
50 return speciesCodeDecorator.toString(species);
51 }
52 });
53 newColumnForExport(t("tutti.service.calcifiedPiecesSamplingReport.header.geniusName"), CacheExtractedKey.PROPERTY_SPECIES, new ValueFormatter<Species>() {
54
55 @Override
56 public String format(Species species) {
57 return species.getName();
58 }
59 });
60 newColumnForExport(t("tutti.service.calcifiedPiecesSamplingReport.header.lengthStep"), CacheExtractedKey.PROPERTY_LENGTH_STEP, TuttiCsvUtil.PRIMITIVE_INTEGER);
61 newColumnForExport(t("tutti.service.calcifiedPiecesSamplingReport.header.maturity"), CacheExtractedKey.PROPERTY_MATURITY, new ValueFormatter<Boolean>() {
62
63 @Override
64 public String format(Boolean maturity) {
65 if (maturity == null) {
66 return "";
67 }
68 return maturity ? t("tutti.maturity.mature") : t("tutti.maturity.immature");
69 }
70 });
71 newColumnForExport(t("tutti.service.calcifiedPiecesSamplingReport.header.gender"), CacheExtractedKey.PROPERTY_SEX, new ValueFormatter<CaracteristicQualitativeValue>() {
72 @Override
73 public String format(CaracteristicQualitativeValue value) {
74 return value == null ? "" : t(value.getDescription());
75 }
76 });
77 newColumnForExport(t("tutti.service.calcifiedPiecesSamplingReport.header.samplingNb"), CacheExtractedKey.PROPERTY_SAMPLING_NB, TuttiCsvUtil.PRIMITIVE_INTEGER);
78 newColumnForExport(t("tutti.service.calcifiedPiecesSamplingReport.header.maxByLengthStep"), CacheExtractedKey.PROPERTY_MAX_BY_LENGTH_STEP, TuttiCsvUtil.INTEGER);
79 }
80
81 @Override
82 public CacheExtractedKey newEmptyInstance() {
83 return new CacheExtractedKey();
84 }
85 }