浏览代码

Change AddMetadata (FS)

Marino 8 年之前
父节点
当前提交
8b6ddcbfdd

+ 3 - 4
iOSClient/FileSystem/CCCoreData.h

@@ -100,7 +100,7 @@
 
 // ===== Metadata =====
 
-+ (void)addMetadata:(CCMetadata *)metadata activeAccount:(NSString *)activeAccount activeUrl:(NSString *)activeUrl typeCloud:(NSString *)typeCloud overwrite:(BOOL)overwrite context:(NSManagedObjectContext *)context;
++ (void)addMetadata:(CCMetadata *)metadata activeAccount:(NSString *)activeAccount activeUrl:(NSString *)activeUrl typeCloud:(NSString *)typeCloud context:(NSManagedObjectContext *)context;
 + (void)deleteMetadataWithPredicate:(NSPredicate *)predicate;
 + (void)moveMetadata:(NSString *)fileName directoryID:(NSString *)directoryID directoryIDTo:(NSString *)directoryIDTo activeAccount:(NSString *)activeAccount;
 + (void)updateMetadata:(CCMetadata *)metadata predicate:(NSPredicate *)predicate activeAccount:(NSString *)activeAccount activeUrl:(NSString *)activeUrl typeCloud:(NSString *)typeCloud context:(NSManagedObjectContext *)context;
@@ -120,7 +120,6 @@
 
 + (NSArray *)getRecordsTableMetadataPhotosCameraUpload:(NSString *)serverUrl activeAccount:(NSString *)activeAccount;
 
-+ (void)updateMetadataRev:(NSString *)rev fileID:(NSString *)fileID activeAccount:(NSString *)activeAccount;
 + (void)changeRevFileIDDB:(NSString *)revFileID revTo:(NSString *)revTo activeAccount:(NSString *)activeAccount;
 
 // ===== Directory =====
@@ -158,7 +157,7 @@
 
 // ===== LocalFile =====
 
-+ (void)addLocalFile:(CCMetadata *)metadata updateRev:(NSString *)updateRev activeAccount:(NSString *)activeAccount;
++ (void)addLocalFile:(CCMetadata *)metadata activeAccount:(NSString *)activeAccount;
 + (void)addFavorite:(NSString *)fileID activeAccount:(NSString *)activeAccount;
 
 + (void)deleteLocalFileWithPredicate:(NSPredicate *)predicate;
@@ -192,7 +191,7 @@
 
 // ===== File System =====
 
-+ (BOOL)downloadFile:(CCMetadata *)metadata rev:(NSString *)rev directoryUser:(NSString *)directoryUser activeAccount:(NSString *)activeAccount;
++ (BOOL)downloadFile:(CCMetadata *)metadata directoryUser:(NSString *)directoryUser activeAccount:(NSString *)activeAccount;
 + (void)downloadFilePlist:(CCMetadata *)metadata activeAccount:(NSString *)activeAccount activeUrl:(NSString *)activeUrl typeCloud:(NSString *)typeCloud directoryUser:(NSString *)directoryUser;
 + (void)deleteFile:(CCMetadata *)metadata serverUrl:(NSString *)serverUrl directoryUser:(NSString *)directoryUser typeCloud:(NSString *)typeCloud activeAccount:(NSString *)activeAccount;
 

+ 14 - 46
iOSClient/FileSystem/CCCoreData.m

@@ -606,34 +606,26 @@
 #pragma mark ===== Metadata =====
 #pragma --------------------------------------------------------------------------------------------
 
