aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/plugin
diff options
context:
space:
mode:
authorVincent Lucas <chenzo@jitsi.org>2013-08-31 00:46:11 +0200
committerVincent Lucas <chenzo@jitsi.org>2013-08-31 00:46:11 +0200
commite6fe77ab44396a7bff9fbbec655cb88de4372bf3 (patch)
treed1a617247b476db90ecd912b4b018a454b6e66c3 /src/net/java/sip/communicator/plugin
parent79a55e8cbdba60fc7695820866f8a27a68a493ab (diff)
downloadjitsi-e6fe77ab44396a7bff9fbbec655cb88de4372bf3.zip
jitsi-e6fe77ab44396a7bff9fbbec655cb88de4372bf3.tar.gz
jitsi-e6fe77ab44396a7bff9fbbec655cb88de4372bf3.tar.bz2
Corrects synchronization issue when adding contacts. Adds function to get the pending notification for Outlook contacts.
Diffstat (limited to 'src/net/java/sip/communicator/plugin')
-rw-r--r--src/net/java/sip/communicator/plugin/addrbook/macosx/MacOSXAddrBookContactSourceService.java10
-rw-r--r--src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactQuery.java23
-rw-r--r--src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactSourceService.java31
3 files changed, 57 insertions, 7 deletions
diff --git a/src/net/java/sip/communicator/plugin/addrbook/macosx/MacOSXAddrBookContactSourceService.java b/src/net/java/sip/communicator/plugin/addrbook/macosx/MacOSXAddrBookContactSourceService.java
index 2187ac4..5ed8563 100644
--- a/src/net/java/sip/communicator/plugin/addrbook/macosx/MacOSXAddrBookContactSourceService.java
+++ b/src/net/java/sip/communicator/plugin/addrbook/macosx/MacOSXAddrBookContactSourceService.java
@@ -300,4 +300,14 @@ public class MacOSXAddrBookContactSourceService
{
return -1;
}
+
+ /**
+ * Returns the number of contact notifications to deal with.
+ *
+ * @return The number of contact notifications to deal with.
+ */
+ public int getNbRemainingNotifications()
+ {
+ return 0;
+ }
}
diff --git a/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactQuery.java b/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactQuery.java
index a9a1676..1958a8d 100644
--- a/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactQuery.java
+++ b/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactQuery.java
@@ -855,7 +855,7 @@ public class MsOutlookAddrBookContactQuery
* @throws MsOutlookMAPIHResultException if anything goes wrong while
* getting the properties of the specified <tt>MAPI_MAILUSER</tt>
*/
- private boolean onMailUser(String id)
+ private synchronized boolean onMailUser(String id)
throws MsOutlookMAPIHResultException
{
Object[] props = null;
@@ -1046,7 +1046,10 @@ public class MsOutlookAddrBookContactQuery
*/
public void inserted(String id)
{
- insertedOrUpdated(id, 0);
+ synchronized (MsOutlookAddrBookContactQuery.class)
+ {
+ insertedOrUpdated(id, 0);
+ }
}
/**
@@ -1056,7 +1059,10 @@ public class MsOutlookAddrBookContactQuery
*/
public void updated(String id)
{
- insertedOrUpdated(id, 1);
+ synchronized (MsOutlookAddrBookContactQuery.class)
+ {
+ insertedOrUpdated(id, 1);
+ }
}
/**
@@ -1106,11 +1112,14 @@ public class MsOutlookAddrBookContactQuery
{
if(id != null)
{
- SourceContact sourceContact = findSourceContactByID(id, 1);
-
- if(sourceContact != null)
+ synchronized (MsOutlookAddrBookContactQuery.class)
{
- fireContactRemoved(sourceContact);
+ SourceContact sourceContact = findSourceContactByID(id, 1);
+
+ if(sourceContact != null)
+ {
+ fireContactRemoved(sourceContact);
+ }
}
}
}
diff --git a/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactSourceService.java b/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactSourceService.java
index bbe6110..a30d8df 100644
--- a/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactSourceService.java
+++ b/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactSourceService.java
@@ -422,6 +422,16 @@ public class MsOutlookAddrBookContactSourceService
contactIds.add(idFunction);
}
}
+
+ /**
+ * Returns the number of contact notifications to deal with.
+ *
+ * @return The number of contact notifications to deal with.
+ */
+ public int getNbRemainingNotifications()
+ {
+ return contactIds.size();
+ }
}
/**
@@ -519,4 +529,25 @@ public class MsOutlookAddrBookContactSourceService
{
return getOutlookVersion();
}
+
+ /**
+ * Returns the number of contact notifications to deal with.
+ *
+ * @return The number of contact notifications to deal with.
+ */
+ public int getNbRemainingNotifications()
+ {
+ int nbNotifications = 0;
+
+ synchronized(notificationThreadMutex)
+ {
+ if(notificationThread != null)
+ {
+ nbNotifications
+ = notificationThread.getNbRemainingNotifications();
+ }
+ }
+
+ return nbNotifications;
+ }
}