1 package fr.ifremer.dali.ui.swing.content.manage.campaign.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.dali.dto.data.survey.CampaignDTO;
27 import fr.ifremer.dali.ui.swing.action.AbstractCheckModelAction;
28 import fr.ifremer.dali.ui.swing.content.manage.campaign.CampaignsUI;
29 import fr.ifremer.dali.ui.swing.content.manage.campaign.CampaignsUIModel;
30 import fr.ifremer.dali.ui.swing.content.manage.program.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<CampaignsMenuUIModel, CampaignsMenuUI, CampaignsMenuUIHandler> {
39
40 private List<CampaignDTO> results;
41
42
43
44
45
46
47 public SearchAction(final CampaignsMenuUIHandler handler) {
48 super(handler, false);
49 }
50
51
52
53
54 @Override
55 protected Class<SaveAction> getSaveActionClass() {
56 return SaveAction.class;
57 }
58
59
60
61
62 @Override
63 protected AbstractApplicationUIHandler<?, ?> getSaveHandler() {
64 return getHandler().getCampaignsUI().getHandler();
65 }
66
67
68
69
70 @Override
71 protected boolean isModelModify() {
72 final CampaignsUIModel model = getLocalModel();
73 return model != null && model.isModify();
74 }
75
76
77
78
79 @Override
80 protected void setModelModify(boolean modelModify) {
81 final CampaignsUIModel model = getLocalModel();
82 if (model != null) {
83 model.setModify(modelModify);
84 }
85 }
86
87
88
89
90 @Override
91 protected boolean isModelValid() {
92 final CampaignsUIModel model = getLocalModel();
93 return model == null || model.isValid();
94 }
95
96
97
98
99 @Override
100 public void doAction() throws Exception {
101
102
103 results = getContext().getCampaignService().findCampaignsByCriteria(
104 getModel().getName(),
105 getModel().getSearchStartDate(), getModel().getStartDate1(), getModel().getStartDate2(),
106 getModel().getSearchEndDate(), getModel().getEndDate1(), getModel().getEndDate2()
107 );
108
109 }
110
111
112
113
114 @Override
115 public void postSuccessAction() {
116
117 getModel().setResults(results);
118
119 super.postSuccessAction();
120 }
121
122 private CampaignsUIModel getLocalModel() {
123 CampaignsUI ui = getHandler().getCampaignsUI();
124 return ui != null ? ui.getModel() : null;
125 }
126
127 }