public IQ parseIQ(XmlPullParser parser) throws Exception { MUCAdmin mucAdmin = new MUCAdmin(); boolean done = false; while (!done) { int eventType = parser.next(); if (eventType == XmlPullParser.START_TAG) { if (parser.getName().equals("item")) { mucAdmin.addItem(parseItem(parser)); } } else if (eventType == XmlPullParser.END_TAG) { if (parser.getName().equals("query")) { done = true; } } } return mucAdmin; }
private MUCAdmin.Item parseItem(XmlPullParser parser) throws Exception { boolean done = false; MUCAdmin.Item item = new MUCAdmin.Item( parser.getAttributeValue("", "affiliation"), parser.getAttributeValue("", "role")); item.setNick(parser.getAttributeValue("", "nick")); item.setJid(parser.getAttributeValue("", "jid")); while (!done) { int eventType = parser.next(); if (eventType == XmlPullParser.START_TAG) { if (parser.getName().equals("actor")) { item.setActor(parser.getAttributeValue("", "jid")); } if (parser.getName().equals("reason")) { item.setReason(parser.nextText()); } } else if (eventType == XmlPullParser.END_TAG) { if (parser.getName().equals("item")) { done = true; } } } return item; }
private MUCAdmin.Item parseItem(XmlPullParser parser) throws Exception { boolean done = false; MUCAdmin.Item item = new MUCAdmin.Item(parser.getAttributeValue("", "affiliation"), parser.getAttributeValue("", "role")); item.setNick(parser.getAttributeValue("", "nick")); item.setJid(parser.getAttributeValue("", "jid")); while (!done) { int eventType = parser.next(); if (eventType == XmlPullParser.START_TAG) { if (parser.getName().equals("actor")) { item.setActor(parser.getAttributeValue("", "jid")); } if (parser.getName().equals("reason")) { item.setReason(parser.nextText()); } } else if (eventType == XmlPullParser.END_TAG) { if (parser.getName().equals("item")) { done = true; } } } return item; }
Occupant(MUCAdmin.Item item) { super(); this.jid = item.getJid(); this.affiliation = item.getAffiliation(); this.role = item.getRole(); this.nick = item.getNick(); }
private void changeAffiliationByAdmin(String jid, String affiliation, String reason) throws XMPPException { MUCAdmin iq = new MUCAdmin(); iq.setTo(room); iq.setType(IQ.Type.SET); // Set the new affiliation. MUCAdmin.Item item = new MUCAdmin.Item(affiliation, null); item.setJid(jid); item.setReason(reason); iq.addItem(item); // Wait for a response packet back from the server. PacketFilter responseFilter = new PacketIDFilter(iq.getPacketID()); PacketCollector response = connection.createPacketCollector(responseFilter); // Send the change request to the server. connection.sendPacket(iq); // Wait up to a certain number of seconds for a reply. IQ answer = (IQ) response.nextResult(SmackConfiguration.getPacketReplyTimeout()); // Stop queuing results response.cancel(); if (answer == null) { throw new XMPPException("No response from server."); } else if (answer.getError() != null) { throw new XMPPException(answer.getError()); } }
private void changeAffiliationByAdmin(Collection<String> jids, String affiliation) throws XMPPException { MUCAdmin iq = new MUCAdmin(); iq.setTo(room); iq.setType(IQ.Type.SET); for (String jid : jids) { // Set the new affiliation. MUCAdmin.Item item = new MUCAdmin.Item(affiliation, null); item.setJid(jid); iq.addItem(item); } // Wait for a response packet back from the server. PacketFilter responseFilter = new PacketIDFilter(iq.getPacketID()); PacketCollector response = connection.createPacketCollector(responseFilter); // Send the change request to the server. connection.sendPacket(iq); // Wait up to a certain number of seconds for a reply. IQ answer = (IQ) response.nextResult(SmackConfiguration.getPacketReplyTimeout()); // Stop queuing results response.cancel(); if (answer == null) { throw new XMPPException("No response from server."); } else if (answer.getError() != null) { throw new XMPPException(answer.getError()); } }
private void changeRole(String nickname, String role, String reason) throws XMPPException { MUCAdmin iq = new MUCAdmin(); iq.setTo(room); iq.setType(IQ.Type.SET); // Set the new role. MUCAdmin.Item item = new MUCAdmin.Item(null, role); item.setNick(nickname); item.setReason(reason); iq.addItem(item); // Wait for a response packet back from the server. PacketFilter responseFilter = new PacketIDFilter(iq.getPacketID()); PacketCollector response = connection.createPacketCollector(responseFilter); // Send the change request to the server. connection.sendPacket(iq); // Wait up to a certain number of seconds for a reply. IQ answer = (IQ) response.nextResult(SmackConfiguration.getPacketReplyTimeout()); // Stop queuing results response.cancel(); if (answer == null) { throw new XMPPException("No response from server."); } else if (answer.getError() != null) { throw new XMPPException(answer.getError()); } }
private void changeRole(Collection<String> nicknames, String role) throws XMPPException { MUCAdmin iq = new MUCAdmin(); iq.setTo(room); iq.setType(IQ.Type.SET); for (String nickname : nicknames) { // Set the new role. MUCAdmin.Item item = new MUCAdmin.Item(null, role); item.setNick(nickname); iq.addItem(item); } // Wait for a response packet back from the server. PacketFilter responseFilter = new PacketIDFilter(iq.getPacketID()); PacketCollector response = connection.createPacketCollector(responseFilter); // Send the change request to the server. connection.sendPacket(iq); // Wait up to a certain number of seconds for a reply. IQ answer = (IQ) response.nextResult(SmackConfiguration.getPacketReplyTimeout()); // Stop queuing results response.cancel(); if (answer == null) { throw new XMPPException("No response from server."); } else if (answer.getError() != null) { throw new XMPPException(answer.getError()); } }
/** * Returns a collection of <code>Affiliate</code> that have the specified room affiliation * sending a request in the admin namespace. * * @param affiliation the affiliation of the users in the room. * @return a collection of <code>Affiliate</code> that have the specified room affiliation. * @throws XMPPException if an error occured while performing the request to the server or you * don't have enough privileges to get this information. */ private Collection<Affiliate> getAffiliatesByAdmin(String affiliation) throws XMPPException { MUCAdmin iq = new MUCAdmin(); iq.setTo(room); iq.setType(IQ.Type.GET); // Set the specified affiliation. This may request the list of owners/admins/members/outcasts. MUCAdmin.Item item = new MUCAdmin.Item(affiliation, null); iq.addItem(item); // Wait for a response packet back from the server. PacketFilter responseFilter = new PacketIDFilter(iq.getPacketID()); PacketCollector response = connection.createPacketCollector(responseFilter); // Send the request to the server. connection.sendPacket(iq); // Wait up to a certain number of seconds for a reply. MUCAdmin answer = (MUCAdmin) response.nextResult(SmackConfiguration.getPacketReplyTimeout()); // Stop queuing results response.cancel(); if (answer == null) { throw new XMPPException("No response from server."); } else if (answer.getError() != null) { throw new XMPPException(answer.getError()); } // Get the list of affiliates from the server's answer List<Affiliate> affiliates = new ArrayList<Affiliate>(); for (Iterator it = answer.getItems(); it.hasNext();) { affiliates.add(new Affiliate((MUCAdmin.Item) it.next())); } return affiliates; }
/** * Returns a collection of <code>Occupant</code> that have the specified room role. * * @param role the role of the occupant in the room. * @return a collection of <code>Occupant</code> that have the specified room role. * @throws XMPPException if an error occured while performing the request to the server or you * don't have enough privileges to get this information. */ private Collection<Occupant> getOccupants(String role) throws XMPPException { MUCAdmin iq = new MUCAdmin(); iq.setTo(room); iq.setType(IQ.Type.GET); // Set the specified role. This may request the list of moderators/participants. MUCAdmin.Item item = new MUCAdmin.Item(null, role); iq.addItem(item); // Wait for a response packet back from the server. PacketFilter responseFilter = new PacketIDFilter(iq.getPacketID()); PacketCollector response = connection.createPacketCollector(responseFilter); // Send the request to the server. connection.sendPacket(iq); // Wait up to a certain number of seconds for a reply. MUCAdmin answer = (MUCAdmin) response.nextResult(SmackConfiguration.getPacketReplyTimeout()); // Stop queuing results response.cancel(); if (answer == null) { throw new XMPPException("No response from server."); } else if (answer.getError() != null) { throw new XMPPException(answer.getError()); } // Get the list of participants from the server's answer List<Occupant> participants = new ArrayList<Occupant>(); for (Iterator it = answer.getItems(); it.hasNext();) { participants.add(new Occupant((MUCAdmin.Item) it.next())); } return participants; }
Affiliate(MUCAdmin.Item item) { super(); this.jid = item.getJid(); this.affiliation = item.getAffiliation(); this.role = item.getRole(); this.nick = item.getNick(); }
/** * Tries to change the affiliation with an 'muc#admin' namespace * * @param jid * @param affiliation * @param reason the reason for the affiliation change (optional) * @throws XMPPException */ private void changeAffiliationByAdmin(String jid, String affiliation, String reason) throws XMPPException { MUCAdmin iq = new MUCAdmin(); iq.setTo(room); iq.setType(IQ.Type.SET); // Set the new affiliation. MUCAdmin.Item item = new MUCAdmin.Item(affiliation, null); item.setJid(jid); if(reason != null) item.setReason(reason); iq.addItem(item); // Wait for a response packet back from the server. PacketFilter responseFilter = new PacketIDFilter(iq.getPacketID()); PacketCollector response = connection.createPacketCollector(responseFilter); // Send the change request to the server. connection.sendPacket(iq); // Wait up to a certain number of seconds for a reply. IQ answer = (IQ) response.nextResult(SmackConfiguration.getPacketReplyTimeout()); // Stop queuing results response.cancel(); if (answer == null) { throw new XMPPException("No response from server."); } else if (answer.getError() != null) { throw new XMPPException(answer.getError()); } }
/** * Returns a collection of <code>Affiliate</code> that have the specified room affiliation * sending a request in the admin namespace. * * @param affiliation the affiliation of the users in the room. * @return a collection of <code>Affiliate</code> that have the specified room affiliation. * @throws XMPPException if an error occured while performing the request to the server or you * don't have enough privileges to get this information. */ private Collection<Affiliate> getAffiliatesByAdmin(String affiliation) throws XMPPException { MUCAdmin iq = new MUCAdmin(); iq.setTo(room); iq.setType(IQ.Type.GET); // Set the specified affiliation. This may request the list of owners/admins/members/outcasts. MUCAdmin.Item item = new MUCAdmin.Item(affiliation, null); iq.addItem(item); // Wait for a response packet back from the server. PacketFilter responseFilter = new PacketIDFilter(iq.getPacketID()); PacketCollector response = connection.createPacketCollector(responseFilter); // Send the request to the server. connection.sendPacket(iq); // Wait up to a certain number of seconds for a reply. MUCAdmin answer = (MUCAdmin) response.nextResult(SmackConfiguration.getPacketReplyTimeout()); // Stop queuing results response.cancel(); if (answer == null) { throw new XMPPException("No response from server."); } else if (answer.getError() != null) { throw new XMPPException(answer.getError()); } // Get the list of affiliates from the server's answer List<Affiliate> affiliates = new ArrayList<Affiliate>(); for (Iterator<MUCAdmin.Item> it = answer.getItems(); it.hasNext();) { affiliates.add(new Affiliate(it.next())); } return affiliates; }
/** * Returns a collection of <code>Occupant</code> that have the specified room role. * * @param role the role of the occupant in the room. * @return a collection of <code>Occupant</code> that have the specified room role. * @throws XMPPException if an error occured while performing the request to the server or you * don't have enough privileges to get this information. */ private Collection<Occupant> getOccupants(String role) throws XMPPException { MUCAdmin iq = new MUCAdmin(); iq.setTo(room); iq.setType(IQ.Type.GET); // Set the specified role. This may request the list of moderators/participants. MUCAdmin.Item item = new MUCAdmin.Item(null, role); iq.addItem(item); // Wait for a response packet back from the server. PacketFilter responseFilter = new PacketIDFilter(iq.getPacketID()); PacketCollector response = connection.createPacketCollector(responseFilter); // Send the request to the server. connection.sendPacket(iq); // Wait up to a certain number of seconds for a reply. MUCAdmin answer = (MUCAdmin) response.nextResult(SmackConfiguration.getPacketReplyTimeout()); // Stop queuing results response.cancel(); if (answer == null) { throw new XMPPException("No response from server."); } else if (answer.getError() != null) { throw new XMPPException(answer.getError()); } // Get the list of participants from the server's answer List<Occupant> participants = new ArrayList<Occupant>(); for (Iterator<MUCAdmin.Item> it = answer.getItems(); it.hasNext();) { participants.add(new Occupant(it.next())); } return participants; }
private void changeAffiliationByAdmin(String jid, String affiliation, String reason) throws XMPPException { MUCAdmin iq = new MUCAdmin(); iq.setTo(room); iq.setType(IQ.Type.SET); // Set the new affiliation. MUCAdmin.Item item = new MUCAdmin.Item(affiliation, null); item.setJid(jid); if (reason != null) item.setReason(reason); iq.addItem(item); // Wait for a response packet back from the server. PacketFilter responseFilter = new PacketIDFilter(iq.getPacketID()); PacketCollector response = connection .createPacketCollector(responseFilter); // Send the change request to the server. connection.sendPacket(iq); // Wait up to a certain number of seconds for a reply. IQ answer = (IQ) response.nextResult(SmackConfiguration .getPacketReplyTimeout()); // Stop queuing results response.cancel(); if (answer == null) { throw new XMPPException("No response from server."); } else if (answer.getError() != null) { throw new XMPPException(answer.getError()); } }
private void changeAffiliationByAdmin(Collection<String> jids, String affiliation) throws XMPPException { MUCAdmin iq = new MUCAdmin(); iq.setTo(room); iq.setType(IQ.Type.SET); for (String jid : jids) { // Set the new affiliation. MUCAdmin.Item item = new MUCAdmin.Item(affiliation, null); item.setJid(jid); iq.addItem(item); } // Wait for a response packet back from the server. PacketFilter responseFilter = new PacketIDFilter(iq.getPacketID()); PacketCollector response = connection .createPacketCollector(responseFilter); // Send the change request to the server. connection.sendPacket(iq); // Wait up to a certain number of seconds for a reply. IQ answer = (IQ) response.nextResult(SmackConfiguration .getPacketReplyTimeout()); // Stop queuing results response.cancel(); if (answer == null) { throw new XMPPException("No response from server."); } else if (answer.getError() != null) { throw new XMPPException(answer.getError()); } }
private void changeRole(String nickname, String role, String reason) throws XMPPException { MUCAdmin iq = new MUCAdmin(); iq.setTo(room); iq.setType(IQ.Type.SET); // Set the new role. MUCAdmin.Item item = new MUCAdmin.Item(null, role); item.setNick(nickname); item.setReason(reason); iq.addItem(item); // Wait for a response packet back from the server. PacketFilter responseFilter = new PacketIDFilter(iq.getPacketID()); PacketCollector response = connection .createPacketCollector(responseFilter); // Send the change request to the server. connection.sendPacket(iq); // Wait up to a certain number of seconds for a reply. IQ answer = (IQ) response.nextResult(SmackConfiguration .getPacketReplyTimeout()); // Stop queuing results response.cancel(); if (answer == null) { throw new XMPPException("No response from server."); } else if (answer.getError() != null) { throw new XMPPException(answer.getError()); } }
private void changeRole(Collection<String> nicknames, String role) throws XMPPException { MUCAdmin iq = new MUCAdmin(); iq.setTo(room); iq.setType(IQ.Type.SET); for (String nickname : nicknames) { // Set the new role. MUCAdmin.Item item = new MUCAdmin.Item(null, role); item.setNick(nickname); iq.addItem(item); } // Wait for a response packet back from the server. PacketFilter responseFilter = new PacketIDFilter(iq.getPacketID()); PacketCollector response = connection .createPacketCollector(responseFilter); // Send the change request to the server. connection.sendPacket(iq); // Wait up to a certain number of seconds for a reply. IQ answer = (IQ) response.nextResult(SmackConfiguration .getPacketReplyTimeout()); // Stop queuing results response.cancel(); if (answer == null) { throw new XMPPException("No response from server."); } else if (answer.getError() != null) { throw new XMPPException(answer.getError()); } }
/** * Returns a collection of <code>Affiliate</code> that have the specified * room affiliation sending a request in the admin namespace. * * @param affiliation * the affiliation of the users in the room. * @return a collection of <code>Affiliate</code> that have the specified * room affiliation. * @throws XMPPException * if an error occured while performing the request to the * server or you don't have enough privileges to get this * information. */ private Collection<Affiliate> getAffiliatesByAdmin(String affiliation) throws XMPPException { MUCAdmin iq = new MUCAdmin(); iq.setTo(room); iq.setType(IQ.Type.GET); // Set the specified affiliation. This may request the list of // owners/admins/members/outcasts. MUCAdmin.Item item = new MUCAdmin.Item(affiliation, null); iq.addItem(item); // Wait for a response packet back from the server. PacketFilter responseFilter = new PacketIDFilter(iq.getPacketID()); PacketCollector response = connection .createPacketCollector(responseFilter); // Send the request to the server. connection.sendPacket(iq); // Wait up to a certain number of seconds for a reply. MUCAdmin answer = (MUCAdmin) response.nextResult(SmackConfiguration .getPacketReplyTimeout()); // Stop queuing results response.cancel(); if (answer == null) { throw new XMPPException("No response from server."); } else if (answer.getError() != null) { throw new XMPPException(answer.getError()); } // Get the list of affiliates from the server's answer List<Affiliate> affiliates = new ArrayList<Affiliate>(); for (Iterator it = answer.getItems(); it.hasNext();) { affiliates.add(new Affiliate((MUCAdmin.Item) it.next())); } return affiliates; }
/** * Returns a collection of <code>Occupant</code> that have the specified * room role. * * @param role * the role of the occupant in the room. * @return a collection of <code>Occupant</code> that have the specified * room role. * @throws XMPPException * if an error occured while performing the request to the * server or you don't have enough privileges to get this * information. */ private Collection<Occupant> getOccupants(String role) throws XMPPException { MUCAdmin iq = new MUCAdmin(); iq.setTo(room); iq.setType(IQ.Type.GET); // Set the specified role. This may request the list of // moderators/participants. MUCAdmin.Item item = new MUCAdmin.Item(null, role); iq.addItem(item); // Wait for a response packet back from the server. PacketFilter responseFilter = new PacketIDFilter(iq.getPacketID()); PacketCollector response = connection .createPacketCollector(responseFilter); // Send the request to the server. connection.sendPacket(iq); // Wait up to a certain number of seconds for a reply. MUCAdmin answer = (MUCAdmin) response.nextResult(SmackConfiguration .getPacketReplyTimeout()); // Stop queuing results response.cancel(); if (answer == null) { throw new XMPPException("No response from server."); } else if (answer.getError() != null) { throw new XMPPException(answer.getError()); } // Get the list of participants from the server's answer List<Occupant> participants = new ArrayList<Occupant>(); for (Iterator it = answer.getItems(); it.hasNext();) { participants.add(new Occupant((MUCAdmin.Item) it.next())); } return participants; }
/** * Tries to change the affiliation with an 'muc#admin' namespace * * @param jid * @param affiliation * @param reason the reason for the affiliation change (optional) * @throws XMPPException */ private void changeAffiliationByAdmin(String jid, String affiliation, String reason) throws XMPPException { MUCAdmin iq = new MUCAdmin(); iq.setTo(room); iq.setType(IQ.Type.SET); // Set the new affiliation. MUCAdmin.Item item = new MUCAdmin.Item(affiliation, null); item.setJid(jid); item.setReason(reason); iq.addItem(item); // Wait for a response packet back from the server. PacketFilter responseFilter = new PacketIDFilter(iq.getPacketID()); PacketCollector response = connection.createPacketCollector(responseFilter); // Send the change request to the server. connection.sendPacket(iq); // Wait up to a certain number of seconds for a reply. IQ answer = (IQ) response.nextResult(SmackConfiguration.getPacketReplyTimeout()); // Stop queuing results response.cancel(); if (answer == null) { throw new XMPPException("No response from server."); } else if (answer.getError() != null) { throw new XMPPException(answer.getError()); } }