View Javadoc
1   package fr.ifremer.reefdb.ui.swing.content.manage.referential.unit;
2   
3   /*
4    * #%L
5    * Reef DB :: 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.reefdb.dto.referential.UnitDTO;
27  import fr.ifremer.reefdb.ui.swing.action.AbstractReefDbSaveAction;
28  
29  import java.util.List;
30  
31  /**
32   * Action fermer une observation.
33   */
34  public class SaveAction extends AbstractReefDbSaveAction<ReferentialUnitsUIModel, ReferentialUnitsUI, ReferentialUnitsUIHandler> {
35  
36  	/**
37  	 * Constructor.
38  	 *
39  	 * @param handler Controller
40  	 */
41  	public SaveAction(final ReferentialUnitsUIHandler handler) {
42  		super(handler, false);
43  	}
44  
45  	/** {@inheritDoc} */
46  	@Override
47  	public boolean prepareAction() throws Exception {
48  		if (!super.prepareAction()) {
49  			return false;
50  		}
51  
52  		// if the screen can be saved and the screen is valid
53  		return getModel().isModify() && getModel().isValid();
54  	}
55  
56  	/** {@inheritDoc} */
57  	@Override
58  	public void doAction() {
59  
60  		List<? extends UnitDTO> toSave = getModel().getLocalUIModel().getRows();
61  
62  		getContext().getReferentialService().saveUnits(toSave);
63  	}
64  
65  	/** {@inheritDoc} */
66  	@Override
67  	public void postSuccessAction() {
68  
69  		getUI().getReferentialUnitsLocalUI().getMenuUI().getHandler().reloadComboBox();
70  
71  		getModel().setModify(false);
72  
73  		super.postSuccessAction();
74  	}
75  
76  }