return result;
}
}
}
private IQ manageRoster(IQ packet) throws UnauthorizedException,
UserAlreadyExistsException, SharedGroupException {
IQ returnPacket = null;
JID sender = packet.getFrom();
System.out.println("IQLoadUserCrowdListHandler - manageRoster - begin");
IQ.Type type = packet.getType();
try {
System.out.println("IQLoadUserCrowdListHandler - manageRoster - 1");
if (IQ.Type.get == type) {
package org.jivesoftware.expand.handler.crowd;
import gnu.inet.encoding.IDNAException;
import java.util.ArrayList;
import java.util.Iterator;
import org.dom4j.Element;
import org.jivesoftware.expand.util.Dom4jElement;
import org.jivesoftware.openfire.IQHandlerInfo;
import org.jivesoftware.openfire.PacketException;
import org.jivesoftware.openfire.SharedGroupException;
import org.jivesoftware.openfire.XMPPServer;
import org.jivesoftware.openfire.auth.UnauthorizedException;
import org.jivesoftware.openfire.disco.ServerFeaturesProvider;
import org.jivesoftware.openfire.handler.IQHandler;
import org.jivesoftware.openfire.user.UserAlreadyExistsException;
import org.jivesoftware.openfire.user.UserManager;
import org.jivesoftware.util.LocaleUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.IQ;
import org.xmpp.packet.JID;
import org.xmpp.packet.PacketError;
public class IQTestrrHandler extends IQHandler implements
ServerFeaturesProvider {
private static final Logger Log = LoggerFactory
.getLogger(IQTestrrHandler.class);
private IQHandlerInfo info;
public IQTestrrHandler() {
super("XMPP User Crowd List Handler");
info = new IQHandlerInfo("query", "jabber:iq:testrr");
}
@Override
public IQ handleIQ(IQ packet) throws UnauthorizedException, PacketException {
System.out.println("IQLoadUserCrowdListHandler - handleIQ - begin");
try {
IQ returnPacket = null;
System.out.println("IQLoadUserCrowdListHandler - handleIQ - 1");
System.out.println("IQLoadUserCrowdListHandler - handleIQ - packet to xml = "
+ packet.toXML());
JID recipientJID = packet.getTo();
if (recipientJID == null
|| recipientJID.getNode() == null
|| !UserManager.getInstance().isRegisteredUser(
recipientJID.getNode())) {
returnPacket = manageRoster(packet);
}
return returnPacket;
} catch (SharedGroupException e) {
IQ result = IQ.createResultIQ(packet);
result.setChildElement(packet.getChildElement().createCopy());
result.setError(PacketError.Condition.not_acceptable);
return result;
} catch (Exception e) {
if (e.getCause() instanceof IDNAException) {
Log.warn(LocaleUtils.getLocalizedString("admin.error"), e);
IQ result = IQ.createResultIQ(packet);
result.setChildElement(packet.getChildElement().createCopy());
result.setError(PacketError.Condition.jid_malformed);
return result;
} else {
Log.error(LocaleUtils.getLocalizedString("admin.error"), e);
IQ result = IQ.createResultIQ(packet);
result.setChildElement(packet.getChildElement().createCopy());
result.setError(PacketError.Condition.intern