mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2025-12-06 05:01:12 +01:00
SMACK-363 Applied code cleanup patches for many generics related issues.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13325 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
parent
6dc64671e2
commit
e08c8afe44
109 changed files with 577 additions and 605 deletions
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
package org.jivesoftware.smackx.workgroup;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.jivesoftware.smackx.workgroup.util.MetaDataUtils;
|
||||
|
|
@ -40,16 +41,16 @@ public class MetaData implements PacketExtension {
|
|||
*/
|
||||
public static final String NAMESPACE = "http://jivesoftware.com/protocol/workgroup";
|
||||
|
||||
private Map metaData;
|
||||
private Map<String, List<String>> metaData;
|
||||
|
||||
public MetaData(Map metaData) {
|
||||
public MetaData(Map<String, List<String>> metaData) {
|
||||
this.metaData = metaData;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the Map of metadata contained by this instance
|
||||
*/
|
||||
public Map getMetaData() {
|
||||
public Map<String, List<String>> getMetaData() {
|
||||
return metaData;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
package org.jivesoftware.smackx.workgroup;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
|
@ -36,7 +37,7 @@ public class WorkgroupInvitation {
|
|||
protected String issuingWorkgroupName;
|
||||
protected String messageBody;
|
||||
protected String invitationSender;
|
||||
protected Map metaData;
|
||||
protected Map<String, List<String>> metaData;
|
||||
|
||||
/**
|
||||
* This calls the 5-argument constructor with a null MetaData argument value
|
||||
|
|
@ -65,7 +66,7 @@ public class WorkgroupInvitation {
|
|||
* @param metaData the metadata sent with the invitation
|
||||
*/
|
||||
public WorkgroupInvitation (String jid, String group, String workgroup, String sessID, String msgBody,
|
||||
String from, Map metaData) {
|
||||
String from, Map<String, List<String>> metaData) {
|
||||
super();
|
||||
|
||||
this.uniqueID = jid;
|
||||
|
|
@ -126,7 +127,7 @@ public class WorkgroupInvitation {
|
|||
* @return the meta data associated with the invitation, or null if this instance was
|
||||
* constructed with none
|
||||
*/
|
||||
public Map getMetaData () {
|
||||
public Map<String, List<String>> getMetaData () {
|
||||
return this.metaData;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -318,8 +318,8 @@ public class AgentRoster {
|
|||
}
|
||||
// Fire an event.
|
||||
synchronized (entries) {
|
||||
for (Iterator i = entries.iterator(); i.hasNext();) {
|
||||
String entry = (String)i.next();
|
||||
for (Iterator<String> i = entries.iterator(); i.hasNext();) {
|
||||
String entry = i.next();
|
||||
if (entry.toLowerCase().equals(StringUtils.parseBareAddress(key).toLowerCase())) {
|
||||
fireEvent(EVENT_PRESENCE_CHANGED, packet);
|
||||
}
|
||||
|
|
@ -358,8 +358,8 @@ public class AgentRoster {
|
|||
public void processPacket(Packet packet) {
|
||||
if (packet instanceof AgentStatusRequest) {
|
||||
AgentStatusRequest statusRequest = (AgentStatusRequest)packet;
|
||||
for (Iterator i = statusRequest.getAgents().iterator(); i.hasNext();) {
|
||||
AgentStatusRequest.Item item = (AgentStatusRequest.Item)i.next();
|
||||
for (Iterator<AgentStatusRequest.Item> i = statusRequest.getAgents().iterator(); i.hasNext();) {
|
||||
AgentStatusRequest.Item item = i.next();
|
||||
String agentJID = item.getJID();
|
||||
if ("remove".equals(item.getType())) {
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
package org.jivesoftware.smackx.workgroup.agent;
|
||||
|
||||
import org.jivesoftware.smackx.workgroup.MetaData;
|
||||
import org.jivesoftware.smackx.workgroup.QueueUser;
|
||||
import org.jivesoftware.smackx.workgroup.WorkgroupInvitation;
|
||||
import org.jivesoftware.smackx.workgroup.WorkgroupInvitationListener;
|
||||
import org.jivesoftware.smackx.workgroup.ext.history.AgentChatHistory;
|
||||
|
|
@ -60,7 +61,7 @@ public class AgentSession {
|
|||
private boolean online = false;
|
||||
private Presence.Mode presenceMode;
|
||||
private int maxChats;
|
||||
private final Map<String, String> metaData;
|
||||
private final Map<String, List<String>> metaData;
|
||||
|
||||
private Map<String, WorkgroupQueue> queues;
|
||||
|
||||
|
|
@ -96,7 +97,7 @@ public class AgentSession {
|
|||
|
||||
this.maxChats = -1;
|
||||
|
||||
this.metaData = new HashMap<String, String>();
|
||||
this.metaData = new HashMap<String, List<String>>();
|
||||
|
||||
this.queues = new HashMap<String, WorkgroupQueue>();
|
||||
|
||||
|
|
@ -199,10 +200,10 @@ public class AgentSession {
|
|||
*/
|
||||
public void setMetaData(String key, String val) throws XMPPException {
|
||||
synchronized (this.metaData) {
|
||||
String oldVal = (String)this.metaData.get(key);
|
||||
List<String> oldVals = metaData.get(key);
|
||||
|
||||
if ((oldVal == null) || (!oldVal.equals(val))) {
|
||||
metaData.put(key, val);
|
||||
if ((oldVals == null) || (!oldVals.get(0).equals(val))) {
|
||||
oldVals.set(0, val);
|
||||
|
||||
setStatus(presenceMode, maxChats);
|
||||
}
|
||||
|
|
@ -218,7 +219,7 @@ public class AgentSession {
|
|||
*/
|
||||
public void removeMetaData(String key) throws XMPPException {
|
||||
synchronized (this.metaData) {
|
||||
String oldVal = (String)metaData.remove(key);
|
||||
List<String> oldVal = metaData.remove(key);
|
||||
|
||||
if (oldVal != null) {
|
||||
setStatus(presenceMode, maxChats);
|
||||
|
|
@ -233,8 +234,8 @@ public class AgentSession {
|
|||
* @return the meta data value associated with the key or <tt>null</tt> if the meta-data
|
||||
* doesn't exist..
|
||||
*/
|
||||
public String getMetaData(String key) {
|
||||
return (String)metaData.get(key);
|
||||
public List<String> getMetaData(String key) {
|
||||
return metaData.get(key);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -642,7 +643,7 @@ public class AgentSession {
|
|||
}
|
||||
|
||||
private void fireInvitationEvent(String groupChatJID, String sessionID, String body,
|
||||
String from, Map metaData) {
|
||||
String from, Map<String, List<String>> metaData) {
|
||||
WorkgroupInvitation invitation = new WorkgroupInvitation(connection.getUser(), groupChatJID,
|
||||
workgroupJID, sessionID, body, from, metaData);
|
||||
|
||||
|
|
@ -654,7 +655,7 @@ public class AgentSession {
|
|||
}
|
||||
|
||||
private void fireQueueUsersEvent(WorkgroupQueue queue, WorkgroupQueue.Status status,
|
||||
int averageWaitTime, Date oldestEntry, Set users) {
|
||||
int averageWaitTime, Date oldestEntry, Set<QueueUser> users) {
|
||||
synchronized (queueUsersListeners) {
|
||||
for (QueueUsersListener listener : queueUsersListeners) {
|
||||
if (status != null) {
|
||||
|
|
@ -754,7 +755,7 @@ public class AgentSession {
|
|||
MUCUser.Invite invite = mucUser != null ? mucUser.getInvite() : null;
|
||||
if (invite != null && workgroupJID.equals(invite.getFrom())) {
|
||||
String sessionID = null;
|
||||
Map metaData = null;
|
||||
Map<String, List<String>> metaData = null;
|
||||
|
||||
SessionID sessionIDExt = (SessionID)message.getExtension(SessionID.ELEMENT_NAME,
|
||||
SessionID.NAMESPACE);
|
||||
|
|
@ -980,7 +981,7 @@ public class AgentSession {
|
|||
* @return Map a map of all metadata associated with the sessionID.
|
||||
* @throws XMPPException if an error occurs while getting information from the server.
|
||||
*/
|
||||
public Map getChatMetadata(String sessionID) throws XMPPException {
|
||||
public Map<String, List<String>> getChatMetadata(String sessionID) throws XMPPException {
|
||||
ChatMetadata request = new ChatMetadata();
|
||||
request.setType(IQ.Type.GET);
|
||||
request.setTo(workgroupJID);
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ import org.jivesoftware.smack.packet.IQ;
|
|||
import org.jivesoftware.smack.packet.Packet;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
|
@ -44,7 +45,7 @@ public class Offer {
|
|||
private String userID;
|
||||
private String workgroupName;
|
||||
private Date expiresDate;
|
||||
private Map metaData;
|
||||
private Map<String, List<String>> metaData;
|
||||
private OfferContent content;
|
||||
|
||||
private boolean accepted = false;
|
||||
|
|
@ -66,7 +67,7 @@ public class Offer {
|
|||
*/
|
||||
Offer(Connection conn, AgentSession agentSession, String userID,
|
||||
String userJID, String workgroupName, Date expiresDate,
|
||||
String sessionID, Map metaData, OfferContent content)
|
||||
String sessionID, Map<String, List<String>> metaData, OfferContent content)
|
||||
{
|
||||
this.connection = conn;
|
||||
this.session = agentSession;
|
||||
|
|
@ -155,7 +156,7 @@ public class Offer {
|
|||
*
|
||||
* @return the offer meta-data.
|
||||
*/
|
||||
public Map getMetaData() {
|
||||
public Map<String, List<String>> getMetaData() {
|
||||
return this.metaData;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ package org.jivesoftware.smackx.workgroup.agent;
|
|||
import java.util.Date;
|
||||
import java.util.Set;
|
||||
|
||||
import org.jivesoftware.smackx.workgroup.QueueUser;
|
||||
|
||||
public interface QueueUsersListener {
|
||||
|
||||
/**
|
||||
|
|
@ -54,5 +56,5 @@ public interface QueueUsersListener {
|
|||
* @param queue the workgroup queue.
|
||||
* @param users the list of users waiting in the queue.
|
||||
*/
|
||||
public void usersUpdated(WorkgroupQueue queue, Set users);
|
||||
public void usersUpdated(WorkgroupQueue queue, Set<QueueUser> users);
|
||||
}
|
||||
|
|
@ -21,6 +21,8 @@ package org.jivesoftware.smackx.workgroup.agent;
|
|||
|
||||
import java.util.*;
|
||||
|
||||
import org.jivesoftware.smackx.workgroup.QueueUser;
|
||||
|
||||
/**
|
||||
* A queue in a workgroup, which is a pool of agents that are routed a specific type of
|
||||
* chat request.
|
||||
|
|
@ -32,7 +34,7 @@ public class WorkgroupQueue {
|
|||
|
||||
private int averageWaitTime = -1;
|
||||
private Date oldestEntry = null;
|
||||
private Set users = Collections.EMPTY_SET;
|
||||
private Set<QueueUser> users = Collections.emptySet();
|
||||
|
||||
private int maxChats = 0;
|
||||
private int currentChats = 0;
|
||||
|
|
@ -87,14 +89,14 @@ public class WorkgroupQueue {
|
|||
*
|
||||
* @return an Iterator for the users waiting in the queue.
|
||||
*/
|
||||
public Iterator getUsers() {
|
||||
public Iterator<QueueUser> getUsers() {
|
||||
if (users == null) {
|
||||
return Collections.EMPTY_SET.iterator();
|
||||
return new HashSet<QueueUser>().iterator();
|
||||
}
|
||||
return Collections.unmodifiableSet(users).iterator();
|
||||
}
|
||||
|
||||
void setUsers(Set users) {
|
||||
void setUsers(Set<QueueUser> users) {
|
||||
this.users = users;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public class AgentChatHistory extends IQ {
|
|||
private int maxSessions;
|
||||
private long startDate;
|
||||
|
||||
private List agentChatSessions = new ArrayList();
|
||||
private List<AgentChatSession> agentChatSessions = new ArrayList<AgentChatSession>();
|
||||
|
||||
public AgentChatHistory(String agentJID, int maxSessions, Date startDate) {
|
||||
this.agentJID = agentJID;
|
||||
|
|
@ -58,7 +58,7 @@ public class AgentChatHistory extends IQ {
|
|||
agentChatSessions.add(chatSession);
|
||||
}
|
||||
|
||||
public Collection getAgentChatSessions() {
|
||||
public Collection<AgentChatSession> getAgentChatSessions() {
|
||||
return agentChatSessions;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import org.jivesoftware.smack.provider.IQProvider;
|
|||
import org.xmlpull.v1.XmlPullParser;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class ChatMetadata extends IQ {
|
||||
|
|
@ -51,13 +52,13 @@ public class ChatMetadata extends IQ {
|
|||
}
|
||||
|
||||
|
||||
private Map map = new HashMap();
|
||||
private Map<String, List<String>> map = new HashMap<String, List<String>>();
|
||||
|
||||
public void setMetadata(Map metadata){
|
||||
public void setMetadata(Map<String, List<String>> metadata){
|
||||
this.map = metadata;
|
||||
}
|
||||
|
||||
public Map getMetadata(){
|
||||
public Map<String, List<String>> getMetadata(){
|
||||
return map;
|
||||
}
|
||||
|
||||
|
|
@ -94,7 +95,7 @@ public class ChatMetadata extends IQ {
|
|||
chatM.setSessionID(parser.nextText());
|
||||
}
|
||||
else if (parser.getName().equals("metadata")) {
|
||||
Map map = MetaDataUtils.parseMetaData(parser);
|
||||
Map<String, List<String>> map = MetaDataUtils.parseMetaData(parser);
|
||||
chatM.setMetadata(map);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
package org.jivesoftware.smackx.workgroup.packet;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.jivesoftware.smackx.workgroup.MetaData;
|
||||
|
|
@ -41,7 +42,7 @@ public class MetaDataProvider implements PacketExtensionProvider {
|
|||
*/
|
||||
public PacketExtension parseExtension (XmlPullParser parser)
|
||||
throws Exception {
|
||||
Map metaData = MetaDataUtils.parseMetaData(parser);
|
||||
Map<String, List<String>> metaData = MetaDataUtils.parseMetaData(parser);
|
||||
|
||||
return new MetaData(metaData);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ import org.jivesoftware.smack.util.PacketParserUtils;
|
|||
import org.xmlpull.v1.XmlPullParser;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
|
@ -49,7 +50,7 @@ public class OfferRequestProvider implements IQProvider {
|
|||
int timeout = -1;
|
||||
OfferContent content = null;
|
||||
boolean done = false;
|
||||
Map metaData = new HashMap();
|
||||
Map<String, List<String>> metaData = new HashMap<String, List<String>>();
|
||||
|
||||
if (eventType != XmlPullParser.START_TAG) {
|
||||
// throw exception
|
||||
|
|
@ -111,11 +112,11 @@ public class OfferRequestProvider implements IQProvider {
|
|||
private int timeout;
|
||||
private String userID;
|
||||
private String userJID;
|
||||
private Map metaData;
|
||||
private Map<String, List<String>> metaData;
|
||||
private String sessionID;
|
||||
private OfferContent content;
|
||||
|
||||
public OfferRequestPacket(String userJID, String userID, int timeout, Map metaData,
|
||||
public OfferRequestPacket(String userJID, String userID, int timeout, Map<String, List<String>> metaData,
|
||||
String sessionID, OfferContent content)
|
||||
{
|
||||
this.userJID = userJID;
|
||||
|
|
@ -174,7 +175,7 @@ public class OfferRequestProvider implements IQProvider {
|
|||
*
|
||||
* @return meta-data associated with the offer.
|
||||
*/
|
||||
public Map getMetaData() {
|
||||
public Map<String, List<String>> getMetaData() {
|
||||
return this.metaData;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,12 +45,12 @@ public class ChatSettings extends IQ {
|
|||
*/
|
||||
public static final int BOT_SETTINGS = 2;
|
||||
|
||||
private List settings;
|
||||
private List<ChatSetting> settings;
|
||||
private String key;
|
||||
private int type = -1;
|
||||
|
||||
public ChatSettings() {
|
||||
settings = new ArrayList();
|
||||
settings = new ArrayList<ChatSetting>();
|
||||
}
|
||||
|
||||
public ChatSettings(String key) {
|
||||
|
|
@ -69,16 +69,16 @@ public class ChatSettings extends IQ {
|
|||
settings.add(setting);
|
||||
}
|
||||
|
||||
public Collection getSettings() {
|
||||
public Collection<ChatSetting> getSettings() {
|
||||
return settings;
|
||||
}
|
||||
|
||||
public ChatSetting getChatSetting(String key) {
|
||||
Collection col = getSettings();
|
||||
Collection<ChatSetting> col = getSettings();
|
||||
if (col != null) {
|
||||
Iterator iter = col.iterator();
|
||||
Iterator<ChatSetting> iter = col.iterator();
|
||||
while (iter.hasNext()) {
|
||||
ChatSetting chatSetting = (ChatSetting)iter.next();
|
||||
ChatSetting chatSetting = iter.next();
|
||||
if (chatSetting.getKey().equals(key)) {
|
||||
return chatSetting;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ import java.util.Map;
|
|||
|
||||
public class GenericSettings extends IQ {
|
||||
|
||||
private Map map = new HashMap();
|
||||
private Map<String, String> map = new HashMap<String, String>();
|
||||
|
||||
private String query;
|
||||
|
||||
|
|
@ -41,11 +41,11 @@ public class GenericSettings extends IQ {
|
|||
this.query = query;
|
||||
}
|
||||
|
||||
public Map getMap() {
|
||||
public Map<String, String> getMap() {
|
||||
return map;
|
||||
}
|
||||
|
||||
public void setMap(Map map) {
|
||||
public void setMap(Map<String, String> map) {
|
||||
this.map = map;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -58,9 +58,8 @@ public class Workgroup {
|
|||
private String workgroupJID;
|
||||
private Connection connection;
|
||||
private boolean inQueue;
|
||||
private List invitationListeners;
|
||||
private List queueListeners;
|
||||
private List siteInviteListeners;
|
||||
private List<WorkgroupInvitationListener> invitationListeners;
|
||||
private List<QueueListener> queueListeners;
|
||||
|
||||
private int queuePosition = -1;
|
||||
private int queueRemainingTime = -1;
|
||||
|
|
@ -84,9 +83,8 @@ public class Workgroup {
|
|||
this.workgroupJID = workgroupJID;
|
||||
this.connection = connection;
|
||||
inQueue = false;
|
||||
invitationListeners = new ArrayList();
|
||||
queueListeners = new ArrayList();
|
||||
siteInviteListeners = new ArrayList();
|
||||
invitationListeners = new ArrayList<WorkgroupInvitationListener>();
|
||||
queueListeners = new ArrayList<QueueListener>();
|
||||
|
||||
// Register as a queue listener for internal usage by this instance.
|
||||
addQueueListener(new QueueListener() {
|
||||
|
|
@ -378,7 +376,7 @@ public class Workgroup {
|
|||
* that a connection failure occured or that the server explicitly rejected the
|
||||
* request to join the queue.
|
||||
*/
|
||||
public void joinQueue(Map metadata, String userID) throws XMPPException {
|
||||
public void joinQueue(Map<String,Object> metadata, String userID) throws XMPPException {
|
||||
// If already in the queue ignore the join request.
|
||||
if (inQueue) {
|
||||
throw new IllegalStateException("Already in queue " + workgroupJID);
|
||||
|
|
@ -386,10 +384,10 @@ public class Workgroup {
|
|||
|
||||
// Build dataform from metadata
|
||||
Form form = new Form(Form.TYPE_SUBMIT);
|
||||
Iterator iter = metadata.keySet().iterator();
|
||||
Iterator<String> iter = metadata.keySet().iterator();
|
||||
while (iter.hasNext()) {
|
||||
String name = (String)iter.next();
|
||||
String value = (String)metadata.get(name).toString();
|
||||
String name = iter.next();
|
||||
String value = metadata.get(name).toString();
|
||||
|
||||
String escapedName = StringUtils.escapeForXML(name);
|
||||
String escapedValue = StringUtils.escapeForXML(value);
|
||||
|
|
@ -489,8 +487,8 @@ public class Workgroup {
|
|||
|
||||
private void fireInvitationEvent(WorkgroupInvitation invitation) {
|
||||
synchronized (invitationListeners) {
|
||||
for (Iterator i = invitationListeners.iterator(); i.hasNext();) {
|
||||
WorkgroupInvitationListener listener = (WorkgroupInvitationListener)i.next();
|
||||
for (Iterator<WorkgroupInvitationListener> i = invitationListeners.iterator(); i.hasNext();) {
|
||||
WorkgroupInvitationListener listener = i.next();
|
||||
listener.invitationReceived(invitation);
|
||||
}
|
||||
}
|
||||
|
|
@ -498,8 +496,8 @@ public class Workgroup {
|
|||
|
||||
private void fireQueueJoinedEvent() {
|
||||
synchronized (queueListeners) {
|
||||
for (Iterator i = queueListeners.iterator(); i.hasNext();) {
|
||||
QueueListener listener = (QueueListener)i.next();
|
||||
for (Iterator<QueueListener> i = queueListeners.iterator(); i.hasNext();) {
|
||||
QueueListener listener = i.next();
|
||||
listener.joinedQueue();
|
||||
}
|
||||
}
|
||||
|
|
@ -507,8 +505,8 @@ public class Workgroup {
|
|||
|
||||
private void fireQueueDepartedEvent() {
|
||||
synchronized (queueListeners) {
|
||||
for (Iterator i = queueListeners.iterator(); i.hasNext();) {
|
||||
QueueListener listener = (QueueListener)i.next();
|
||||
for (Iterator<QueueListener> i = queueListeners.iterator(); i.hasNext();) {
|
||||
QueueListener listener = i.next();
|
||||
listener.departedQueue();
|
||||
}
|
||||
}
|
||||
|
|
@ -516,8 +514,8 @@ public class Workgroup {
|
|||
|
||||
private void fireQueuePositionEvent(int currentPosition) {
|
||||
synchronized (queueListeners) {
|
||||
for (Iterator i = queueListeners.iterator(); i.hasNext();) {
|
||||
QueueListener listener = (QueueListener)i.next();
|
||||
for (Iterator<QueueListener> i = queueListeners.iterator(); i.hasNext();) {
|
||||
QueueListener listener = i.next();
|
||||
listener.queuePositionUpdated(currentPosition);
|
||||
}
|
||||
}
|
||||
|
|
@ -525,8 +523,8 @@ public class Workgroup {
|
|||
|
||||
private void fireQueueTimeEvent(int secondsRemaining) {
|
||||
synchronized (queueListeners) {
|
||||
for (Iterator i = queueListeners.iterator(); i.hasNext();) {
|
||||
QueueListener listener = (QueueListener)i.next();
|
||||
for (Iterator<QueueListener> i = queueListeners.iterator(); i.hasNext();) {
|
||||
QueueListener listener = i.next();
|
||||
listener.queueWaitTimeUpdated(secondsRemaining);
|
||||
}
|
||||
}
|
||||
|
|
@ -560,7 +558,7 @@ public class Workgroup {
|
|||
MUCUser.Invite invite = mucUser != null ? mucUser.getInvite() : null;
|
||||
if (invite != null && workgroupJID.equals(invite.getFrom())) {
|
||||
String sessionID = null;
|
||||
Map metaData = null;
|
||||
Map<String, List<String>> metaData = null;
|
||||
|
||||
pe = msg.getExtension(SessionID.ELEMENT_NAME,
|
||||
SessionID.NAMESPACE);
|
||||
|
|
|
|||
|
|
@ -17,7 +17,8 @@
|
|||
package org.jivesoftware.smackx.workgroup.util;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.ListIterator;
|
||||
|
||||
/**
|
||||
* This class is a very flexible event dispatcher which implements Runnable so that it can
|
||||
|
|
@ -34,7 +35,7 @@ import java.util.*;
|
|||
public class ListenerEventDispatcher
|
||||
implements Runnable {
|
||||
|
||||
protected transient ArrayList triplets;
|
||||
protected transient ArrayList<TripletContainer> triplets;
|
||||
|
||||
protected transient boolean hasFinishedDispatching;
|
||||
protected transient boolean isRunning;
|
||||
|
|
@ -42,7 +43,7 @@ public class ListenerEventDispatcher
|
|||
public ListenerEventDispatcher () {
|
||||
super();
|
||||
|
||||
this.triplets = new ArrayList();
|
||||
this.triplets = new ArrayList<TripletContainer>();
|
||||
|
||||
this.hasFinishedDispatching = false;
|
||||
this.isRunning = false;
|
||||
|
|
@ -81,13 +82,13 @@ public class ListenerEventDispatcher
|
|||
}
|
||||
|
||||
public void run() {
|
||||
ListIterator li = null;
|
||||
ListIterator<TripletContainer> li = null;
|
||||
|
||||
this.isRunning = true;
|
||||
|
||||
li = this.triplets.listIterator();
|
||||
while (li.hasNext()) {
|
||||
TripletContainer tc = (TripletContainer)li.next();
|
||||
TripletContainer tc = li.next();
|
||||
|
||||
try {
|
||||
tc.getListenerMethod().invoke(tc.getListenerInstance(), tc.getMethodArguments());
|
||||
|
|
|
|||
|
|
@ -40,14 +40,14 @@ public class MetaDataUtils {
|
|||
* @throws XmlPullParserException if an error occurs while parsing the XML.
|
||||
* @throws IOException if an error occurs while parsing the XML.
|
||||
*/
|
||||
public static Map parseMetaData(XmlPullParser parser) throws XmlPullParserException, IOException {
|
||||
public static Map<String, List<String>> parseMetaData(XmlPullParser parser) throws XmlPullParserException, IOException {
|
||||
int eventType = parser.getEventType();
|
||||
|
||||
// If correctly positioned on an opening meta-data tag, parse meta-data.
|
||||
if ((eventType == XmlPullParser.START_TAG)
|
||||
&& parser.getName().equals(MetaData.ELEMENT_NAME)
|
||||
&& parser.getNamespace().equals(MetaData.NAMESPACE)) {
|
||||
Map metaData = new Hashtable();
|
||||
Map<String, List<String>> metaData = new Hashtable<String, List<String>>();
|
||||
|
||||
eventType = parser.nextTag();
|
||||
|
||||
|
|
@ -58,11 +58,11 @@ public class MetaDataUtils {
|
|||
String value = parser.nextText();
|
||||
|
||||
if (metaData.containsKey(name)) {
|
||||
List values = (List)metaData.get(name);
|
||||
List<String> values = metaData.get(name);
|
||||
values.add(value);
|
||||
}
|
||||
else {
|
||||
List values = new ArrayList();
|
||||
List<String> values = new ArrayList<String>();
|
||||
values.add(value);
|
||||
metaData.put(name, values);
|
||||
}
|
||||
|
|
@ -73,34 +73,26 @@ public class MetaDataUtils {
|
|||
return metaData;
|
||||
}
|
||||
|
||||
return Collections.EMPTY_MAP;
|
||||
return Collections.emptyMap();
|
||||
}
|
||||
|
||||
/**
|
||||
* Serializes a Map of String name/value pairs into the meta-data XML format.
|
||||
*
|
||||
* @param metaData the Map of meta-data.
|
||||
* @param metaData the Map of meta-data as Map<String,List<String>>
|
||||
* @return the meta-data values in XML form.
|
||||
*/
|
||||
public static String serializeMetaData(Map metaData) {
|
||||
public static String serializeMetaData(Map<String, List<String>> metaData) {
|
||||
StringBuilder buf = new StringBuilder();
|
||||
if (metaData != null && metaData.size() > 0) {
|
||||
buf.append("<metadata xmlns=\"http://jivesoftware.com/protocol/workgroup\">");
|
||||
for (Iterator i = metaData.keySet().iterator(); i.hasNext();) {
|
||||
Object key = i.next();
|
||||
Object value = metaData.get(key);
|
||||
if (value instanceof List) {
|
||||
List values = (List)metaData.get(key);
|
||||
for (Iterator it = values.iterator(); it.hasNext();) {
|
||||
String v = (String)it.next();
|
||||
buf.append("<value name=\"").append(key).append("\">");
|
||||
buf.append(StringUtils.escapeForXML(v));
|
||||
buf.append("</value>");
|
||||
}
|
||||
}
|
||||
else if (value instanceof String) {
|
||||
for (Iterator<String> i = metaData.keySet().iterator(); i.hasNext();) {
|
||||
String key = i.next();
|
||||
List<String> value = metaData.get(key);
|
||||
for (Iterator<String> it = value.iterator(); it.hasNext();) {
|
||||
String v = it.next();
|
||||
buf.append("<value name=\"").append(key).append("\">");
|
||||
buf.append(StringUtils.escapeForXML((String)value));
|
||||
buf.append(StringUtils.escapeForXML(v));
|
||||
buf.append("</value>");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -240,8 +240,6 @@ public final class ModelUtil {
|
|||
final long MS_IN_AN_HOUR = 1000 * 60 * 60;
|
||||
final long MS_IN_A_MINUTE = 1000 * 60;
|
||||
final long MS_IN_A_SECOND = 1000;
|
||||
Date currentTime = new Date();
|
||||
long numDays = diff / MS_IN_A_DAY;
|
||||
diff = diff % MS_IN_A_DAY;
|
||||
long numHours = diff / MS_IN_AN_HOUR;
|
||||
diff = diff % MS_IN_AN_HOUR;
|
||||
|
|
@ -249,7 +247,6 @@ public final class ModelUtil {
|
|||
diff = diff % MS_IN_A_MINUTE;
|
||||
long numSeconds = diff / MS_IN_A_SECOND;
|
||||
diff = diff % MS_IN_A_SECOND;
|
||||
long numMilliseconds = diff;
|
||||
|
||||
StringBuilder buf = new StringBuilder();
|
||||
if (numHours > 0) {
|
||||
|
|
@ -270,8 +267,8 @@ public final class ModelUtil {
|
|||
/**
|
||||
* Build a List of all elements in an Iterator.
|
||||
*/
|
||||
public static List iteratorAsList(Iterator i) {
|
||||
ArrayList list = new ArrayList(10);
|
||||
public static <T> List<T> iteratorAsList(Iterator<T> i) {
|
||||
ArrayList<T> list = new ArrayList<T>(10);
|
||||
while (i.hasNext()) {
|
||||
list.add(i.next());
|
||||
}
|
||||
|
|
@ -281,18 +278,18 @@ public final class ModelUtil {
|
|||
/**
|
||||
* Creates an Iterator that is the reverse of a ListIterator.
|
||||
*/
|
||||
public static Iterator reverseListIterator(ListIterator i) {
|
||||
return new ReverseListIterator(i);
|
||||
public static <T> Iterator<T> reverseListIterator(ListIterator<T> i) {
|
||||
return new ReverseListIterator<T>(i);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* An Iterator that is the reverse of a ListIterator.
|
||||
*/
|
||||
class ReverseListIterator implements Iterator {
|
||||
private ListIterator _i;
|
||||
class ReverseListIterator<T> implements Iterator<T> {
|
||||
private ListIterator<T> _i;
|
||||
|
||||
ReverseListIterator(ListIterator i) {
|
||||
ReverseListIterator(ListIterator<T> i) {
|
||||
_i = i;
|
||||
while (_i.hasNext())
|
||||
_i.next();
|
||||
|
|
@ -302,13 +299,14 @@ class ReverseListIterator implements Iterator {
|
|||
return _i.hasPrevious();
|
||||
}
|
||||
|
||||
public Object next() {
|
||||
public T next() {
|
||||
return _i.previous();
|
||||
}
|
||||
|
||||
public void remove() {
|
||||
_i.remove();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue