* @param query an optional query object used to tell the server what metadata to retrieve. This can be null.
* @throws XMPPException if an error occurs while sending the request to the server.
* @return the settings for the workgroup.
*/
public GenericSettings getGenericSettings(XMPPConnection con, String query) throws XMPPException {
GenericSettings setting = new GenericSettings();
setting.setType(IQ.Type.GET);
setting.setTo(workgroupJID);
PacketCollector collector = connection.createPacketCollector(new PacketIDFilter(setting.getPacketID()));
connection.sendPacket(setting);
GenericSettings response = (GenericSettings)collector.nextResult(SmackConfiguration.getPacketReplyTimeout());
// Cancel the collector.
collector.cancel();
if (response == null) {
throw new XMPPException("No response from server on status set.");
}
if (response.getError() != null) {
throw new XMPPException(response.getError());
}
return response;
}