package org.buddycloud.channelserver.packetprocessor.iq.namespace.discoitems; import java.util.List; import java.util.concurrent.BlockingQueue; import org.buddycloud.channelserver.packetprocessor.PacketProcessor; import org.buddycloud.channelserver.queue.FederatedQueueManager; import org.buddycloud.channelserver.utils.XMLConstants; import org.dom4j.Element; import org.xmpp.packet.IQ; import org.xmpp.packet.Packet; public class DiscoResult implements PacketProcessor<IQ> { public static final String ELEMENT_NAME = "query"; private IQ requestIq; private FederatedQueueManager federatedQueueManager; public DiscoResult(BlockingQueue<Packet> outQueue, FederatedQueueManager federatedQueueManager) { this.federatedQueueManager = federatedQueueManager; } @Override public void process(IQ reqIQ) throws Exception { this.requestIq = reqIQ; List<Element> items = requestIq.getChildElement().elements(XMLConstants.ITEM_ELEM); federatedQueueManager.processDiscoItemsResponse(requestIq.getFrom(), items); } }