View Javadoc
1   package fr.ifremer.dali.ui.swing.content.home.survey;
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 AbstractEditSurveyAction extends
38          AbstractCheckBeforeChangeScreenAction<SurveysTableUIModel, SurveysTableUI, SurveysTableUIHandler> {
39  
40      /**
41       * Constructor.
42       *
43       * @param handler  Handler
44       * @param hideBody HideBody
45       */
46      protected AbstractEditSurveyAction(SurveysTableUIHandler handler, boolean hideBody) {
47          super(handler, hideBody);
48      }
49  
50      /** {@inheritDoc} */
51      @Override
52      public boolean prepareAction() throws Exception {
53          boolean canContinue = super.prepareAction();
54          getContext().setSelectedSamplingOperationId(null);
55          if (canContinue && (getModel().isModify() || getModel().getMainUIModel().isModify())) {
56              getContext().getDialogHelper().showWarningDialog(
57                      t("dali.home.survey.error.message"),
58                      t("dali.home.survey.error.title"));
59              canContinue = false;
60          }
61          return canContinue;
62  
63      }
64  
65      /** {@inheritDoc} */
66      @Override
67      protected Class<? extends AbstractDaliSaveAction> getSaveActionClass() {
68          return SaveAction.class;
69      }
70  
71      /** {@inheritDoc} */
72      @Override
73      protected boolean isModelModify() {
74          return getModel().getMainUIModel().isModify();
75      }
76  
77      /** {@inheritDoc} */
78      @Override
79      protected void setModelModify(boolean modelModify) {
80          getModel().getMainUIModel().setModify(modelModify);
81      }
82  
83      /** {@inheritDoc} */
84      @Override
85      protected boolean isModelValid() {
86          return getModel().getMainUIModel().isValid();
87      }
88  
89      /** {@inheritDoc} */
90      @Override
91      protected AbstractApplicationUIHandler<?, ?> getSaveHandler() {
92          return getUI().getParentContainer(HomeUI.class).getHandler();
93      }
94  }