1 package fr.ifremer.tutti.service.genericformat.exportactions;
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.Preconditions;
28 import fr.ifremer.tutti.persistence.entities.data.Cruise;
29 import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
30 import fr.ifremer.tutti.persistence.model.CruiseDataModel;
31 import fr.ifremer.tutti.persistence.model.OperationDataModel;
32 import fr.ifremer.tutti.persistence.model.ProgramDataModel;
33 import fr.ifremer.tutti.service.PersistenceService;
34 import fr.ifremer.tutti.service.genericformat.GenericFormatExportContext;
35
36 import java.util.LinkedHashSet;
37 import java.util.Set;
38
39
40
41
42
43
44
45 public class LoadDataAction extends ExportTechnicalActionSupport {
46
47 private final PersistenceService persistenceService;
48
49 public LoadDataAction(PersistenceService persistenceService) {
50 this.persistenceService = persistenceService;
51 }
52
53 @Override
54 public void execute(GenericFormatExportContext exportContext) {
55
56 ProgramDataModel dataToExport = exportContext.getDataToExport();
57
58 for (CruiseDataModel cruiseDataModel : dataToExport) {
59
60 Cruise cruise = persistenceService.getCruise(cruiseDataModel.getIdAsInt());
61 Preconditions.checkNotNull(cruise);
62
63 Set<FishingOperation> operations = new LinkedHashSet<>();
64
65 for (OperationDataModel operationDataModel : cruiseDataModel) {
66
67 FishingOperation operation = persistenceService.getFishingOperation(operationDataModel.getIdAsInt());
68 operations.add(operation);
69
70 }
71
72 exportContext.addCruiseContext(cruise, operations);
73
74 }
75 }
76 }