1 package fr.ifremer.dali.ui.swing.content.manage.program.strategiesByLocation;
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.programStrategy.ProgStratDTO;
27 import fr.ifremer.dali.dto.referential.LocationDTO;
28 import fr.ifremer.dali.ui.swing.action.AbstractDaliSaveAction;
29 import fr.ifremer.quadrige3.core.dao.technical.Assert;
30
31 import java.util.List;
32
33
34
35
36 public class SaveAction extends AbstractDaliSaveAction<StrategiesLieuxUIModel, StrategiesLieuxUI, StrategiesLieuxUIHandler> {
37
38
39
40
41
42
43 public SaveAction(final StrategiesLieuxUIHandler handler) {
44 super(handler, false);
45 }
46
47
48 @Override
49 public boolean prepareAction() throws Exception {
50 return super.prepareAction() && getModel().isModify() && getModel().isValid();
51 }
52
53
54 @Override
55 public void doAction() throws Exception {
56
57
58 LocationDTO location = getUI().getLieuxProgrammeTableUI().getModel().getSingleSelectedRow();
59 Assert.notNull(location);
60
61
62 List<ProgStratDTO> toSave = getUI().getStrategiesProgrammeTableUI().getModel().getBeans();
63
64 getContext().getProgramStrategyService().saveStrategiesByProgramAndLocation(getContext().getAuthenticationInfo(), toSave, location.getId());
65
66 }
67
68
69 @Override
70 public void postSuccessAction() {
71 super.postSuccessAction();
72
73 getModel().getTableUIModel().setModify(false);
74 getModel().setModify(false);
75 }
76 }