1 package fr.ifremer.tutti.ui.swing.content.program.actions;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import fr.ifremer.tutti.persistence.entities.TuttiEntities;
26 import fr.ifremer.tutti.persistence.entities.data.Program;
27 import fr.ifremer.tutti.service.PersistenceService;
28 import fr.ifremer.tutti.ui.swing.TuttiUIContext;
29 import fr.ifremer.tutti.ui.swing.util.actions.LongActionSupport;
30 import fr.ifremer.tutti.ui.swing.content.program.EditProgramUI;
31 import fr.ifremer.tutti.ui.swing.content.program.EditProgramUIHandler;
32 import fr.ifremer.tutti.ui.swing.content.program.EditProgramUIModel;
33
34 import static org.nuiton.i18n.I18n.t;
35
36
37
38
39
40
41 public class SaveProgramAction extends LongActionSupport<EditProgramUIModel, EditProgramUI, EditProgramUIHandler> {
42
43 public SaveProgramAction(EditProgramUIHandler handler) {
44 super(handler, true);
45 }
46
47 @Override
48 public void doAction() throws Exception {
49 TuttiUIContext context = getContext();
50 PersistenceService persistenceService =
51 getContext().getPersistenceService();
52
53 EditProgramUIModel model = getModel();
54
55 Program bean = model.toEntity();
56
57 Program saved;
58 if (TuttiEntities.isNew(bean)) {
59
60 saved = persistenceService.createProgram(bean);
61 model.setId(saved.getId());
62 sendMessage(t("tutti.flash.info.programCreated", bean.getName()));
63 } else {
64 saved = persistenceService.saveProgram(bean);
65 sendMessage(t("tutti.flash.info.programSaved", bean.getName()));
66 }
67
68 context.setProgramId(saved.getId());
69
70 model.setModify(false);
71 }
72
73 @Override
74 public void postSuccessAction() {
75 getContext().getMainUI().getHandler().setBodyTitle(
76 EditProgramUIHandler.getTitle(true));
77 }
78
79 }