View Javadoc

1   /********************************************************************************
2    * InternetCafe is a software solution that helps the management of Cybercafes 
3    * according with the ITALIAN DECREE LAW ON ANTI-TERROR MEASURES, 27 JULY 2005.
4    * Copyright (C) 2006  Guido Angelo Ingenito
5   
6    * This program is free software; you can redistribute it and/or
7    * modify it under the terms of the GNU General Public License
8    * as published by the Free Software Foundation; either version 2
9    * of the License, or (at your option) any later version.
10  
11   * This program is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU General Public License for more details.
15   * 
16   * You should have received a copy of the GNU General Public License
17   * along with this program; if not, write to the Free Software
18   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
19   *******************************************************************************/
20  package ui.command.IO;
21  
22  import ui.Messages;
23  import ui.command.Command;
24  import ui.panel.NAddressPanel;
25  import base.InternetCafe;
26  import base.user.NAddress;
27  import base.user.User;
28  
29  public class SaveNAddressCommand extends Command {
30  
31  	private final User user;
32  
33  	private final NAddressPanel nAddressPanel;
34  
35  	/***
36  	 * @param user
37  	 *            The user owner of the nAddress.
38  	 * @param nAddressPanel
39  	 *            The NAddressPanel from which must be retrieved the nAddress
40  	 *            data
41  	 */
42  	public SaveNAddressCommand(User user, NAddressPanel nAddressPanel) {
43  		this.user = user;
44  		this.nAddressPanel = nAddressPanel;
45  	}
46  
47  	/*
48  	 * (non-Javadoc)
49  	 * 
50  	 * @see ui.command.Command#prologo()
51  	 */
52  	@Override
53  	protected void prologo() {
54  		InternetCafe.setStatusBarMessage(Messages.getString("command.savenaddresscommand.savingnmail")); //$NON-NLS-1$
55  		setStatus(EXECUTE_STATUS);
56  	}
57  
58  	/*
59  	 * (non-Javadoc)
60  	 * 
61  	 * @see ui.command.Command#execution()
62  	 */
63  	@Override
64  	protected void execution() throws Exception {
65  		switch (getStatus()) {
66  		case ERROR_STATUS:
67  			break;
68  		case VETOED_STATUS:
69  			break;
70  		case EXECUTE_STATUS:
71  			NAddress address = user.newNAddress(this.nAddressPanel
72  					.getNAddressCity(), this.nAddressPanel.getNAddressNation(),
73  					this.nAddressPanel.getNAddressStreet(), this.nAddressPanel
74  							.getNAddressRegion(), this.nAddressPanel
75  							.getNAddressPostalCode(), this.nAddressPanel
76  							.getNAddressDescription());
77  			user.addNAddress(address);
78  			setStatus(SUCCESS_STATUS);
79  			break;
80  		}
81  	}
82  }