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.Person;
28 import fr.ifremer.tutti.persistence.entities.referential.Persons;
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 PersonParserFormatter extends EntityParserFormatterSupport<Person> {
41
42 public static PersonParserFormatter newFormatter() {
43 return new PersonParserFormatter(false, null, null);
44 }
45
46 public static PersonParserFormatter newTechnicalFormatter() {
47 return new PersonParserFormatter(true, null, null);
48 }
49
50 public static PersonParserFormatter newParser(PersistenceService persistenceService, Map<String, String> idTranslationMap) {
51 return new PersonParserFormatter(true, persistenceService, idTranslationMap);
52 }
53
54 private final PersistenceService persistenceService;
55
56 private final Map<String, String> idTranslationMap;
57
58 protected PersonParserFormatter(boolean technical, PersistenceService persistenceService, Map<String, String> idTranslationMap) {
59 super("", technical, Person.class);
60 this.persistenceService = persistenceService;
61 this.idTranslationMap = idTranslationMap;
62 }
63
64 @Override
65 protected List<Person> getEntities() {
66 return persistenceService.getAllPerson();
67 }
68
69 @Override
70 protected List<Person> getEntitiesWithObsoletes() {
71 return persistenceService.getAllPersonWithObsoletes();
72 }
73
74 @Override
75 protected String formatBusiness(Person person) {
76 return Persons.GET_FULL_NAME.apply(person);
77 }
78
79 @Override
80 protected Person parseNotBlankValue(String value) {
81
82 if (idTranslationMap.containsKey(value)) {
83 value = idTranslationMap.get(value);
84 }
85 return super.parseNotBlankValue(value);
86
87 }
88
89 }