-+ (void)addMetadata:(CCMetadata *)metadata activeAccount:(NSString *)activeAccount activeUrl:(NSString *)activeUrl typeCloud:(NSString *)typeCloud overwrite:(BOOL)overwrite context:(NSManagedObjectContext *)context
++ (void)addMetadata:(CCMetadata *)metadata activeAccount:(NSString *)activeAccount activeUrl:(NSString *)activeUrl typeCloud:(NSString *)typeCloud context:(NSManagedObjectContext *)context
 {
     if (context == nil)
         context = [NSManagedObjectContext MR_context];
 
-    TableMetadata *record = [TableMetadata MR_findFirstWithPredicate:[NSPredicate predicateWithFormat:@"(account == %@) AND (fileName == %@) AND (directoryID == %@)", activeAccount, metadata.fileName, metadata.directoryID] inContext:context];
-        
-    if (!record)
-        record = [TableMetadata MR_createEntityInContext:context];
-    else {
-        if (!overwrite)
-            return;
-        
-        NSLog(@"[LOG] Filename exists update Metadata for %@", metadata.fileName);
-    }
-    
-    // cancelliamo i fileID (BUG 2.10)
+    // remove all fileID (BUG 2.10)
     NSArray *records = [TableMetadata MR_findAllWithPredicate:[NSPredicate predicateWithFormat:@"(account == %@) AND (fileID == %@)", activeAccount, metadata.fileID] inContext:context];
     for(TableMetadata *record in records)
         [record MR_deleteEntityInContext:context];
     
+    // create new record Metadata
+    TableMetadata *record = [TableMetadata MR_createEntityInContext:context];
+
+    // set default value
     metadata.sessionTaskIdentifier = taskIdentifierDone;
     metadata.sessionTaskIdentifierPlist = taskIdentifierDone;
-    
-    [self insertMetadataInEntity:metadata recordMetadata:record activeAccount:activeAccount activeUrl:activeUrl typeCloud:typeCloud];
-    
-    // setta la data di creazione del record
     [record setValue:[NSDate date] forKey:@"dateRecord"];
+
+    // Insert metdata -> entity
+    [self insertMetadataInEntity:metadata recordMetadata:record activeAccount:activeAccount activeUrl:activeUrl typeCloud:typeCloud];
     
     // Aggiorniamo la data nella directory (ottimizzazione v 2.10)
     [self setDateReadDirectoryID:metadata.directoryID activeAccount:activeAccount];
@@ -834,23 +826,6 @@
     return [self getTableMetadataWithPredicate:[NSPredicate predicateWithFormat:@"(account == %@) AND (session == %@) AND ((sessionTaskIdentifier != %i) OR (sessionTaskIdentifierPlist != %i))", activeAccount, upload_session_wwan, taskIdentifierDone, taskIdentifierDone] context:nil];
 }
 
-+ (void)updateMetadataRev:(NSString *)rev fileID:(NSString *)fileID activeAccount:(NSString *)activeAccount
-{
-    NSManagedObjectContext *context = [NSManagedObjectContext MR_defaultContext];
-    NSPredicate *predicate;
-    
-    // Metadata
-    predicate = [NSPredicate predicateWithFormat:@"(fileID == %@) AND (account == %@)", fileID, activeAccount];
-    TableMetadata *recordMetadata = [TableMetadata MR_findFirstWithPredicate:predicate inContext:context];
-    
-    if (recordMetadata) {
-        
-        recordMetadata.rev = rev;
-        
-        [context MR_saveToPersistentStoreAndWait];
-    }
-}
-
 + (void)changeRevFileIDDB:(NSString *)revFileID revTo:(NSString *)revTo activeAccount:(NSString *)activeAccount
 {
     NSManagedObjectContext *context = [NSManagedObjectContext MR_defaultContext];
@@ -1299,7 +1274,7 @@
 #pragma mark ===== LocalFile =====
 #pragma --------------------------------------------------------------------------------------------
 
-+ (void)addLocalFile:(CCMetadata *)metadata updateRev:(NSString *)updateRev activeAccount:(NSString *)activeAccount
++ (void)addLocalFile:(CCMetadata *)metadata activeAccount:(NSString *)activeAccount
 {
     [MagicalRecord saveWithBlockAndWait:^(NSManagedObjectContext *localContext) {
         
@@ -1329,10 +1304,7 @@
         record.favorite = [NSNumber numberWithBool:favorite];
         record.fileName = metadata.fileName;
         record.fileNamePrint = metadata.fileNamePrint;
-        if (updateRev)
-            record.rev = updateRev;
-        else
-            record.rev = metadata.rev;
+        record.rev = metadata.rev;
         record.size = [NSNumber numberWithLong:metadata.size];
     }];
 }
@@ -1403,7 +1375,7 @@
         
         } else {
         
-            [self addLocalFile:metadata updateRev:nil activeAccount:activeAccount];
+            [self addLocalFile:metadata activeAccount:activeAccount];
         }
     }];
 }
@@ -1778,7 +1750,7 @@
 #pragma mark ===== File System =====
 #pragma --------------------------------------------------------------------------------------------
 
