1 package fr.ifremer.dali.ui.swing.action;
2
3 import fr.ifremer.quadrige3.ui.swing.ApplicationUIUtil;
4 import fr.ifremer.quadrige3.ui.swing.DialogHelper;
5 import fr.ifremer.quadrige3.ui.swing.model.AbstractBeanUIModel;
6 import fr.ifremer.dali.ui.swing.util.AbstractDaliUIHandler;
7 import fr.ifremer.dali.ui.swing.util.DaliUI;
8 import org.apache.commons.logging.Log;
9 import org.apache.commons.logging.LogFactory;
10
11 import javax.swing.JOptionPane;
12
13 import static org.nuiton.i18n.I18n.t;
14
15
16
17
18 public abstract class AbstractUpdateReferentialAction<M extends AbstractBeanUIModel, UI extends DaliUI<M, ?>, H extends AbstractDaliUIHandler<M, UI>>
19 extends AbstractDaliAction<M, UI, H> {
20
21 private static final Log LOG = LogFactory.getLog(AbstractUpdateReferentialAction.class);
22
23
24
25
26
27
28
29 public AbstractUpdateReferentialAction(H handler, boolean hideBody) {
30 super(handler, hideBody);
31 setActionDescription(t("quadrige3.action.synchro.import.title"));
32 }
33
34
35
36
37 @Override
38 public boolean prepareAction() throws Exception {
39 if (!super.prepareAction()) {
40 return false;
41 }
42
43 if (LOG.isDebugEnabled()) {
44 LOG.debug("Referential update have been proposed");
45 }
46
47 return getContext().getDialogHelper().showOptionDialog(null,
48 ApplicationUIUtil.getHtmlString(t("dali.action.common.import.referential.beforeModify.confirm")),
49 t("dali.action.common.import.referential.beforeModify.title"),
50 JOptionPane.WARNING_MESSAGE,
51 DialogHelper.CUSTOM_OPTION,
52 t("dali.common.import"),
53 t("dali.common.cancel")
54 ) == JOptionPane.OK_OPTION;
55 }
56
57
58
59
60 @Override
61 public void doAction() {
62
63 if (LOG.isDebugEnabled()) {
64 LOG.debug("Referential update have been confirmed");
65 }
66
67
68 doImportReferential();
69
70 }
71
72 @Override
73 public void postSuccessAction() {
74 super.postSuccessAction();
75
76 if (LOG.isDebugEnabled()) {
77 LOG.debug("Referential update done.");
78 }
79 }
80 }