Show
Ignore:
Timestamp:
05/11/2009 04:51:19 PM (3 years ago)
Author:
gbooker
Message:

Delete unused objects as they become unused so as to not need the prune call later. This will help accelerate things later. Also, handled XML a bit better.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/CoreData/SapphireFrappliance/MetaData/SapphireMObjects/SapphireMovie.m

    r836 r840  
    271271                        while((name = [nameEnum nextObject]) != nil) 
    272272                        { 
    273                                 SapphireCast *aCast = [SapphireCast cast:name inContext:moc]; 
     273                                SapphireCast *aCast = [SapphireCast createCast:name inContext:moc]; 
    274274                                if(aCast != nil) 
    275275                                        [mutRet addObject:aCast]; 
     
    290290        NSArray *arc = [ordered valueForKey:@"name"]; 
    291291        [self setValue:[NSKeyedArchiver archivedDataWithRootObject:arc] forKey:ORDERED_CAST_DATA]; 
    292         [self.castSet setSet:[NSSet setWithArray:ordered]]; 
     292        [self setValue:[NSSet setWithArray:ordered] forKey:@"cast"]; 
    293293        int i, count=[ordered count]; 
    294294        if(count > 10) 
     
    319319                        while((genre = [genreEnum nextObject]) != nil) 
    320320                        { 
    321                                 SapphireGenre *aGenre = [SapphireGenre genre:genre inContext:moc]; 
     321                                SapphireGenre *aGenre = [SapphireGenre createGenre:genre inContext:moc]; 
    322322                                if(aGenre != nil) 
    323323                                        [mutRet addObject:aGenre]; 
     
    338338        NSArray *arc = [ordered valueForKey:@"name"]; 
    339339        [self setValue:[NSKeyedArchiver archivedDataWithRootObject:arc] forKey:ORDERED_GENRES_DATA]; 
    340         [self.genresSet addObjectsFromArray:ordered]; 
     340        [self setValue:[NSSet setWithArray:ordered] forKey:@"genres"]; 
    341341} 
    342342 
     
    360360                        while((name = [nameEnum nextObject]) != nil) 
    361361                        { 
    362                                 SapphireDirector *aDir = [SapphireDirector director:name inContext:moc]; 
     362                                SapphireDirector *aDir = [SapphireDirector createDirector:name inContext:moc]; 
    363363                                if(aDir != nil) 
    364364                                        [mutRet addObject:aDir]; 
     
    379379        NSArray *arc = [ordered valueForKey:@"name"]; 
    380380        [self setValue:[NSKeyedArchiver archivedDataWithRootObject:arc] forKey:ORDERED_DIRECTOR_DATA]; 
    381         [self.directorsSet addObjectsFromArray:ordered]; 
     381        [self setValue:[NSSet setWithArray:ordered] forKey:@"directors"]; 
    382382} 
    383383 
     
    402402        } 
    403403        [self setPrimitiveValue:nil forKey:ORDERED_CAST_KEY]; 
    404         [self.castSet setSet:[NSSet setWithArray:self.orderedCast]]; 
     404        [self setValue:[NSSet setWithArray:self.orderedCast] forKey:@"cast"]; 
    405405} 
    406406 
     
    417417        } 
    418418        [self setPrimitiveValue:nil forKey:ORDERED_GENRES_KEY]; 
    419         [self.genresSet setSet:[NSSet setWithArray:self.orderedGenres]]; 
     419        [self setValue:[NSSet setWithArray:self.orderedGenres] forKey:@"genres"]; 
    420420} 
    421421 
     
    432432        } 
    433433        [self setPrimitiveValue:nil forKey:ORDERED_DIRECTOR_KEY]; 
    434         [self.directorsSet setSet:[NSSet setWithArray:self.orderedDirectors]]; 
     434        [self setValue:[NSSet setWithArray:self.orderedDirectors] forKey:@"directors"]; 
    435435} 
    436436 
     
    451451{ 
    452452        [super removeXml:removedXMLs]; 
    453         [self checkXMLOverridenSets]; 
     453        //This can occur during a delete propogation, which appears to have KVO completely broken; workaround 
     454        [SapphireMetaDataSupport setObjectForPendingDelete:self]; 
    454455} 
    455456 
     
    463464{ 
    464465        [super removeXmlObject:removedXML]; 
    465         [self checkXMLOverridenSets]; 
     466        //This can occur during a delete propogation, which appears to have KVO completely broken; workaround 
     467        [SapphireMetaDataSupport setObjectForPendingDelete:self]; 
    466468} 
    467469 
     
    575577} 
    576578 
     579- (BOOL)shouldDelete 
     580{ 
     581        if([self.filesSet count] == 0) 
     582                return YES; 
     583         
     584        [self checkXMLOverridenSets]; 
     585        return NO; 
     586} 
     587 
    577588-(void)removeFiles:(NSSet*)removeFiles 
    578589{ 
    579590        [super removeFiles:removeFiles]; 
    580         [self clearPredicateCache]; 
     591        if([self.filesSet count] == 0) 
     592                [SapphireMetaDataSupport setObjectForPendingDelete:self]; 
     593        else 
     594                [self clearPredicateCache]; 
    581595} 
    582596 
     
    590604{ 
    591605        [super removeFilesObject:removeFile]; 
    592         [self clearPredicateCache]; 
     606        if([self.filesSet count] == 0) 
     607                [SapphireMetaDataSupport setObjectForPendingDelete:self]; 
     608        else 
     609                [self clearPredicateCache]; 
    593610} 
    594611