1 package fr.ifremer.tutti.service.genericformat.importactions;
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.service.catches.WeightCleaningService;
28 import fr.ifremer.tutti.service.genericformat.GenericFormatImportContext;
29 import fr.ifremer.tutti.service.genericformat.GenericFormatImportOperationContext;
30 import org.apache.commons.logging.Log;
31 import org.apache.commons.logging.LogFactory;
32
33 import static org.nuiton.i18n.I18n.t;
34
35
36
37
38
39
40
41 public class DoCleanWeightAction extends ImportActionSupport {
42
43
44 private static final Log log = LogFactory.getLog(DoCleanWeightAction.class);
45
46 private final WeightCleaningService weightCleaningService;
47
48 public DoCleanWeightAction(GenericFormatImportContext importContext, WeightCleaningService weightCleaningService) {
49 super(importContext);
50 this.weightCleaningService = weightCleaningService;
51 }
52
53 @Override
54 protected boolean canExecute() {
55 return importContext.getImportRequest().isCleanWeights()
56 && importContext.isTechnicalFilesValid()
57 && importContext.getOperationFileResult().isValid()
58 && importContext.getCatchFileResult().isValid()
59 && importContext.getMarineLitterFileResult().isValid();
60 }
61
62 @Override
63 protected void doExecute() {
64
65 if (log.isInfoEnabled()) {
66 log.info("Will clean weights.");
67 }
68
69 importContext.doActionOnCruiseContexts((cruiseContext, progressionModel) -> {
70
71 for (GenericFormatImportOperationContext operationContext : cruiseContext) {
72
73 progressionModel.increments(t("tutti.service.genericFormat.cleanWeights.fishingOperation", cruiseContext.getCruiseLabel(), operationContext.getFishingOperationLabel()));
74
75 boolean weightsDeleted = weightCleaningService.cleanFishingOperation(operationContext.getFishingOperation().getIdAsInt());
76 operationContext.setWeightsDeleted(weightsDeleted);
77
78 }
79
80 });
81
82 }
83
84 }