1 package fr.ifremer.reefdb.ui.swing.content.manage.referential.pmfm.menu;
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.reefdb.dto.referential.pmfm.PmfmDTO;
27 import fr.ifremer.reefdb.ui.swing.action.AbstractCheckModelAction;
28 import fr.ifremer.reefdb.ui.swing.action.AbstractReefDbSaveAction;
29 import fr.ifremer.reefdb.ui.swing.content.manage.referential.pmfm.ManagePmfmsUI;
30 import fr.ifremer.reefdb.ui.swing.content.manage.referential.pmfm.SaveAction;
31 import org.nuiton.jaxx.application.swing.AbstractApplicationUIHandler;
32
33 import java.util.List;
34
35
36
37
38 public class SearchAction extends AbstractCheckModelAction<PmfmMenuUIModel, PmfmMenuUI, PmfmMenuUIHandler> {
39
40 private List<PmfmDTO> result;
41
42
43
44
45
46
47 public SearchAction(final PmfmMenuUIHandler handler) {
48 super(handler, false);
49 }
50
51
52 @Override
53 protected Class<? extends AbstractReefDbSaveAction> getSaveActionClass() {
54 return SaveAction.class;
55 }
56
57
58 @Override
59 protected boolean isModelModify() {
60 return getParentUI() != null && getParentUI().getModel().isModify();
61 }
62
63
64 @Override
65 protected void setModelModify(boolean modelModify) {
66 if (getParentUI() == null) {
67 return;
68 }
69 getParentUI().getModel().setModify(modelModify);
70 }
71
72
73 @Override
74 protected boolean isModelValid() {
75 return getParentUI() == null || getParentUI().getModel().isValid();
76 }
77
78
79 @Override
80 protected AbstractApplicationUIHandler<?, ?> getSaveHandler() {
81 return getParentUI() != null ? getParentUI().getHandler() : null;
82 }
83
84
85 @Override
86 public void doAction() {
87
88
89 result = getContext().getReferentialService().searchPmfms(
90 getModel().getStatusFilter(),
91 getModel().getParameterCode(),
92 getModel().getMatrixId(),
93 getModel().getFractionId(),
94 getModel().getMethodId(),
95 getModel().getUnitId(),
96 getModel().getName(), getModel().getStatusCode());
97 }
98
99
100 @Override
101 public void postSuccessAction() {
102
103 getModel().setResults(result);
104
105 super.postSuccessAction();
106 }
107
108 private ManagePmfmsUI getParentUI() {
109 return getUI().getParentContainer(ManagePmfmsUI.class);
110 }
111
112 }