aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip
diff options
context:
space:
mode:
authorEmil Ivov <emcho@jitsi.org>2009-04-29 10:14:40 +0000
committerEmil Ivov <emcho@jitsi.org>2009-04-29 10:14:40 +0000
commitd183350ccf3947339584dae05fad9c1089ba5bd3 (patch)
tree06ac83f359aa62cffde9bf3accc5875d0df72b17 /src/net/java/sip
parentf0d6c90e72b8bdd3473d17ab8de4289da3bb8cd3 (diff)
downloadjitsi-d183350ccf3947339584dae05fad9c1089ba5bd3.zip
jitsi-d183350ccf3947339584dae05fad9c1089ba5bd3.tar.gz
jitsi-d183350ccf3947339584dae05fad9c1089ba5bd3.tar.bz2
Fixes an error introduced (by me) in r5290 because of which it was impossible remove contacts in the root group. (This should fix the build)
Fixes some raw type warnings (part of issue #637)
Diffstat (limited to 'src/net/java/sip')
-rw-r--r--src/net/java/sip/communicator/impl/protocol/jabber/ContactGroupJabberImpl.java14
-rw-r--r--src/net/java/sip/communicator/impl/protocol/jabber/OperationSetPersistentPresenceJabberImpl.java99
-rw-r--r--src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java5
-rwxr-xr-xsrc/net/java/sip/communicator/impl/protocol/jabber/RootContactGroupJabberImpl.java24
-rw-r--r--src/net/java/sip/communicator/impl/protocol/jabber/ServerStoredContactListJabberImpl.java76
5 files changed, 123 insertions, 95 deletions
diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/ContactGroupJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/ContactGroupJabberImpl.java
index a442fbd..6d3dc19 100644
--- a/src/net/java/sip/communicator/impl/protocol/jabber/ContactGroupJabberImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/jabber/ContactGroupJabberImpl.java
@@ -37,8 +37,7 @@ public class ContactGroupJabberImpl
* lower case strings in the left column because JIDs in XMPP are not case
* sensitive.
*/
- private Map<String, ContactJabberImpl> buddies
- = new Hashtable<String, ContactJabberImpl>();
+ private Map<String, Contact> buddies = new Hashtable<String, Contact>();
private boolean isResolved = false;
@@ -51,8 +50,7 @@ public class ContactGroupJabberImpl
* a list that would always remain empty. We only use it so that we're able
* to extract empty iterators
*/
- private List<ContactGroupJabberImpl> dummyGroupsList
- = new LinkedList<ContactGroupJabberImpl>();
+ private List<ContactGroup> dummyGroupsList = new LinkedList<ContactGroup>();
/**
* A variable that we use as a means of detecting changes in the name
@@ -171,7 +169,7 @@ public class ContactGroupJabberImpl
* <tt>ContactGroup</tt>. In case the group doesn't contain any
* memebers it will return an empty iterator.
*/
- public Iterator contacts()
+ public Iterator<Contact> contacts()
{
return buddies.values().iterator();
}
@@ -238,7 +236,7 @@ public class ContactGroupJabberImpl
*
* @return an empty iterator
*/
- public Iterator subgroups()
+ public Iterator<ContactGroup> subgroups()
{
return dummyGroupsList.iterator();
}
@@ -311,7 +309,7 @@ public class ContactGroupJabberImpl
buff.append(getGroupName());
buff.append(", childContacts="+countContacts()+":[");
- Iterator contacts = contacts();
+ Iterator<Contact> contacts = contacts();
while (contacts.hasNext())
{
ContactJabberImpl contact = (ContactJabberImpl) contacts.next();
@@ -334,7 +332,7 @@ public class ContactGroupJabberImpl
{
if(id == null)
return null;
- return buddies.get(id.toLowerCase());
+ return (ContactJabberImpl)buddies.get(id.toLowerCase());
}
/**
diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetPersistentPresenceJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetPersistentPresenceJabberImpl.java
index 2acb1e5..22ada822 100644
--- a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetPersistentPresenceJabberImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetPersistentPresenceJabberImpl.java
@@ -30,7 +30,8 @@ import net.java.sip.communicator.util.*;
* @author Lubomir Marinov
*/
public class OperationSetPersistentPresenceJabberImpl
- extends AbstractOperationSetPersistentPresence<ProtocolProviderServiceJabberImpl>
+ extends AbstractOperationSetPersistentPresence<
+ ProtocolProviderServiceJabberImpl>
{
private static final Logger logger =
Logger.getLogger(OperationSetPersistentPresenceJabberImpl.class);
@@ -52,19 +53,23 @@ public class OperationSetPersistentPresenceJabberImpl
* The list of listeners interested in receiving changes in our local
* presencestatus.
*/
- private Vector providerPresenceStatusListeners = new Vector();
+ private Vector<ProviderPresenceStatusListener>
+ providerPresenceStatusListeners
+ = new Vector<ProviderPresenceStatusListener>();
/**
* The list of presence status listeners interested in receiving presence
* notifications of changes in status of contacts in our contact list.
*/
- private Vector contactPresenceStatusListeners = new Vector();
+ private Vector<ContactPresenceStatusListener> contactPresenceStatusListeners
+ = new Vector<ContactPresenceStatusListener>();
/**
* A map containing bindings between SIP Communicator's jabber presence status
* instances and Jabber status codes
*/
- private static Map scToJabberModesMappings = new Hashtable();
+ private static Map<String, Presence.Mode> scToJabberModesMappings
+ = new Hashtable<String, Presence.Mode>();
static{
scToJabberModesMappings.put(JabberStatusEnum.AWAY,
Presence.Mode.away);
@@ -85,7 +90,7 @@ public class OperationSetPersistentPresenceJabberImpl
private JabberSubscriptionListener subscribtionPacketListener = null;
private int resourcePriority = 10;
-
+
public OperationSetPersistentPresenceJabberImpl(
ProtocolProviderServiceJabberImpl provider)
{
@@ -375,9 +380,9 @@ public class OperationSetPersistentPresenceJabberImpl
JabberStatusEnum jabberStatusEnum =
parentProvider.getJabberStatusEnum();
boolean isValidStatus = false;
- for (Iterator supportedStatusIter =
- jabberStatusEnum.getSupportedStatusSet(); supportedStatusIter
- .hasNext();)
+ for (Iterator<PresenceStatus> supportedStatusIter
+ = jabberStatusEnum.getSupportedStatusSet();
+ supportedStatusIter.hasNext();)
{
if (supportedStatusIter.next().equals(status))
{
@@ -568,9 +573,11 @@ public class OperationSetPersistentPresenceJabberImpl
if(! (parent instanceof ContactGroupJabberImpl) )
throw new IllegalArgumentException(
- "Argument is not an jabber contact group (group=" + parent + ")");
+ "Argument is not an jabber contact group (group="
+ + parent + ")");
- ssContactList.addContact((ContactGroupJabberImpl)parent, contactIdentifier);
+ ssContactList.addContact(
+ (ContactGroupJabberImpl)parent, contactIdentifier);
}
/**
@@ -645,7 +652,7 @@ public class OperationSetPersistentPresenceJabberImpl
return jabberStatusEnum.getStatus(JabberStatusEnum.OFFLINE);
Presence.Mode mode = presence.getMode();
-
+
if(mode.equals(Presence.Mode.available))
return jabberStatusEnum.getStatus(JabberStatusEnum.AVAILABLE);
else if(mode.equals(Presence.Mode.away))
@@ -663,7 +670,7 @@ public class OperationSetPersistentPresenceJabberImpl
return jabberStatusEnum.getStatus(JabberStatusEnum.AWAY);
if(presence.isAvailable())
return jabberStatusEnum.getStatus(JabberStatusEnum.AVAILABLE);
-
+
return jabberStatusEnum.getStatus(JabberStatusEnum.OFFLINE);
}
}
@@ -724,16 +731,16 @@ public class OperationSetPersistentPresenceJabberImpl
+ providerPresenceStatusListeners.size()
+ " evt=" + evt);
- Iterator listeners = null;
+ Iterator<ProviderPresenceStatusListener> listeners = null;
synchronized (providerPresenceStatusListeners)
{
- listeners = new ArrayList(providerPresenceStatusListeners).iterator();
+ listeners = new ArrayList<ProviderPresenceStatusListener>(
+ providerPresenceStatusListeners).iterator();
}
while (listeners.hasNext())
{
- ProviderPresenceStatusListener listener
- = (ProviderPresenceStatusListener) listeners.next();
+ ProviderPresenceStatusListener listener = listeners.next();
listener.providerStatusChanged(evt);
}
@@ -757,10 +764,11 @@ public class OperationSetPersistentPresenceJabberImpl
+ providerPresenceStatusListeners.size()
+ " evt=" + evt);
- Iterator listeners = null;
+ Iterator<ProviderPresenceStatusListener> listeners = null;
synchronized (providerPresenceStatusListeners)
{
- listeners = new ArrayList(providerPresenceStatusListeners).iterator();
+ listeners = new ArrayList<ProviderPresenceStatusListener>(
+ providerPresenceStatusListeners).iterator();
}
while (listeners.hasNext())
@@ -825,14 +833,13 @@ public class OperationSetPersistentPresenceJabberImpl
//offline. The protocol does not implement top level buddies
//nor subgroups for top level groups so a simple nested loop
//would be enough.
- Iterator groupsIter =
+ Iterator<ContactGroup> groupsIter =
getServerStoredContactListRoot().subgroups();
while(groupsIter.hasNext())
{
- ContactGroupJabberImpl group
- = (ContactGroupJabberImpl)groupsIter.next();
+ ContactGroup group = groupsIter.next();
- Iterator contactsIter = group.contacts();
+ Iterator<Contact> contactsIter = group.contacts();
while(contactsIter.hasNext())
{
@@ -855,7 +862,7 @@ public class OperationSetPersistentPresenceJabberImpl
}
//do the same for all contacts in the root group
- Iterator contactsIter
+ Iterator<Contact> contactsIter
= getServerStoredContactListRoot().contacts();
while (contactsIter.hasNext())
@@ -1011,10 +1018,10 @@ public class OperationSetPersistentPresenceJabberImpl
logger.warn("No source contact found for id=" + userID);
return;
}
-
+
// statuses may be the same and only change in status message
sourceContact.setStatusMessage(currentPresence.getStatus());
-
+
PresenceStatus oldStatus
= sourceContact.getPresenceStatus();
@@ -1054,51 +1061,63 @@ public class OperationSetPersistentPresenceJabberImpl
{
Presence presence = (Presence)packet;
- if (presence != null && presence.getType() == Presence.Type.subscribe)
+ if (presence != null
+ && presence.getType() == Presence.Type.subscribe)
{
- logger.trace(presence.getFrom() + " wants to add you to its contact list");
+ logger.trace(presence.getFrom()
+ + " wants to add you to its contact list");
// buddy want to add you to its roster
String fromID = presence.getFrom();
- ContactJabberImpl srcContact = ssContactList.findContactById(fromID);
+ ContactJabberImpl srcContact
+ = ssContactList.findContactById(fromID);
if(srcContact == null)
srcContact = createVolatileContact(fromID);
AuthorizationRequest req = new AuthorizationRequest();
- AuthorizationResponse response = handler.processAuthorisationRequest(req, srcContact);
+ AuthorizationResponse response
+ = handler.processAuthorisationRequest(req, srcContact);
- if(response != null && response.getResponseCode().equals(AuthorizationResponse.ACCEPT))
+ if(response != null
+ && response.getResponseCode()
+ .equals(AuthorizationResponse.ACCEPT))
{
- Presence responsePacket = new Presence(Presence.Type.subscribed);
+ Presence responsePacket
+ = new Presence(Presence.Type.subscribed);
responsePacket.setTo(fromID);
logger.info("Sending Accepted Subscription");
parentProvider.getConnection().sendPacket(responsePacket);
}
else
{
- Presence responsePacket = new Presence(Presence.Type.unsubscribed);
+ Presence responsePacket
+ = new Presence(Presence.Type.unsubscribed);
responsePacket.setTo(fromID);
logger.info("Sending Rejected Subscription");
parentProvider.getConnection().sendPacket(responsePacket);
}
}
- else if (presence != null && presence.getType() == Presence.Type.unsubscribed)
+ else if (presence != null
+ && presence.getType() == Presence.Type.unsubscribed)
{
- logger.trace(presence.getFrom() + " does not allow your subscription");
+ logger.trace(presence.getFrom()
+ + " does not allow your subscription");
ContactJabberImpl contact =
ssContactList.findContactById(presence.getFrom());
if(contact != null)
{
- AuthorizationResponse response =
- new AuthorizationResponse(AuthorizationResponse.REJECT, "");
+ AuthorizationResponse response
+ = new AuthorizationResponse(
+ AuthorizationResponse.REJECT, "");
handler.processAuthorizationResponse(response, contact);
ssContactList.removeContact(contact);
}
}
- else if (presence != null && presence.getType() == Presence.Type.subscribed)
+ else if (presence != null
+ && presence.getType() == Presence.Type.subscribed)
{
ContactJabberImpl contact =
ssContactList.findContactById(presence.getFrom());
@@ -1109,10 +1128,10 @@ public class OperationSetPersistentPresenceJabberImpl
}
}
}
-
+
/**
* Returns the jabber account resource priority property value.
- *
+ *
* @return the jabber account resource priority property value
*/
public int getResourcePriority()
@@ -1122,7 +1141,7 @@ public class OperationSetPersistentPresenceJabberImpl
/**
* Updates the jabber account resource priority property value.
- *
+ *
* @param resourcePriority the new priority to set
*/
public void setResourcePriority(int resourcePriority)
diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java
index a4ef1e7..a672010 100644
--- a/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java
@@ -236,7 +236,8 @@ public class ProtocolProviderServiceJabberImpl
* @throws OperationFailedException if login parameters
* as server port are not correct
*/
- private void connectAndLogin(SecurityAuthority authority, int reasonCode)
+ private synchronized void connectAndLogin(SecurityAuthority authority,
+ int reasonCode)
throws XMPPException, OperationFailedException
{
synchronized(initializationLock)
@@ -623,7 +624,7 @@ public class ProtocolProviderServiceJabberImpl
//initialize the telephony opset
String enableJingle = (String)JabberActivator
.getConfigurationService().getProperty(PNAME_ENABLE_JINGLE);
- if( Boolean.getBoolean(enableJingle)
+ if( Boolean.getBoolean(enableJingle)
&& JabberActivator.getMediaService() != null)
{
OperationSetBasicTelephony opSetBasicTelephony
diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/RootContactGroupJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/RootContactGroupJabberImpl.java
index 0da1653..71deb63 100755
--- a/src/net/java/sip/communicator/impl/protocol/jabber/RootContactGroupJabberImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/jabber/RootContactGroupJabberImpl.java
@@ -26,16 +26,14 @@ public class RootContactGroupJabberImpl
* lower case strings in the left column because JIDs in XMPP are not case
* sensitive.
*/
- private List<ContactGroupJabberImpl> subGroups
- = new LinkedList<ContactGroupJabberImpl>();
+ private List<ContactGroup> subGroups = new LinkedList<ContactGroup>();
private boolean isResolved = false;
/**
* An empty list that we use when returning an iterator.
*/
- private Map<String, ContactJabberImpl> contacts
- = new Hashtable<String, ContactJabberImpl>();
+ private Map<String, Contact> contacts = new Hashtable<String, Contact>();
private ProtocolProviderServiceJabberImpl ownerProvider = null;
@@ -80,7 +78,7 @@ public class RootContactGroupJabberImpl
*/
void removeContact(ContactJabberImpl contact)
{
- contacts.remove(contact);
+ contacts.remove(contact.getAddress().toLowerCase());
}
@@ -159,10 +157,10 @@ public class RootContactGroupJabberImpl
*/
public ContactGroup getGroup(String groupName)
{
- Iterator subgroups = subgroups();
+ Iterator<ContactGroup> subgroups = subgroups();
while (subgroups.hasNext())
{
- ContactGroupJabberImpl grp = (ContactGroupJabberImpl)subgroups.next();
+ ContactGroup grp = subgroups.next();
if (grp.getGroupName().equals(groupName))
return grp;
@@ -195,7 +193,7 @@ public class RootContactGroupJabberImpl
{
if(id == null)
return null;
- return contacts.get(id.toLowerCase());
+ return (ContactJabberImpl)contacts.get(id.toLowerCase());
}
/**
@@ -205,7 +203,7 @@ public class RootContactGroupJabberImpl
* @return a java.util.Iterator over the <tt>ContactGroup</tt>
* children of this group (i.e. subgroups).
*/
- public Iterator subgroups()
+ public Iterator<ContactGroup> subgroups()
{
return subGroups.iterator();
}
@@ -227,7 +225,7 @@ public class RootContactGroupJabberImpl
* @return a java.util.Iterator over all contacts inside this
* <tt>ContactGroup</tt>
*/
- public Iterator contacts()
+ public Iterator<Contact> contacts()
{
return contacts.values().iterator();
}
@@ -243,16 +241,16 @@ public class RootContactGroupJabberImpl
StringBuffer buff = new StringBuffer(getGroupName());
buff.append(".subGroups="+countSubgroups()+":\n");
- Iterator subGroups = subgroups();
+ Iterator<ContactGroup> subGroups = subgroups();
while (subGroups.hasNext())
{
- ContactGroup group = (ContactGroup) subGroups.next();
+ ContactGroup group = subGroups.next();
buff.append(group.toString());
if(subGroups.hasNext())
buff.append("\n");
}
buff.append(".rootContacts="+countContacts()+":\n");
- Iterator contactsIter = contacts();
+ Iterator<Contact> contactsIter = contacts();
while (contactsIter.hasNext())
{
buff.append(contactsIter.next());
diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/ServerStoredContactListJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/ServerStoredContactListJabberImpl.java
index 989b830..845707b 100644
--- a/src/net/java/sip/communicator/impl/protocol/jabber/ServerStoredContactListJabberImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/jabber/ServerStoredContactListJabberImpl.java
@@ -60,7 +60,8 @@ public class ServerStoredContactListJabberImpl
* Listeners that would receive event notifications for changes in group
* names or other properties, removal or creation of groups.
*/
- private Vector serverStoredGroupListeners = new Vector();
+ private Vector<ServerStoredGroupListener> serverStoredGroupListeners
+ = new Vector<ServerStoredGroupListener>();
/**
* Thread retreiving images for contacts
@@ -146,10 +147,11 @@ public class ServerStoredContactListJabberImpl
logger.trace("Will dispatch the following grp event: " + evt);
- Iterator listeners = null;
+ Iterator<ServerStoredGroupListener> listeners = null;
synchronized (serverStoredGroupListeners)
{
- listeners = new ArrayList(serverStoredGroupListeners).iterator();
+ listeners = new ArrayList<ServerStoredGroupListener>(
+ serverStoredGroupListeners).iterator();
}
while (listeners.hasNext())
@@ -182,6 +184,8 @@ public class ServerStoredContactListJabberImpl
logger.debug("No presence op. set available. Bailing out.");
return;
}
+ logger.trace("Removing " + contact.getAddress()
+ + " from " + parentGroup.getGroupName());
// dispatch
parentOperationSet.fireSubscriptionEvent(contact, parentGroup,
@@ -230,7 +234,7 @@ public class ServerStoredContactListJabberImpl
*/
public ContactGroupJabberImpl findContactGroup(String name)
{
- Iterator contactGroups = rootGroup.subgroups();
+ Iterator<ContactGroup> contactGroups = rootGroup.subgroups();
while(contactGroups.hasNext())
{
@@ -253,7 +257,7 @@ public class ServerStoredContactListJabberImpl
*/
private ContactGroupJabberImpl findContactGroupByNameCopy(String name)
{
- Iterator contactGroups = rootGroup.subgroups();
+ Iterator<ContactGroup> contactGroups = rootGroup.subgroups();
while(contactGroups.hasNext())
{
@@ -277,12 +281,13 @@ public class ServerStoredContactListJabberImpl
*/
public ContactJabberImpl findContactById(String id)
{
- Iterator<ContactGroupJabberImpl> contactGroups = rootGroup.subgroups();
+ Iterator<ContactGroup> contactGroups = rootGroup.subgroups();
ContactJabberImpl result = null;
while(contactGroups.hasNext())
{
- ContactGroupJabberImpl contactGroup = contactGroups.next();
+ ContactGroupJabberImpl contactGroup
+ = (ContactGroupJabberImpl)contactGroups.next();
result = contactGroup.findContact(id);
@@ -306,26 +311,20 @@ public class ServerStoredContactListJabberImpl
*/
public ContactGroup findContactGroup(ContactJabberImpl child)
{
- Iterator contactGroups = rootGroup.subgroups();
+ Iterator<ContactGroup> contactGroups = rootGroup.subgroups();
+ String contactAddress = child.getAddress();
while(contactGroups.hasNext())
{
ContactGroupJabberImpl contactGroup
- = (ContactGroupJabberImpl) contactGroups.next();
+ = (ContactGroupJabberImpl)contactGroups.next();
- if( contactGroup.findContact(child.getAddress())!= null)
+ if( contactGroup.findContact(contactAddress)!= null)
return contactGroup;
}
- Iterator contacts = rootGroup.contacts();
-
- while(contacts.hasNext())
- {
- ContactJabberImpl contact = (ContactJabberImpl) contacts.next();
-
- if( contact.equals(child))
- return rootGroup;
- }
+ if ( rootGroup.findContact(contactAddress) != null)
+ return rootGroup;
return null;
}
@@ -361,7 +360,10 @@ public class ServerStoredContactListJabberImpl
if( existingContact != null
&& existingContact.isPersistent() )
{
- logger.debug("Contact " + id + " already exists.");
+ if(logger.isDebugEnabled())
+ logger.debug("Contact " + id
+ + " already exists in group "
+ + findContactGroup(existingContact));
throw new OperationFailedException(
"Contact " + id + " already exists.",
OperationFailedException.SUBSCRIPTION_ALREADY_EXISTS);
@@ -502,7 +504,7 @@ public class ServerStoredContactListJabberImpl
ContactGroupJabberImpl newGroup =
new ContactGroupJabberImpl(newRosterGroup,
- new Vector().iterator(),
+ new Vector<RosterEntry>().iterator(),
this,
true);
rootGroup.addSubGroup(newGroup);
@@ -523,8 +525,8 @@ public class ServerStoredContactListJabberImpl
// first copy the item that will be removed
// when iterating over group contacts and removing them
// concurrent exception occures
- Vector localCopy = new Vector();
- Iterator iter = groupToRemove.contacts();
+ Vector<Contact> localCopy = new Vector<Contact>();
+ Iterator<Contact> iter = groupToRemove.contacts();
while (iter.hasNext())
{
@@ -583,7 +585,8 @@ public class ServerStoredContactListJabberImpl
public void moveContact(ContactJabberImpl contact,
ContactGroupJabberImpl newParent)
{
- List contactsToMove = new ArrayList();
+ List<ContactJabberImpl> contactsToMove
+ = new ArrayList<ContactJabberImpl>();
contactsToMove.add(contact);
newParent.addContact(contact);
@@ -780,7 +783,7 @@ public class ServerStoredContactListJabberImpl
{
logger.trace("entriesAdded " + addresses);
- Iterator iter = addresses.iterator();
+ Iterator<String> iter = addresses.iterator();
while (iter.hasNext())
{
String id = (String) iter.next();
@@ -908,41 +911,50 @@ public class ServerStoredContactListJabberImpl
* Event received when entry has been removed from the list
* @param addresses Collection
*/
- public void entriesDeleted(Collection addresses)
+ public void entriesDeleted(Collection<String> addresses)
{
- Iterator iter = addresses.iterator();
+ Iterator<String> iter = addresses.iterator();
while (iter.hasNext())
{
String address = (String) iter.next();
logger.trace("entry deleted " + address);
- ContactJabberImpl contact =
- findContactById(address);
+ ContactJabberImpl contact = findContactById(address);
if(contact == null)
+ {
+ logger.trace("Could not find contact for deleted entry:"
+ + address);
continue;
+ }
ContactGroup group = findContactGroup(contact);
if(group == null)
+ {
+ logger.trace("Could not find ParentGroup for deleted entry:"
+ + address);
continue;
+ }
if(group instanceof ContactGroupJabberImpl)
{
- ContactGroupJabberImpl groupImpl = (ContactGroupJabberImpl)group;
+ ContactGroupJabberImpl groupImpl
+ = (ContactGroupJabberImpl)group;
// remove the contact from parrent group
groupImpl.removeContact(contact);
// if the group is empty remove it from
- // root group . This group will be removed from server if empty
+ // root group. This group will be removed
+ // from server if empty
if (groupImpl.countContacts() == 0)
{
rootGroup.removeSubGroup(groupImpl);
fireContactRemoved(groupImpl, contact);
fireGroupEvent(groupImpl,
- ServerStoredGroupEvent.GROUP_REMOVED_EVENT);
+ ServerStoredGroupEvent.GROUP_REMOVED_EVENT);
}
else
fireContactRemoved(groupImpl, contact);