All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.yaoqiang.collaboration.dialog.AddContactPanel Maven / Gradle / Ivy

There is a newer version: 2.2.18
Show newest version
package org.yaoqiang.collaboration.dialog;

import javax.swing.BoxLayout;

import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.Presence;
import org.jivesoftware.smack.packet.RosterPacket;
import org.yaoqiang.collaboration.ComboPanel;
import org.yaoqiang.collaboration.MainPanel;
import org.yaoqiang.collaboration.TextPanel;
import org.yaoqiang.dialog.PanelContainer;
import org.yaoqiang.util.Resources;

/**
 * AddContactPanel
 * 
 * @author Shi Yaoqiang([email protected])
 */
public class AddContactPanel extends CollaborationPanel {

	private static final long serialVersionUID = -2288276495714600611L;

	protected TextPanel jidPanel;
	protected ComboPanel groupPanel;

	public AddContactPanel(PanelContainer pc) {
		super(pc, null);
		this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));

		jidPanel = new TextPanel(Resources.get("jabberId"), 200, 27);
		add(jidPanel);

		groupPanel = new ComboPanel("group", getMainPanel().getRosterGroups().keySet(), false, true, true);
		add(groupPanel);
	}

	public void saveObjects() {
		String user = jidPanel.getText().trim();
		if (user.length() > 0 && user.lastIndexOf("@") > 0) {
			String group = groupPanel.getSelectedItem().toString();
			if (group.length() > 0 && !group.equalsIgnoreCase("Ungrouped")) {
		        RosterPacket rosterPacket = new RosterPacket();
		        rosterPacket.setType(IQ.Type.SET);
		        RosterPacket.Item item = new RosterPacket.Item(user, null);
		        item.addGroupName(group);
		        rosterPacket.addRosterItem(item);
		        MainPanel.getConnection().sendPacket(rosterPacket);
			}
			Presence presencePacket = new Presence(Presence.Type.subscribe);
			presencePacket.setTo(user);
			MainPanel.getConnection().sendPacket(presencePacket);
			getMainPanel().getRequestJIDList().add(user);
		}
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy