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