-+ (BOOL)downloadFile:(CCMetadata *)metadata rev:(NSString *)rev directoryUser:(NSString *)directoryUser activeAccount:(NSString *)activeAccount
++ (BOOL)downloadFile:(CCMetadata *)metadata directoryUser:(NSString *)directoryUser activeAccount:(NSString *)activeAccount
 {
     CCCrypto *crypto = [[CCCrypto alloc] init];
     
@@ -1791,11 +1763,7 @@
     // ------------------------------------------ COREDATA -------------------------------------------
     
     // add/update Table Local File
-    [self addLocalFile:metadata updateRev:rev activeAccount:activeAccount];
-    
-    // update Table Metadate : rev if changed
-    if (![metadata.rev isEqualToString:rev])
-        [self updateMetadataRev:rev fileID:metadata.fileID activeAccount:activeAccount];
+    [self addLocalFile:metadata activeAccount:activeAccount];
     
     // EXIF
     if ([metadata.typeFile isEqualToString:metadataTypeFile_image])

+ 2 - 2
iOSClient/Main/CCMain.m

@@ -1669,7 +1669,7 @@
                 
                 [CCCoreData updateMetadata:metadataDB predicate:[NSPredicate predicateWithFormat:@"(sessionID == %@) AND (account == %@)", sessionID, app.activeAccount] activeAccount:app.activeAccount activeUrl:app.activeUrl typeCloud:app.typeCloud context:nil];
                 
-                [CCCoreData addLocalFile:metadataDB updateRev:nil activeAccount:app.activeAccount];
+                [CCCoreData addLocalFile:metadataDB activeAccount:app.activeAccount];
                 
                 [CCGraphics createNewImageFrom:metadata.fileID directoryUser:app.directoryUser fileNameTo:metadata.fileID fileNamePrint:metadata.fileNamePrint size:@"m" imageForUpload:NO typeFile:metadata.typeFile writePreview:YES optimizedFileName:[CCUtility getOptimizedPhoto]];
                 
@@ -1702,7 +1702,7 @@
         */
         
         // end test, insert in CoreData
-        [CCCoreData addMetadata:metadata activeAccount:app.activeAccount activeUrl:app.activeUrl typeCloud:app.typeCloud overwrite:YES context:nil];
+        [CCCoreData addMetadata:metadata activeAccount:app.activeAccount activeUrl:app.activeUrl typeCloud:app.typeCloud context:nil];
     }
     
     // read plist

+ 1 - 1
iOSClient/Move/CCMove.m

@@ -306,7 +306,7 @@
             if (isCryptoComplete == NO) continue;
         }
         
-        [CCCoreData addMetadata:metadata activeAccount:activeAccount activeUrl:activeUrl typeCloud:typeCloud overwrite:YES context:nil];
+        [CCCoreData addMetadata:metadata activeAccount:activeAccount activeUrl:activeUrl typeCloud:typeCloud context:nil];
         
         // if plist do not exists, download it !
         if ([CCUtility isCryptoPlistString:metadata.fileName] && [[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithFormat:@"%@/%@", directoryUser, metadata.fileName]] == NO) {

+ 8 - 8
iOSClient/Networking/CCNetworking.m

@@ -770,7 +770,7 @@
         // DATA
         if ([CCUtility isCryptoString:fileName] || [CCUtility isFileNotCryptated:fileName]) {
             
-            [CCCoreData downloadFile:metadata rev:rev directoryUser:_directoryUser activeAccount:_activeAccount];
+            [CCCoreData downloadFile:metadata directoryUser:_directoryUser activeAccount:_activeAccount];
         }
         
         // download File Success
@@ -938,7 +938,7 @@
         metadata.typeCloud = _typeCloud;
         metadata.typeFile = metadataTypeFile_unknown;
         
-        [CCCoreData addMetadata:metadata activeAccount:_activeAccount activeUrl:_activeUrl typeCloud:_typeCloud overwrite:YES context:_context];
+        [CCCoreData addMetadata:metadata activeAccount:_activeAccount activeUrl:_activeUrl typeCloud:_typeCloud context:_context];
         
         [self uploadURLSession:fileName fileNamePrint:metadata.fileNamePrint serverUrl:serverUrl directoryID:metadata.directoryID sessionID:uploadID session:metadata.session taskStatus:taskStatus assetDate:assetDate assetMediaType:assetMediaType cryptated:cryptated onlyPlist:onlyPlist parentRev:parentRev selector:selector];
     }
@@ -969,7 +969,7 @@
             metadata.typeCloud = _typeCloud;
             metadata.typeFile = metadataTypeFile_template;
             
-            [CCCoreData addMetadata:metadata activeAccount:_activeAccount activeUrl:_activeUrl typeCloud:_typeCloud overwrite:YES context:_context];
+            [CCCoreData addMetadata:metadata activeAccount:_activeAccount activeUrl:_activeUrl typeCloud:_typeCloud context:_context];
             
             // DATA
             [self uploadURLSession:fileNameCrypto fileNamePrint:fileName serverUrl:serverUrl directoryID:metadata.directoryID sessionID:uploadID session:metadata.session taskStatus:taskStatus assetDate:assetDate assetMediaType:assetMediaType cryptated:cryptated onlyPlist:onlyPlist parentRev:parentRev selector:selector];
@@ -1070,7 +1070,7 @@
                     if ([metadata.typeFile isEqualToString:metadataTypeFile_image] || [metadata.typeFile isEqualToString:metadataTypeFile_video])
                         [crypto addPlistImage:[NSString stringWithFormat:@"%@/%@", _directoryUser, [fileNameCrypto stringByAppendingString:@".plist"]] fileNamePathImage:[NSTemporaryDirectory() stringByAppendingString:uploadID]];
                     
