1 package fr.ifremer.tutti.service.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
26
27 import fr.ifremer.tutti.persistence.entities.referential.Vessel;
28 import fr.ifremer.tutti.persistence.entities.referential.Vessels;
29 import fr.ifremer.tutti.service.PersistenceService;
30
31 import java.util.List;
32 import java.util.Map;
33
34
35
36
37
38
39
40 public class VesselParserFormatter extends EntityParserFormatterSupport<Vessel> {
41
42 public static VesselParserFormatter newFormatter() {
43 return new VesselParserFormatter(false, null, null);
44 }
45
46 public static VesselParserFormatter newTechnicalFormatter() {
47 return new VesselParserFormatter(true, null, null);
48 }
49
50 public static VesselParserFormatter newParser(PersistenceService persistenceService, Map<String, String> idTranslationMap) {
51 return new VesselParserFormatter(true, persistenceService, idTranslationMap);
52 }
53
54 private final PersistenceService persistenceService;
55
56 private final Map<String, String> idTranslationMap;
57
58 protected VesselParserFormatter(boolean technical, PersistenceService persistenceService, Map<String, String> idTranslationMap) {
59 super("", technical, Vessel.class);
60 this.persistenceService = persistenceService;
61 this.idTranslationMap = idTranslationMap;
62 }
63
64 @Override
65 protected List<Vessel> getEntities() {
66 return persistenceService.getAllVessel();
67 }
68
69 @Override
70 protected List<Vessel> getEntitiesWithObsoletes() {
71 return persistenceService.getAllVesselWithObsoletes();
72 }
73
74 @Override
75 public String formatBusiness(Vessel value) {
76
77 return Vessels.GET_REGISTRATION_CODE_OR_INTERNATIONAL_REGISTRATION_CODE.apply(value);
78
79 }
80
81 @Override
82 protected Vessel parseNotBlankValue(String value) {
83
84 if (idTranslationMap.containsKey(value)) {
85 value = idTranslationMap.get(value);
86 }
87 return super.parseNotBlankValue(value);
88
89 }
90
91 }