1 package fr.ifremer.tutti.service.pupitri;
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 com.google.common.base.Charsets;
28 import com.google.common.collect.Lists;
29 import fr.ifremer.tutti.persistence.entities.referential.Species;
30 import fr.ifremer.tutti.service.AbstractTuttiService;
31 import fr.ifremer.tutti.service.pupitri.csv.SpeciesRow;
32 import fr.ifremer.tutti.service.pupitri.csv.SpeciesRowModel;
33 import org.apache.commons.collections4.CollectionUtils;
34 import org.nuiton.csv.Export;
35 import org.nuiton.jaxx.application.ApplicationTechnicalException;
36
37 import java.io.File;
38 import java.util.List;
39
40 import static org.nuiton.i18n.I18n.t;
41
42
43
44
45
46
47
48 public class PupitriExportService extends AbstractTuttiService {
49
50
51 public void exportSpecies(List<Species> species, File target) {
52
53 SpeciesRowModel speciesCsvModel = new SpeciesRowModel(';');
54
55 List<SpeciesRow> rows = Lists.newArrayList();
56
57 if (CollectionUtils.isNotEmpty(species)) {
58 rows = Lists.transform(species, SpeciesRow::new);
59 }
60
61 try {
62 Export.exportToFile(speciesCsvModel,
63 rows,
64 target,
65 Charsets.UTF_8,
66 false);
67
68 } catch (Exception e) {
69 throw new ApplicationTechnicalException(
70 t("tutti.service.pupitri.export.species.error", target), e);
71 }
72
73 }
74 }
75
76