-                    [CCCoreData addMetadata:metadata activeAccount:_activeAccount activeUrl:_activeUrl typeCloud:_typeCloud overwrite:YES context:_context];
+                    [CCCoreData addMetadata:metadata activeAccount:_activeAccount activeUrl:_activeUrl typeCloud:_typeCloud context:_context];
                     
                     // DATA
                     [self uploadURLSession:fileNameCrypto fileNamePrint:fileName serverUrl:serverUrl directoryID:metadata.directoryID sessionID:uploadID session:metadata.session taskStatus:taskStatus assetDate:assetDate assetMediaType:assetMediaType cryptated:cryptated onlyPlist:onlyPlist parentRev:parentRev selector:selector];
@@ -1097,7 +1097,7 @@
                 if ([metadata.typeFile isEqualToString:metadataTypeFile_image] || [metadata.typeFile isEqualToString:metadataTypeFile_video])
                     [crypto addPlistImage:[NSString stringWithFormat:@"%@/%@", _directoryUser, [fileNameCrypto stringByAppendingString:@".plist"]] fileNamePathImage:[NSTemporaryDirectory() stringByAppendingString:uploadID]];
                 
-                [CCCoreData addMetadata:metadata activeAccount:_activeAccount activeUrl:_activeUrl typeCloud:_typeCloud overwrite:YES context:_context];
+                [CCCoreData addMetadata:metadata activeAccount:_activeAccount activeUrl:_activeUrl typeCloud:_typeCloud context:_context];
                 
                 // DATA
                 [self uploadURLSession:fileNameCrypto fileNamePrint:fileName serverUrl:serverUrl directoryID:metadata.directoryID sessionID:uploadID session:metadata.session taskStatus:taskStatus assetDate:assetDate assetMediaType:assetMediaType cryptated:cryptated onlyPlist:onlyPlist parentRev:parentRev selector:selector];
@@ -1155,7 +1155,7 @@
                 // -- Go to Upload --
                 [CCGraphics createNewImageFrom:metadata.fileNamePrint directoryUser:_directoryUser fileNameTo:metadata.fileID fileNamePrint:metadata.fileNamePrint size:@"m" imageForUpload:YES typeFile:metadata.typeFile writePreview:YES optimizedFileName:NO];
                 
-                [CCCoreData addMetadata:metadata activeAccount:_activeAccount activeUrl:_activeUrl typeCloud:_typeCloud overwrite:YES context:_context];
+                [CCCoreData addMetadata:metadata activeAccount:_activeAccount activeUrl:_activeUrl typeCloud:_typeCloud context:_context];
                 
                 [self uploadURLSession:fileName fileNamePrint:fileName serverUrl:serverUrl directoryID:metadata.directoryID sessionID:uploadID session:metadata.session taskStatus:taskStatus assetDate:assetDate assetMediaType:assetMediaType cryptated:cryptated onlyPlist:onlyPlist parentRev:parentRev selector:selector];
             }];
@@ -1176,7 +1176,7 @@
             // -- Go to upload --
             [CCGraphics createNewImageFrom:metadata.fileNamePrint directoryUser:_directoryUser fileNameTo:metadata.fileID fileNamePrint:metadata.fileNamePrint size:@"m" imageForUpload:YES typeFile:metadata.typeFile writePreview:YES optimizedFileName:NO];
             
-            [CCCoreData addMetadata:metadata activeAccount:_activeAccount activeUrl:_activeUrl typeCloud:_typeCloud overwrite:YES context:_context];
+            [CCCoreData addMetadata:metadata activeAccount:_activeAccount activeUrl:_activeUrl typeCloud:_typeCloud context:_context];
             
             [self uploadURLSession:fileName fileNamePrint:fileName serverUrl:serverUrl directoryID:metadata.directoryID sessionID:uploadID session:metadata.session taskStatus:taskStatus assetDate:assetDate assetMediaType:assetMediaType cryptated:cryptated onlyPlist:onlyPlist parentRev:parentRev selector:selector];
         }
@@ -1489,7 +1489,7 @@
         
         // Local
         if (metadata.directory == NO)
-            [CCCoreData addLocalFile:metadata updateRev:nil activeAccount:_activeAccount];
+            [CCCoreData addLocalFile:metadata activeAccount:_activeAccount];
         
         // EXIF
         if ([metadata.typeFile isEqualToString:metadataTypeFile_image])

+ 1 - 1
iOSClient/Synchronization/CCSynchronization.m

@@ -307,7 +307,7 @@
                 selector = selectorLoadPlist;
             }
         
-            [CCCoreData addMetadata:metadata activeAccount:app.activeAccount activeUrl:serverUrl typeCloud:app.typeCloud overwrite:NO context:nil];
+            [CCCoreData addMetadata:metadata activeAccount:app.activeAccount activeUrl:serverUrl typeCloud:app.typeCloud context:nil];
         
             CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:app.activeAccount];