mirror of
https://github.com/vanitasvitae/Smack.git
synced 2025-09-09 00:59:39 +02:00
Do not have Stanza.getExtension(String, String) return a generic type
Returning a generic would allow for List<ExtensionElement> list = stanza.getExtension("foo", "bar"); to compile (Note the we are calling getExtension(), not getExtension*s*()). Users are encouraged to use the type safe getExtension(Class<? extends ExtensionElement) variant instead. Fixes SMACK-825.
This commit is contained in:
parent
62916b8490
commit
07da9ffb48
65 changed files with 207 additions and 121 deletions
|
@ -317,7 +317,7 @@ public class AgentRoster {
|
|||
// for a particular user a map with the presence packets saved for each resource.
|
||||
if (presence.getType() == Presence.Type.available) {
|
||||
// Ignore the presence packet unless it has an agent status extension.
|
||||
AgentStatus agentStatus = presence.getExtension(
|
||||
AgentStatus agentStatus = (AgentStatus) presence.getExtension(
|
||||
AgentStatus.ELEMENT_NAME, AgentStatus.NAMESPACE);
|
||||
if (agentStatus == null) {
|
||||
return;
|
||||
|
|
|
@ -784,7 +784,7 @@ public class AgentSession {
|
|||
}
|
||||
|
||||
// QueueOverview packet extensions contain basic information about a queue.
|
||||
QueueOverview queueOverview = presence.getExtension(QueueOverview.ELEMENT_NAME, QueueOverview.NAMESPACE);
|
||||
QueueOverview queueOverview = (QueueOverview) presence.getExtension(QueueOverview.ELEMENT_NAME, QueueOverview.NAMESPACE);
|
||||
if (queueOverview != null) {
|
||||
if (queueOverview.getStatus() == null) {
|
||||
queue.setStatus(WorkgroupQueue.Status.CLOSED);
|
||||
|
@ -803,7 +803,7 @@ public class AgentSession {
|
|||
|
||||
// QueueDetails packet extensions contain information about the users in
|
||||
// a queue.
|
||||
QueueDetails queueDetails = packet.getExtension(QueueDetails.ELEMENT_NAME, QueueDetails.NAMESPACE);
|
||||
QueueDetails queueDetails = (QueueDetails) packet.getExtension(QueueDetails.ELEMENT_NAME, QueueDetails.NAMESPACE);
|
||||
if (queueDetails != null) {
|
||||
queue.setUsers(queueDetails.getUsers());
|
||||
// Fire event.
|
||||
|
@ -812,7 +812,7 @@ public class AgentSession {
|
|||
}
|
||||
|
||||
// Notify agent packets gives an overview of agent activity in a queue.
|
||||
StandardExtensionElement notifyAgents = presence.getExtension("notify-agents", "http://jabber.org/protocol/workgroup");
|
||||
StandardExtensionElement notifyAgents = (StandardExtensionElement) presence.getExtension("notify-agents", "http://jabber.org/protocol/workgroup");
|
||||
if (notifyAgents != null) {
|
||||
int currentChats = Integer.parseInt(notifyAgents.getFirstElement("current-chats", "http://jabber.org/protocol/workgroup").getText());
|
||||
int maxChats = Integer.parseInt(notifyAgents.getFirstElement("max-chats", "http://jabber.org/protocol/workgroup").getText());
|
||||
|
@ -827,20 +827,19 @@ public class AgentSession {
|
|||
Message message = (Message) packet;
|
||||
|
||||
// Check if a room invitation was sent and if the sender is the workgroup
|
||||
MUCUser mucUser = message.getExtension("x",
|
||||
"http://jabber.org/protocol/muc#user");
|
||||
MUCUser mucUser = MUCUser.from(message);
|
||||
MUCUser.Invite invite = mucUser != null ? mucUser.getInvite() : null;
|
||||
if (invite != null && workgroupJID.equals(invite.getFrom())) {
|
||||
String sessionID = null;
|
||||
Map<String, List<String>> metaData = null;
|
||||
|
||||
SessionID sessionIDExt = message.getExtension(SessionID.ELEMENT_NAME,
|
||||
SessionID sessionIDExt = (SessionID) message.getExtension(SessionID.ELEMENT_NAME,
|
||||
SessionID.NAMESPACE);
|
||||
if (sessionIDExt != null) {
|
||||
sessionID = sessionIDExt.getSessionID();
|
||||
}
|
||||
|
||||
MetaData metaDataExt = message.getExtension(MetaData.ELEMENT_NAME,
|
||||
MetaData metaDataExt = (MetaData) message.getExtension(MetaData.ELEMENT_NAME,
|
||||
MetaData.NAMESPACE);
|
||||
if (metaDataExt != null) {
|
||||
metaData = metaDataExt.getMetaData();
|
||||
|
|
|
@ -533,7 +533,7 @@ public class Workgroup {
|
|||
|
||||
else {
|
||||
// Check if a room invitation was sent and if the sender is the workgroup
|
||||
MUCUser mucUser = msg.getExtension("x", "http://jabber.org/protocol/muc#user");
|
||||
MUCUser mucUser = MUCUser.from(msg);
|
||||
MUCUser.Invite invite = mucUser != null ? mucUser.getInvite() : null;
|
||||
if (invite != null && workgroupJID.equals(invite.getFrom())) {
|
||||
String sessionID = null;
|
||||
|
|
|
@ -82,7 +82,7 @@ public final class MessageEventManager extends Manager {
|
|||
@Override
|
||||
public void processStanza(Stanza packet) {
|
||||
Message message = (Message) packet;
|
||||
MessageEvent messageEvent = message.getExtension("x", "jabber:x:event");
|
||||
MessageEvent messageEvent = (MessageEvent) message.getExtension("x", "jabber:x:event");
|
||||
if (messageEvent.isMessageEventRequest()) {
|
||||
// Fire event for requests of message events
|
||||
for (String eventType : messageEvent.getEventTypes())
|
||||
|
|
|
@ -84,7 +84,7 @@ public class RosterExchangeManager {
|
|||
@Override
|
||||
public void processStanza(Stanza packet) {
|
||||
Message message = (Message) packet;
|
||||
RosterExchange rosterExchange = message.getExtension(ELEMENT, NAMESPACE);
|
||||
RosterExchange rosterExchange = (RosterExchange) message.getExtension(ELEMENT, NAMESPACE);
|
||||
// Fire event for roster exchange listeners
|
||||
fireRosterExchangeListeners(message.getFrom(), rosterExchange.getRosterEntries());
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue