Author: torehalset
Date: Tue Oct 17 12:59:55 2006
New Revision: 465022

URL: http://svn.apache.org/viewvc?view=rev&rev=465022
Log:
init relationships on register object. 

Modified:
    incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m

Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m?view=diff&rev=465022&r1=465021&r2=465022
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m 
(original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m Tue 
Oct 17 12:59:55 2006
@@ -283,7 +283,6 @@
     NSString *attribute;
     while(attribute = [enumerator nextObject])
     {
-        NSLog(@"DEBUG: check if object has value for %@", attribute);
         if(![[o valuesRaw] objectForKey:attribute])
         {
             NSLog(@"DEBUG: setting attribute %@ to NSNull", attribute);
@@ -291,7 +290,28 @@
         }
     }
     
-    // TODO: init relationship values to NSNull as well?
+    // init relationships
+    enumerator = [[objEntity relationships] keyEnumerator];
+    NSString *relationshipName;
+    while(relationshipName = [enumerator nextObject])
+    {
+        if(![[o valuesRaw] objectForKey:relationshipName])
+        {
+            CAYObjRelationship *relationship = [[objEntity relationships] 
objectForKey:relationshipName];
+            if([relationship isToMany])
+            {
+                NSLog(@"DEBUG: setting relationship %@ to empty array", 
relationship);
+                NSMutableArray *array = [[NSMutableArray alloc] init];
+                [[o valuesRaw] setObject:array forKey:relationshipName];
+                [array release];
+            }
+            else
+            {
+                NSLog(@"DEBUG: setting attribute %@ to NSNull", relationship);
+                [[o valuesRaw] setObject:[NSNull null] 
forKey:relationshipName];
+            }
+        }
+    }
     
     [oid release];
     [o release];


Reply via email to