1 package fr.ifremer.tutti.ui.swing.content.referential.actions;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import fr.ifremer.tutti.persistence.entities.referential.Gear;
26 import fr.ifremer.tutti.service.referential.ReferentialImportResult;
27 import fr.ifremer.tutti.service.referential.ReferentialTemporaryGearService;
28 import fr.ifremer.tutti.ui.swing.content.referential.ManageTemporaryReferentialUIHandler;
29
30 import java.io.File;
31
32 import static org.nuiton.i18n.I18n.t;
33
34
35
36
37
38
39
40 public class ImportTemporaryGearAction extends ImportTemporaryActionSupport<Gear> {
41
42
43 public ImportTemporaryGearAction(ManageTemporaryReferentialUIHandler handler) {
44 super(handler);
45 }
46
47 @Override
48 protected File chooseImportFile() {
49
50 return chooseFile(
51 t("tutti.manageTemporaryReferential.title.choose.importTemporaryGearFile"),
52 t("tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import"),
53 "^.*\\.csv", t("tutti.common.file.csv"));
54
55 }
56
57 @Override
58 protected ReferentialImportResult<Gear> doImport(File file) {
59
60 ReferentialTemporaryGearService service = getContext().getReferentialTemporaryGearService();
61 return service.importTemporaryGear(file);
62
63 }
64
65 @Override
66 protected void postSuccessAction(File file, ReferentialImportResult<Gear> result) {
67
68 int nbRef = getModel().getNbTemporaryGears();
69 getModel().setNbTemporaryGears(nbRef + result.getNbRefAdded() - result.getNbRefDeleted());
70
71
72 getDataContext().resetGears();
73
74 reloadCruise();
75 reloadFishingOperation();
76
77 getHandler().resetComboBoxAction(getUI().getGearActionComboBox());
78
79 String title = t("tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import.dialog.title");
80 String message = t("tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import.dialog.message",
81 result.getNbRefAdded(), result.getNbRefUpdated(), result.getNbRefDeleted());
82 displayInfoMessage(title, message);
83
84 sendMessage(t("tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import.success", file));
85 }
86
87 }