View Javadoc
1   package fr.ifremer.dali.ui.swing.content.manage.referential.taxon.menu;
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.dto.referential.TaxonDTO;
27  import fr.ifremer.dali.ui.swing.action.AbstractDaliAction;
28  import org.apache.commons.lang3.StringUtils;
29  
30  import java.util.List;
31  
32  import static org.nuiton.i18n.I18n.t;
33  
34  /**
35   * Action permettant la recherche de taxons au niveau national
36   */
37  public class SearchAction extends AbstractDaliAction<TaxonMenuUIModel, TaxonMenuUI, TaxonMenuUIHandler> {
38  
39      private List<TaxonDTO> result;
40  
41      /**
42       * Constructor.
43       *
44       * @param handler Le controller
45       */
46      public SearchAction(final TaxonMenuUIHandler handler) {
47          super(handler, false);
48      }
49  
50      /** {@inheritDoc} */
51      @Override
52      public boolean prepareAction() throws Exception {
53          if (!super.prepareAction()) {
54              return false;
55          }
56  
57          if (getModel().getLevel() == null && StringUtils.isBlank(getModel().getName())) {
58  
59              getContext().getDialogHelper().showWarningDialog(t("dali.action.search.missingCriteria"));
60              return false;
61          }
62  
63          return true;
64      }
65  
66      /** {@inheritDoc} */
67      @Override
68      public void doAction() throws Exception {
69  
70          result = getContext().getReferentialService().searchTaxons(getModel());
71      }
72  
73      /** {@inheritDoc} */
74      @Override
75      public void postSuccessAction() {
76  
77          getModel().setResults(result);
78  
79          super.postSuccessAction();
80      }
81  
82  }