1 package fr.ifremer.dali.ui.swing.action;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 import fr.ifremer.dali.config.DaliConfiguration;
25 import fr.ifremer.dali.service.control.ControlRuleMessagesBean;
26 import fr.ifremer.dali.ui.swing.DaliUIContext;
27 import fr.ifremer.dali.ui.swing.util.DaliUI;
28 import fr.ifremer.quadrige3.ui.swing.AbstractUIHandler;
29 import fr.ifremer.quadrige3.ui.swing.DialogHelper;
30 import fr.ifremer.quadrige3.ui.swing.action.AbstractAction;
31 import fr.ifremer.quadrige3.ui.swing.model.AbstractBeanUIModel;
32 import fr.ifremer.quadrige3.ui.swing.synchro.action.ImportReferentialSynchroAtOnceAction;
33
34 import javax.swing.JOptionPane;
35
36 import static org.nuiton.i18n.I18n.t;
37
38
39
40
41 public abstract class AbstractDaliAction<M extends AbstractBeanUIModel, UI extends DaliUI<M, ?>, H extends AbstractUIHandler<M, UI>>
42 extends AbstractAction<M, UI, H> {
43
44
45
46
47
48
49
50 public AbstractDaliAction(H handler, boolean hideBody) {
51 super(handler, hideBody);
52 }
53
54 @Override
55 protected DaliConfiguration getConfig() {
56 return (DaliConfiguration) getHandler().getConfig();
57 }
58
59 @Override
60 public DaliUIContext getContext() {
61 return (DaliUIContext) super.getContext();
62 }
63
64
65
66
67
68
69
70
71
72 protected void showControlResult(ControlRuleMessagesBean messages, boolean showIfSuccess) {
73
74
75
76 if (messages == null || (!messages.isErrorMessages() && !messages.isWarningMessages())) {
77 if (showIfSuccess) {
78 displayInfoMessage(t("dali.rulesControl.title"), t("dali.rulesControl.noMessage.message"));
79 }
80 } else if (messages.isWarningMessages() && messages.isErrorMessages()) {
81 displayErrorMessage(t("dali.rulesControl.title"), t("dali.rulesControl.errorAndWarningMessages.message"));
82 } else if (messages.isErrorMessages()) {
83 displayErrorMessage(t("dali.rulesControl.title"), t("dali.rulesControl.errorMessages.message"));
84 } else if (messages.isWarningMessages()) {
85 displayWarningMessage(t("dali.rulesControl.title"), t("dali.rulesControl.warningMessages.message"));
86 }
87 }
88
89
90
91
92
93
94 protected boolean showControlResultAndAskContinue(ControlRuleMessagesBean messages) {
95
96
97 boolean canContinue = true;
98 if (messages != null) {
99 if (messages.isWarningMessages() && messages.isErrorMessages()) {
100 canContinue = getContext().getDialogHelper().showOptionDialog(null,
101 t("dali.rulesControl.errorAndWarningMessages.message"),
102 null,
103 t("dali.rulesControl.continue.message"),
104 t("dali.rulesControl.title"),
105 JOptionPane.ERROR_MESSAGE,
106 DialogHelper.CUSTOM_OPTION,
107 t("dali.common.continue"),
108 t("dali.common.cancel")
109 ) == JOptionPane.OK_OPTION;
110 } else if (messages.isErrorMessages()) {
111 canContinue = getContext().getDialogHelper().showOptionDialog(null,
112 t("dali.rulesControl.errorMessages.message"),
113 null,
114 t("dali.rulesControl.continue.message"),
115 t("dali.rulesControl.title"),
116 JOptionPane.ERROR_MESSAGE,
117 DialogHelper.CUSTOM_OPTION,
118 t("dali.common.continue"),
119 t("dali.common.cancel")
120 ) == JOptionPane.OK_OPTION;
121 } else if (messages.isWarningMessages()) {
122 canContinue = getContext().getDialogHelper().showOptionDialog(null,
123 t("dali.rulesControl.warningMessages.message"),
124 null,
125 t("dali.rulesControl.continue.message"),
126 t("dali.rulesControl.title"),
127 JOptionPane.WARNING_MESSAGE,
128 DialogHelper.CUSTOM_OPTION,
129 t("dali.common.continue"),
130 t("dali.common.cancel")
131 ) == JOptionPane.OK_OPTION;
132 }
133 }
134 return canContinue;
135 }
136
137
138
139
140 protected void doImportReferential() {
141
142 getModel().setModify(false);
143
144
145 ImportReferentialSynchroAtOnceAction importAction = getContext().getActionFactory().createLogicAction(getContext().getMainUI().getHandler(), ImportReferentialSynchroAtOnceAction.class);
146 importAction.setForceClearUpdateDtCache(true);
147
148
149 importAction.getContext().setHideBody(false);
150
151
152 forceActionDescription(t("dali.action.synchro.import.referential"));
153
154
155 getContext().getActionEngine().runInternalAction(importAction);
156
157
158 importAction.getContext().setHideBody(true);
159
160 }
161
162 }