1 package fr.ifremer.tutti.ui.swing.content.referential.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
26
27 import com.google.common.collect.Lists;
28 import fr.ifremer.tutti.persistence.entities.referential.Person;
29 import fr.ifremer.tutti.service.PersistenceService;
30 import fr.ifremer.tutti.ui.swing.content.referential.ManageTemporaryReferentialUIHandler;
31 import fr.ifremer.tutti.ui.swing.content.referential.replace.ReplaceTemporaryPersonUI;
32 import fr.ifremer.tutti.ui.swing.content.referential.replace.ReplaceTemporaryPersonUIModel;
33 import jaxx.runtime.context.JAXXInitialContext;
34
35 import javax.swing.JButton;
36 import java.util.List;
37
38 import static org.nuiton.i18n.I18n.t;
39
40
41
42
43
44
45
46 public class OpenReplaceTemporaryPersonUIAction extends AbstractOpenReplaceTemporaryUIAction<Person, ReplaceTemporaryPersonUIModel, ReplaceTemporaryPersonUI> {
47
48 public OpenReplaceTemporaryPersonUIAction(ManageTemporaryReferentialUIHandler handler) {
49 super(handler);
50 }
51
52 @Override
53 protected JButton getButton() {
54 return getUI().getReplacePersonButton();
55 }
56
57 @Override
58 protected String getEntityLabel() {
59 return t("tutti.common.referential.person");
60 }
61
62 @Override
63 protected ReplaceTemporaryPersonUIModel createNewModel() {
64 return new ReplaceTemporaryPersonUIModel();
65 }
66
67 @Override
68 protected ReplaceTemporaryPersonUI createUI(JAXXInitialContext ctx) {
69 return new ReplaceTemporaryPersonUI(ctx);
70 }
71
72 @Override
73 protected List<Person> getTargetList(PersistenceService persistenceService) {
74 return Lists.newArrayList(persistenceService.getAllPerson());
75 }
76
77 @Override
78 protected List<Person> retainTemporaryList(PersistenceService persistenceService, List<Person> targetList) {
79 return persistenceService.retainTemporaryPersonList(targetList);
80 }
81
82 @Override
83 public void postSuccessAction() {
84
85 getHandler().resetComboBoxAction(getUI().getPersonActionComboBox());
86 super.postSuccessAction();
87
88 }
89 }