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 com.google.common.collect.Lists;
27 import fr.ifremer.dali.dto.configuration.filter.FilterDTO;
28 import fr.ifremer.dali.ui.swing.action.AbstractCheckModelAction;
29 import fr.ifremer.dali.ui.swing.action.AbstractDaliSaveAction;
30 import fr.ifremer.dali.ui.swing.content.manage.filter.FilterUIModel;
31 import fr.ifremer.dali.ui.swing.content.manage.filter.SaveAction;
32 import org.nuiton.jaxx.application.swing.AbstractApplicationUIHandler;
33
34 import java.util.List;
35
36
37
38
39 public class SearchAction extends AbstractCheckModelAction<FilterListUIModel, FilterListUI, FilterListUIHandler> {
40
41 private List<FilterDTO> filters;
42
43
44
45
46
47
48 public SearchAction(final FilterListUIHandler handler) {
49 super(handler, false);
50 }
51
52
53 @Override
54 public void doAction() throws Exception {
55
56
57 Integer idFiltre = null;
58 final FilterDTO filtre = (FilterDTO) getUI().getFiltersCombo().getSelectedItem();
59 if (filtre != null) {
60 idFiltre = filtre.getId();
61 }
62
63
64 if (idFiltre == null) {
65 filters = getContext().getContextService().getFiltersByType(getHandler().getFilterTypeId());
66 } else {
67 filters = Lists.newArrayList(getContext().getContextService().getFilter(idFiltre));
68 }
69 }
70
71
72 @Override
73 protected Class<? extends AbstractDaliSaveAction> getSaveActionClass() {
74 return SaveAction.class;
75 }
76
77
78 @Override
79 protected boolean isModelModify() {
80 return getParentModel().isModify();
81 }
82
83
84 @Override
85 protected void setModelModify(boolean modelModify) {
86 getParentModel().setModify(modelModify);
87 }
88
89
90 @Override
91 protected boolean isModelValid() {
92 return getParentModel().isValid();
93 }
94
95 private FilterUIModel getParentModel() {
96 return getHandler().getParentUI().getModel();
97 }
98
99
100 @Override
101 protected AbstractApplicationUIHandler<?, ?> getSaveHandler() {
102 return getHandler().getParentUI().getHandler();
103 }
104
105
106 @Override
107 public void postSuccessAction() {
108 super.postSuccessAction();
109 getHandler().loadFilters(filters);
110 }
111
112
113 }