View Javadoc
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   * @author peck7 on 27/06/2019.
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       * <p>Constructor for AbstractDaliAction.</p>
25       *
26       * @param handler  a H object.
27       * @param hideBody a boolean.
28       */
29      public AbstractUpdateReferentialAction(H handler, boolean hideBody) {
30          super(handler, hideBody);
31          setActionDescription(t("quadrige3.action.synchro.import.title"));
32      }
33  
34      /**
35       * {@inheritDoc}
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       * {@inheritDoc}
59       */
60      @Override
61      public void doAction() {
62  
63          if (LOG.isDebugEnabled()) {
64              LOG.debug("Referential update have been confirmed");
65          }
66  
67          // Import referential
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  }