01: // The contents of this file are subject to the Mozilla Public License Version
02: // 1.1
03: //(the "License"); you may not use this file except in compliance with the
04: //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
05: //
06: //Software distributed under the License is distributed on an "AS IS" basis,
07: //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
08: //for the specific language governing rights and
09: //limitations under the License.
10: //
11: //The Original Code is "The Columba Project"
12: //
13: //The Initial Developers of the Original Code are Frederik Dietz and Timo
14: // Stich.
15: //Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16: //
17: //All Rights Reserved.
18: package org.columba.chat.command;
19:
20: import javax.swing.JOptionPane;
21:
22: import org.columba.api.command.ICommandReference;
23: import org.columba.api.command.IWorkerStatusController;
24: import org.columba.chat.Connection;
25: import org.columba.chat.ui.frame.api.IChatFrameMediator;
26: import org.columba.core.command.Command;
27: import org.columba.core.gui.frame.FrameManager;
28: import org.jivesoftware.smack.XMPPException;
29:
30: public class AddContactCommand extends Command {
31:
32: private PopulateRoasterCommand populateCommand;
33:
34: public AddContactCommand(IChatFrameMediator mediator,
35: ICommandReference reference) {
36: super (reference);
37:
38: populateCommand = new PopulateRoasterCommand(mediator,
39: reference);
40:
41: }
42:
43: /**
44: * @see org.columba.core.command.Command#updateGUI()
45: */
46: @Override
47: public void updateGUI() throws Exception {
48: populateCommand.updateGUI();
49: }
50:
51: @Override
52: public void execute(IWorkerStatusController worker)
53: throws Exception {
54: ChatCommandReference ref = (ChatCommandReference) getReference();
55:
56: try {
57: String jabberId = ref.getJabberId();
58:
59: // add contact to roaster, nickname="", group=null
60: Connection.XMPPConnection.getRoster().createEntry(jabberId,
61: "", null);
62:
63: populateCommand.execute(worker);
64:
65: } catch (XMPPException e) {
66: JOptionPane.showMessageDialog(FrameManager.getInstance()
67: .getActiveFrame(), e.getMessage());
68: e.printStackTrace();
69: }
70: }
71:
72: }
|