
org.yaoqiang.collaboration.dialog.AddContactPanel Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of yaoqiang-bpmn-editor Show documentation
Show all versions of yaoqiang-bpmn-editor Show documentation
an Open Source BPMN 2.0 Modeler
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