View Javadoc
1   package fr.ifremer.dali.ui.swing.content.home.operation;
2   
3   /*
4    * #%L
5    * Dali :: UI
6    * $Id:$
7    * $HeadURL:$
8    * %%
9    * Copyright (C) 2014 - 2015 Ifremer
10   * %%
11   * This program is free software: you can redistribute it and/or modify
12   * it under the terms of the GNU Affero General Public License as published by
13   * the Free Software Foundation, either version 3 of the License, or
14   * (at your option) any later version.
15   * 
16   * This program is distributed in the hope that it will be useful,
17   * but WITHOUT ANY WARRANTY; without even the implied warranty of
18   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19   * GNU General Public License for more details.
20   * 
21   * You should have received a copy of the GNU Affero General Public License
22   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
23   * #L%
24   */
25  
26  import fr.ifremer.dali.ui.swing.action.AbstractCheckBeforeChangeScreenAction;
27  import fr.ifremer.dali.ui.swing.action.AbstractDaliSaveAction;
28  import fr.ifremer.dali.ui.swing.content.home.HomeUI;
29  import fr.ifremer.dali.ui.swing.content.home.SaveAction;
30  import org.nuiton.jaxx.application.swing.AbstractApplicationUIHandler;
31  
32  import static org.nuiton.i18n.I18n.t;
33  
34  /**
35   * Created by Ludovic on 01/07/2015.
36   */
37  public abstract class AbstractEditOperationAction extends AbstractCheckBeforeChangeScreenAction<OperationsTableUIModel, OperationsTableUI, OperationsTableUIHandler> {
38  
39      /**
40       * Constructor.
41       *
42       * @param handler  Handler
43       * @param hideBody HideBody
44       */
45      protected AbstractEditOperationAction(OperationsTableUIHandler handler, boolean hideBody) {
46          super(handler, hideBody);
47      }
48  
49      /** {@inheritDoc} */
50      @Override
51      public boolean prepareAction() throws Exception {
52          boolean canContinue = super.prepareAction();
53          if (canContinue && (getModel().isModify() || getModel().getMainUIModel().isModify())) {
54              getContext().getDialogHelper().showWarningDialog(
55                      t("dali.home.samplingOperation.error.message"),
56                      t("dali.home.samplingOperation.error.title"));
57              canContinue = false;
58          }
59          return canContinue;
60      }
61  
62      /** {@inheritDoc} */
63      @Override
64      protected Class<? extends AbstractDaliSaveAction> getSaveActionClass() {
65          return SaveAction.class;
66      }
67  
68      /** {@inheritDoc} */
69      @Override
70      protected boolean isModelModify() {
71          return getModel().getMainUIModel().isModify();
72      }
73  
74      /** {@inheritDoc} */
75      @Override
76      protected void setModelModify(boolean modelModify) {
77          getModel().getMainUIModel().setModify(modelModify);
78      }
79  
80      /** {@inheritDoc} */
81      @Override
82      protected boolean isModelValid() {
83          return getModel().getMainUIModel().isValid();
84      }
85  
86      /** {@inheritDoc} */
87      @Override
88      protected AbstractApplicationUIHandler<?, ?> getSaveHandler() {
89          return getUI().getParentContainer(HomeUI.class).getHandler();
90      }
91  }