From b252626c42e6746b1023a4bf3a724d7de81aadca Mon Sep 17 00:00:00 2001
From: cramakri <cramakri>
Date: Mon, 4 Feb 2013 13:06:17 +0000
Subject: [PATCH] MINOR : Continued refactoring of the synchronization and
 pruning tasks.

SVN: 28271
---
 .../BisKit/Classes/CISDOBIpadServiceManager.m   | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.m b/openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.m
index 4f5bb12781c..b683b6185df 100644
--- a/openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.m
+++ b/openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.m
@@ -121,6 +121,8 @@ static NSManagedObjectContext* GetMainThreadManagedObjectContext(NSURL* storeUrl
     _managedObjectModel = [_ipadEntityDescription managedObjectModel];
     
     _queue = [[NSOperationQueue alloc] init];
+        // Restrict this queue to processing operations serially
+    [_queue setMaxConcurrentOperationCount: 1];
     self.online = NO;
     
     return self;
@@ -246,7 +248,7 @@ static NSManagedObjectContext* GetMainThreadManagedObjectContext(NSURL* storeUrl
     };
 }
 
-- (CISDOBIpadServiceManagerCall *)managerCallWrappingServiceCall:(CISDOBAsyncCall *)serviceCall pruning:(BOOL)prune
+- (CISDOBIpadServiceManagerCall *)managerCallWrappingServiceCall:(CISDOBAsyncCall *)serviceCall
 {
     CISDOBIpadServiceManagerCall *managerCall = [[CISDOBIpadServiceManagerCall alloc] initWithServiceManager: self serviceCall: serviceCall];
     
@@ -254,10 +256,8 @@ static NSManagedObjectContext* GetMainThreadManagedObjectContext(NSURL* storeUrl
     
     serviceCall.success = ^(id result) {
         weakSelf.online = YES;
-        // We treat prune as a synonym for the root set update call
-        if (prune) weakSelf.lastRootSetUpdateDate = [NSDate date];
         // Update the cache and call the managerCall success when done
-        [weakSelf syncEntities: result pruning: prune notifying: managerCall];
+        [weakSelf syncEntities: result pruning: NO notifying: managerCall];
     };    
     
     [self initializeFailureBlockOnServiceCall: serviceCall managerCall: managerCall];
@@ -265,18 +265,13 @@ static NSManagedObjectContext* GetMainThreadManagedObjectContext(NSURL* storeUrl
     return managerCall;
 }
 
-- (CISDOBIpadServiceManagerCall *)managerCallWrappingServiceCall:(CISDOBAsyncCall *)serviceCall
-{
-    return [self managerCallWrappingServiceCall: serviceCall pruning: NO];
-}
-
 - (CISDOBAsyncCall *)loginUser:(NSString *)user password:(NSString *)password
 {
     CISDOBAsyncCall *call = [self.service loginUser: user password: password];
     // Remember the username and password so we can reauthenticate if necessary
     _username = user;
     _password = password;
-    CISDOBIpadServiceManagerCall *managerCall = [self managerCallWrappingServiceCall: call pruning: NO];
+    CISDOBIpadServiceManagerCall *managerCall = [self managerCallWrappingServiceCall: call];
     call.success = ^(id result) { [managerCall notifySuccess: result]; };
     managerCall.willCallNotificationName = CISDOBIpadServiceWillLoginNotification;
     managerCall.didCallNotificationName = CISDOBIpadServiceDidLoginNotification;
@@ -325,7 +320,7 @@ static NSManagedObjectContext* GetMainThreadManagedObjectContext(NSURL* storeUrl
     
     // Make up a dummy call
     CISDOBAsyncCall *call = [self.service heartbeat];
-    CISDOBIpadServiceManagerCall *managerCall = [self managerCallWrappingServiceCall: call pruning: NO];
+    CISDOBIpadServiceManagerCall *managerCall = [self managerCallWrappingServiceCall: call];
 
     return managerCall;
 }
-- 
GitLab