Red de conocimiento informático - Material del sitio web - Cómo desarrollar un cliente de PC basado en java swing basado en spark

Cómo desarrollar un cliente de PC basado en java swing basado en spark

paquete org.jivesoftware.spark.ui;

importar java.util.ArrayList

importar org.jivesoftware.spark.util.log.Log;

importar org.jivesoftware.spark.util.ModelUtil;

importar org.jivesoftware.resource.Res

importar org.jivesoftware.smack.Roster;

importar org.jivesoftware.smack.RosterEntry;

importar org.jivesoftware.smack.RosterGroup

importar org.jivesoftware.smack.XMPPException

p>

importar org.jivesoftware.smack.RosterGroup;

importar org.jivesoftware.smack.XMPPException

p>

importar org.jivesoftware.smack.packet; .Presencia;

importar org.jivesoftware.smack.packet.RosterPacket;

importar org.jivesoftware.smack.utils

importar org.jivesoftware. .spark.SparkManager;

importar org.jivesoftware.spark.UserManager;

/**

* Manejar todas las solicitudes de suscripción

* @author jian

*

*/

clase pública MiSuscripción {

cadena privada jid

//Constructor

public MySubscription(){

}

/**

* Llamar

* @param jid ID de clave principal

*/

public void invoke(final String jid){

this.jid=jid

final Roster roster=SparkManager.getConnection().getRoster(); //Volver a la lista de amigos

//Si el usuario ya está entre amigos, entonces no mostrar

RosterEntry Entry=roster.getEntry(jid); //Devuelve el usuario correspondiente

if(entry!=nullamp;amp;entry.getType()==RosterPacket. ItemType.to){

Presencia respuesta=nueva Presencia(Presencia.Type.subscribed);

respuesta.setTo(jid

SparkManager.getConnection().sendPacket(respuesta); p> return;

}

UserManager userManager=SparkManager.getUserManager();

String nombre de usuario=userManager.getNickname(userManager.getFullJID(jid));

nombre de usuario=nombre de usuario==null?StringUtils.parseName(UserManager.unescapeJID(jid)): nombre de usuario //Asignar valor al nombre de usuario

boolean addEntry=addEntry(nombre de usuario); /p>

p>

GetGroupName();

if(addEntry){

Presencia respuesta=nueva Presencia(Presencia.Tipo.subscrito); >

respuesta.setTo(jid);

SparkManager.getConnection().sendPacket(respuesta); p> /**

* Aceptar agregar amigos

*/

addEntry booleano privado(String nombre de usuario){

String errorMessage =Res.getString("title .error");

String groupName="Friends"

//Obtener si el grupo de usuarios existe

ContactGroup contactGroup; =SparkManager.getWorkspace(). getContactList().getContactGroup(groupName);

boolean isSharedGroup = contactGroup!=nullamp amp; println("¿Existe el grupo de usuarios? " isSharedGroup);

if(isSharedGroup){

error

rMessage=Res.getString("message.cannot.add.contact.to.shared.group");

}else if(!ModelUtil.hasLength(nombre de usuario)){

errorMessage=Res.getString("message.specify.contact.jid");

}else if(!ModelUtil.hasLength(groupName)){

errorMessage=Res.getString( "message.specify.group");

}else if(ModelUtil.hasLength(nombre de usuario)amp; amp; ModelUtil.hasLength(groupName)amp; !isSharedGroup){

Sistema .out.println("Agregar amigo");

System.out.println("Grupo de salida directo: " groupName

addEntity(jid, nombre de usuario, nombre de grupo);

devuelve verdadero;

}

devuelve falso

}

/**

* Agregar nuevo usuario a la lista de amigos

* @param número de cuenta jid

* @param nombre de usuario apodo

* @param groupName nombre del grupo

*/

private RosterEntry addEntity(String jid, String nombre de usuario, String groupName){

String[] groups={groupName}

System.out.println("Comenzando a agregar");

for(int i=0; ilt; groups.length; i){

System.out .println(groups) [i]);

}

Lista roster=SparkManager.getConnection().getRoster();

RosterEntry userEntry=roster.getEntry (jid);

booleano isSubscribed=true

if(userEntry!=null){

isSubscribed=userEntry.getGroups().size()==0;

}

if(isSubscribed){

prueba {

roster.createEntry(jid, nombre de usuario, new String[]{groupName});

} catch (XMPPException e) {

Log.error("No se pueden agregar nuevos amigos" jid , e);

}

return roster.getEntry(jid

}

prueba {

< p); > RosterGroup rosterGroup=roster.getGroup(groupName);

if(rosterGroup==null){

rosterGroup=roster.createGroup(groupName);

if(userEntry==null){

lista.createEntry(jid, nombre de usuario, grupos

userEntry=roster.getEntry(jid); /p>

}else {

userEntry.setName(nombre de usuario);

rosterGroup.addEntry(userEntry

}

userEntry=roster.getEntry(jid);

} catch (XMPPException ex) {

Log.error(ex); > p>

return entrada de usuario;

}

private void GetGroupName(){

ArrayListlt; ;

for(Grupo de grupo de contacto:SparkManager.getWorkspace().getContactList().getContactGroups()){

if(!group.i

sOfflineGroup()&!"Unfiled".equalsIgnoreCase(group.getGroupName())&!group.isSharedGroup()){

list.add(group.getGroupName()); > System.out.println(group.getGroupName());

}

}

}

}