[tomboy] Add support for current-sync-guid user resource field, use as server ID.



commit e6066330d16fa0c922bd3b880c582f6fb886563b
Author: Sandy Armstrong <sanfordarmstrong gmail com>
Date:   Tue May 19 14:19:53 2009 -0700

    Add support for current-sync-guid user resource field, use as server ID.
---
 Tomboy/Addins/WebSyncService/Api/UserInfo.cs  |   16 ++++++++++------
 Tomboy/Addins/WebSyncService/WebSyncServer.cs |    5 ++++-
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/Tomboy/Addins/WebSyncService/Api/UserInfo.cs b/Tomboy/Addins/WebSyncService/Api/UserInfo.cs
index 98e4b10..4a264ce 100644
--- a/Tomboy/Addins/WebSyncService/Api/UserInfo.cs
+++ b/Tomboy/Addins/WebSyncService/Api/UserInfo.cs
@@ -63,21 +63,23 @@ namespace Tomboy.WebSync.Api
 			user.FirstName = (string) jsonObj ["first-name"];
 			user.LastName = (string) jsonObj ["last-name"];
 			
-			object latestSyncObj;
-			if (jsonObj.TryGetValue ("latest-sync-revision", out latestSyncObj))
-				user.LatestSyncRevision = (int) latestSyncObj;
+			object val;
+			if (jsonObj.TryGetValue ("latest-sync-revision", out val))
+				user.LatestSyncRevision = (int) val;
 			else
 				user.LatestSyncRevision = -1;
+			
+			if (jsonObj.TryGetValue ("current-sync-guid", out val))
+				user.CurrentSyncGuid = (string) val;
 
 			Hyena.Json.JsonObject notesRefJsonObj =
 				(Hyena.Json.JsonObject) jsonObj ["notes-ref"];
 			user.Notes =
 				ResourceReference.ParseJson (notesRefJsonObj);
 
-			object friendsRefObj;
-			if (jsonObj.TryGetValue ("friends-ref", out friendsRefObj)) {
+			if (jsonObj.TryGetValue ("friends-ref", out val)) {
 				user.Notes =
-					ResourceReference.ParseJson ((Hyena.Json.JsonObject) friendsRefObj);
+					ResourceReference.ParseJson ((Hyena.Json.JsonObject) val);
 			}
 
 			return user;
@@ -93,6 +95,8 @@ namespace Tomboy.WebSync.Api
 
 		public int? LatestSyncRevision { get; private set; }
 
+		public string CurrentSyncGuid { get; private set; }
+
 		public ResourceReference Notes { get; private set; }
 
 		public ResourceReference Friends { get; private set; }
diff --git a/Tomboy/Addins/WebSyncService/WebSyncServer.cs b/Tomboy/Addins/WebSyncService/WebSyncServer.cs
index a8c3c48..6f1485c 100644
--- a/Tomboy/Addins/WebSyncService/WebSyncServer.cs
+++ b/Tomboy/Addins/WebSyncService/WebSyncServer.cs
@@ -60,6 +60,9 @@ namespace Tomboy.WebSync
 				LatestRevision = user.LatestSyncRevision.Value;
 			else
 				VerifyLatestSyncRevision (user.LatestSyncRevision);
+
+			if (string.IsNullOrEmpty (user.CurrentSyncGuid))
+				throw new TomboySyncException ("No sync GUID for user provided in server response");
 			
 			pendingCommits = new List<NoteInfo> ();
 			return true;
@@ -128,7 +131,7 @@ namespace Tomboy.WebSync
 		
 		public string Id {
 			get {
-				return serverUrl;
+				return user.CurrentSyncGuid;
 			}
 		}
 		



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]