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