1 package fr.ifremer.dali.ui.swing.content.manage.context.contextslist;
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.dali.dto.configuration.context.ContextDTO;
28 import fr.ifremer.dali.ui.swing.action.AbstractDaliAction;
29 import fr.ifremer.dali.ui.swing.content.manage.context.ManageContextsUI;
30 import fr.ifremer.quadrige3.ui.swing.ApplicationUIUtil;
31
32 import java.io.File;
33 import java.util.List;
34
35 import static org.nuiton.i18n.I18n.t;
36
37
38
39
40 public class ImportContextAction extends AbstractDaliAction<ManageContextsListTableUIModel, ManageContextsListTableUI, ManageContextsListTableUIHandler> {
41
42 private List<ContextDTO> importedContexts;
43
44 private File importFile;
45
46
47
48
49
50
51 public ImportContextAction(ManageContextsListTableUIHandler handler) {
52 super(handler, false);
53 }
54
55
56 @Override
57 public boolean prepareAction() throws Exception {
58 importFile = null;
59 if (super.prepareAction()) {
60
61 importFile = chooseFile(t("dali.action.context.import.title"),
62 t("dali.action.common.chooseFile.buttonLabel"),
63 "^.*\\.dat", t("dali.common.file.dat"));
64
65 }
66 return importFile != null && importFile.exists();
67 }
68
69
70 @Override
71 public void doAction() throws Exception {
72 importedContexts = getContext().getContextService().importContexts(importFile);
73 }
74
75
76 @Override
77 public void postSuccessAction() {
78 getModel().addBeans(importedContexts);
79
80 ((ManageContextsUI) ApplicationUIUtil.getParentUI(getUI())).getManageContextsListMenuUI().getHandler().reloadComboBox();
81 }
82 }