Changeset 608

Show
Ignore:
Timestamp:
07/01/08 19:24:08 (6 months ago)
Author:
gbooker
Message:

Added some debug info for later use
Correctly delete non-existing files/directories
When scanning directories, clear the filter predicate

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/CoreData/SapphireFrappliance/FRAppliance/SapphireApplianceController.h

    r599 r608  
    7575 */ 
    7676+ (void)setPredicateType:(PredicateType)type; 
     77 
     78/*! 
     79 * @brief Get the unfiltered predicate 
     80 * 
     81 * @return The unfiltered predicate 
     82 */ 
     83+ (NSPredicate *)unfilteredPredicate; 
    7784 
    7885/*! 
  • branches/CoreData/SapphireFrappliance/FRAppliance/SapphireApplianceController.m

    r599 r608  
    121121{ 
    122122        [[SapphireSettings sharedSettings] setIndexOfLastPredicate:type]; 
     123} 
     124 
     125+ (NSPredicate *)unfilteredPredicate 
     126{ 
     127        return skipJoin; 
    123128} 
    124129 
  • branches/CoreData/SapphireFrappliance/MetaData/SapphireMObjects/SapphireDirectoryMetaData.m

    r598 r608  
    7373        NSManagedObjectContext *moc = [self managedObjectContext]; 
    7474        NSDictionary *dirs = [dict objectForKey:@"Dirs"]; 
    75         NSEnumerator *dirEnum = [dirs keyEnumerator]; 
     75        NSArray *allDirs = [[dirs allKeys] sortedArrayUsingSelector:@selector(compare:)]; 
     76        NSEnumerator *dirEnum = [allDirs objectEnumerator]; 
    7677        NSString *dir; 
    7778        while((dir = [dirEnum nextObject]) != nil) 
     
    8788        } 
    8889        NSDictionary *files = [dict objectForKey:@"Files"]; 
    89         NSEnumerator *fileEnum = [files keyEnumerator]; 
     90        NSArray *allFiles = [[files allKeys] sortedArrayUsingSelector:@selector(compare:)]; 
     91        NSEnumerator *fileEnum = [allFiles objectEnumerator]; 
    9092        NSString *file; 
    9193        while((file = [fileEnum nextObject]) != nil) 
     
    327329        while((name = [nameEnum nextObject]) != nil) 
    328330        { 
    329                 SapphireFileMetaData *file = [self metaDataForFile:name]; 
    330                 [moc deleteObject:file]; 
     331                NSLog(@"Need to delete file %@ in %@", name, self.path); 
     332                SapphireFileMetaData *file = [SapphireFileMetaData fileWithPath:[self.path stringByAppendingPathComponent:name] inContext:moc]; 
     333                if(file != nil) 
     334                        [moc deleteObject:file]; 
    331335        } 
    332336         
     
    334338        while((name = [nameEnum nextObject]) != nil) 
    335339        { 
    336                 SapphireDirectoryMetaData *dir = (SapphireDirectoryMetaData *)[self metaDataForDirectory:name]; 
    337                 [moc deleteObject:dir]; 
     340                NSLog(@"Need to delete dir %@ in %@", name, self.path); 
     341                SapphireDirectoryMetaData *dir = [SapphireDirectoryMetaData directoryWithPath:[self.path stringByAppendingPathComponent:name] inContext:moc]; 
     342                if(dir != nil) 
     343                        [moc deleteObject:dir]; 
    338344        } 
    339345         
     
    341347        while((name = [nameEnum nextObject]) != nil) 
    342348        { 
     349                NSLog(@"Need to delete file link %@ in %@", name, self.path); 
    343350                SapphireFileSymLink *link = [SapphireFileSymLink fileLinkWithPath:[self.path stringByAppendingPathComponent:name] inContext:moc]; 
    344351                [moc deleteObject:link]; 
     
    348355        while((name = [nameEnum nextObject]) != nil) 
    349356        { 
     357                NSLog(@"Need to delete dir link %@ in %@", name, self.path); 
    350358                SapphireDirectorySymLink *link = [SapphireDirectorySymLink directoryLinkWithPath:[self.path stringByAppendingPathComponent:name] inContext:moc]; 
    351359                [moc deleteObject:link]; 
     
    470478{ 
    471479        /*Scan dir and create scanner*/ 
     480        [self setFilterPredicate:[SapphireApplianceController unfilteredPredicate]]; 
    472481        [self reloadDirectoryContents]; 
    473482        SapphireMetaDataScanner *scanner = [[SapphireMetaDataScanner alloc] initWithDirectoryMetaData:self delegate:subDelegate];