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