From 21512f0ffddf23e45654a5daaaf629c1fc573805 Mon Sep 17 00:00:00 2001
From: cramakri <cramakri>
Date: Mon, 4 Feb 2013 13:06:20 +0000
Subject: [PATCH] MINOR : Completed separation of synchronization from pruning.

SVN: 28273
---
 .../BisKit/Classes/CISDOBIpadServiceManager.m | 20 +++++++------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.m b/openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.m
index 48d66c7152b..08c28b3de2f 100644
--- a/openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.m
+++ b/openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.m
@@ -189,7 +189,7 @@ static NSManagedObjectContext* GetMainThreadManagedObjectContext(NSURL* storeUrl
     [_queue addOperationWithBlock: syncBlock];
 }
 
-- (void)syncEntities:(NSArray *)rawEntities pruning:(BOOL)prune notifying:(CISDOBIpadServiceManagerCall *)managerCall
+- (void)syncEntities:(NSArray *)rawEntities notifying:(CISDOBIpadServiceManagerCall *)managerCall
 {
     void (^syncBlock)(void) = ^{
         [[NSNotificationCenter defaultCenter] postNotificationName: CISDOBIpadServiceWillSynchEntitiesNotification object: self];
@@ -198,19 +198,13 @@ static NSManagedObjectContext* GetMainThreadManagedObjectContext(NSURL* storeUrl
         CISDOBBackgroundDataSynchronizer *synchronizer = [[CISDOBBackgroundDataSynchronizer alloc] initWithServiceManager: self managerCall: managerCall rawEntities: rawEntities];
         [synchronizer run];
         
-        CISDOBBackgroundDataPruner *pruner = [[CISDOBBackgroundDataPruner alloc] initWithServiceManager: self managerCall: managerCall];
-        pruner.pruneCutoffDate = self.lastRootSetUpdateDate;
-        if (prune) {
-            [pruner run];
-        }
-        
         [[NSNotificationCenter defaultCenter] postNotificationName: CISDOBIpadServiceDidSynchEntitiesNotification object: self];         
         
         void (^notifyBlock)(void) = ^ {
             // Save the MOC and notifiy the client on the main thread
             if(!synchronizer.error) {
                 NSError *error = nil;
-                [self saveManagedObjectContextDeleting: pruner.deletedEntityPermIds error: &error];
+                [self saveManagedObjectContextDeleting: [NSArray array] error: &error];
                 synchronizer.error = error;
             }
             [synchronizer notifyCallOfResult];
@@ -283,7 +277,7 @@ static NSManagedObjectContext* GetMainThreadManagedObjectContext(NSURL* storeUrl
     serviceCall.success = ^(id result) {
         weakSelf.online = YES;
         // Update the cache and call the managerCall success when done
-        [weakSelf syncEntities: result pruning: NO notifying: managerCall];
+        [weakSelf syncEntities: result notifying: managerCall];
     };    
     
     [self initializeFailureBlockOnServiceCall: serviceCall managerCall: managerCall];
@@ -782,11 +776,10 @@ static NSManagedObjectContext* GetMainThreadManagedObjectContext(NSURL* storeUrl
     NSArray *refcons = [NSArray arrayWithObject: navEntity.refcon];
     CISDOBAsyncCall *call = [self.serviceManager.service listRootLevelEntities: permIds refcons: refcons];
     call.success = ^(id result) {
+        [self.serviceManager syncEntities: result notifying: nil];
         if (currentIndex+1 == count) {
-            [self.serviceManager syncEntities: result pruning: NO notifying: nil];
             [self.serviceManager pruneEntitiesNotifying: self.serviceManagerCall];
         } else {
-            [self.serviceManager syncEntities: result pruning: NO notifying: nil];
             [self runNextCall];
         }
     };    
@@ -806,7 +799,8 @@ static NSManagedObjectContext* GetMainThreadManagedObjectContext(NSURL* storeUrl
         CISDOBAsyncCall *call = [self.serviceManager.service listRootLevelEntities: permIds refcons: refcons];
     
         call.success = ^(id result) {
-           [self.serviceManager syncEntities: result pruning: YES notifying: self.serviceManagerCall];
+           [self.serviceManager syncEntities: result notifying: nil];
+           [self.serviceManager pruneEntitiesNotifying: self.serviceManagerCall];
         };
         [self.serviceManager initializeFailureBlockOnServiceCall: call managerCall: self.serviceManagerCall];
         [call start];
@@ -814,7 +808,7 @@ static NSManagedObjectContext* GetMainThreadManagedObjectContext(NSURL* storeUrl
     }
     
     // First add the navigation entities
-    [self.serviceManager syncEntities: self.topLevelNavigationEntities pruning: NO notifying: nil];
+    [self.serviceManager syncEntities: self.topLevelNavigationEntities notifying: nil];
     
     // Go through each of the navigation entities and get the roots for them
     [self runNextCall];
-- 
GitLab