1 package fr.ifremer.reefdb.ui.swing.content.manage.referential.pmfm.local;
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 com.google.common.collect.Lists;
27 import fr.ifremer.reefdb.dto.referential.pmfm.PmfmDTO;
28 import fr.ifremer.reefdb.service.StatusFilter;
29 import fr.ifremer.reefdb.service.referential.ReferentialService;
30 import fr.ifremer.reefdb.ui.swing.action.AbstractReefDbAction;
31 import fr.ifremer.reefdb.ui.swing.content.manage.referential.pmfm.ManagePmfmsUI;
32 import fr.ifremer.reefdb.ui.swing.content.manage.referential.pmfm.local.replace.ReplacePmfmUI;
33 import fr.ifremer.reefdb.ui.swing.content.manage.referential.pmfm.local.replace.ReplacePmfmUIModel;
34 import fr.ifremer.reefdb.ui.swing.content.manage.referential.replace.AbstractOpenReplaceUIAction;
35 import jaxx.runtime.context.JAXXInitialContext;
36
37 import java.util.List;
38
39 import static org.nuiton.i18n.I18n.t;
40
41
42
43
44
45
46 public class OpenReplacePmfmAction extends AbstractReefDbAction<PmfmsLocalUIModel, PmfmsLocalUI, PmfmsLocalUIHandler> {
47
48
49
50
51
52
53 public OpenReplacePmfmAction(PmfmsLocalUIHandler handler) {
54 super(handler, false);
55 }
56
57
58 @Override
59 public void doAction() {
60
61 AbstractOpenReplaceUIAction<PmfmDTO, ReplacePmfmUIModel, ReplacePmfmUI> openAction =
62 new AbstractOpenReplaceUIAction<PmfmDTO, ReplacePmfmUIModel, ReplacePmfmUI>(getContext().getMainUI().getHandler()) {
63
64 @Override
65 protected String getEntityLabel() {
66 return t("reefdb.property.pmfm");
67 }
68
69 @Override
70 protected ReplacePmfmUIModel createNewModel() {
71 return new ReplacePmfmUIModel();
72 }
73
74 @Override
75 protected ReplacePmfmUI createUI(JAXXInitialContext ctx) {
76 return new ReplacePmfmUI(ctx);
77 }
78
79 @Override
80 protected List<PmfmDTO> getReferentialList(ReferentialService referentialService) {
81 return Lists.newArrayList(referentialService.getPmfms(StatusFilter.ACTIVE));
82 }
83
84 @Override
85 protected PmfmDTO getSelectedSource() {
86 List<PmfmDTO> selectedBeans = OpenReplacePmfmAction.this.getModel().getSelectedBeans();
87 return selectedBeans.size() == 1 ? selectedBeans.get(0) : null;
88 }
89
90 @Override
91 protected PmfmDTO getSelectedTarget() {
92 ManagePmfmsUI ui = OpenReplacePmfmAction.this.getUI().getParentContainer(ManagePmfmsUI.class);
93 List<PmfmDTO> selectedBeans = ui.getPmfmsNationalUI().getModel().getSelectedBeans();
94 return selectedBeans.size() == 1 ? selectedBeans.get(0) : null;
95 }
96 };
97
98 getActionEngine().runFullInternalAction(openAction);
99 }
100 }