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 com.google.common.base.Preconditions;
26 import fr.ifremer.tutti.service.referential.ReferentialTemporaryVesselService;
27 import fr.ifremer.tutti.ui.swing.util.actions.LongActionSupport;
28 import fr.ifremer.tutti.ui.swing.content.referential.ManageTemporaryReferentialUI;
29 import fr.ifremer.tutti.ui.swing.content.referential.ManageTemporaryReferentialUIHandler;
30 import fr.ifremer.tutti.ui.swing.content.referential.ManageTemporaryReferentialUIModel;
31 import org.apache.commons.logging.Log;
32 import org.apache.commons.logging.LogFactory;
33
34 import java.io.File;
35
36 import static org.nuiton.i18n.I18n.t;
37
38
39
40
41
42
43
44 public class ExportExistingTemporaryVesselAction extends LongActionSupport<ManageTemporaryReferentialUIModel, ManageTemporaryReferentialUI, ManageTemporaryReferentialUIHandler> {
45
46
47 private static final Log log =
48 LogFactory.getLog(ExportExistingTemporaryVesselAction.class);
49
50 private File file;
51
52 public ExportExistingTemporaryVesselAction(ManageTemporaryReferentialUIHandler handler) {
53 super(handler, true);
54 }
55
56 @Override
57 public boolean prepareAction() throws Exception {
58
59 boolean doAction = super.prepareAction() && getUI().getExportExistingVesselButton().isEnabled();
60
61 if (doAction) {
62
63
64 file = saveFile(
65 "exportTemporaryVessels",
66 "csv",
67 t("tutti.manageTemporaryReferential.title.choose.exportExistingTemporaryVesselFile"),
68 t("tutti.manageTemporaryReferential.action.chooseExistingReferentialVesselFile.export"),
69 "^.*\\.csv", t("tutti.common.file.csv")
70 );
71 doAction = file != null;
72 }
73 return doAction;
74 }
75
76 @Override
77 public void releaseAction() {
78 file = null;
79 super.releaseAction();
80 }
81
82 @Override
83 public void doAction() throws Exception {
84 Preconditions.checkNotNull(file);
85 if (log.isInfoEnabled()) {
86 log.info("Will export existing vessels temporary " +
87 "referential to file: " + file);
88 }
89
90 ReferentialTemporaryVesselService service = getContext().getReferentialTemporaryVesselService();
91 service.exportExistingTemporaryVessel(file);
92
93 }
94
95 @Override
96 public void postSuccessAction() {
97
98 getHandler().resetComboBoxAction(getUI().getVesselActionComboBox());
99 super.postSuccessAction();
100 sendMessage(t("tutti.manageTemporaryReferential.action.chooseExistingReferentialVesselFile.export.success", file));
101
102 }
103 }