You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by to...@apache.org on 2006/11/07 23:16:34 UTC
svn commit: r472302 - in
/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne: ./
CocoaCayenne.xcodeproj/
Author: torehalset
Date: Tue Nov 7 14:16:33 2006
New Revision: 472302
URL: http://svn.apache.org/viewvc?view=rev&rev=472302
Log:
* refactor out ObjectStore to separate class
* undo stuff in CAYPersistentObject, but additional diffs
are created.
Added:
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectStore.h
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectStore.m
Modified:
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCompoundDiff.m
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYNodeDiff.h
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYNodeDiff.m
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYNodeIdChangeOperation.m
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.h
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentObject.m
incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CocoaCayenne.xcodeproj/project.pbxproj
Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCompoundDiff.m
URL: http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCompoundDiff.m?view=diff&rev=472302&r1=472301&r2=472302
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCompoundDiff.m (original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYCompoundDiff.m Tue Nov 7 14:16:33 2006
@@ -60,7 +60,7 @@
return result;
}
--(void)apply:(NSMutableDictionary *)objectStore
+-(void)apply:(CAYObjectStore *)objectStore
{
if(![diffs isKindOfClass:[NSNull class]])
{
Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYNodeDiff.h
URL: http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYNodeDiff.h?view=diff&rev=472302&r1=472301&r2=472302
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYNodeDiff.h (original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYNodeDiff.h Tue Nov 7 14:16:33 2006
@@ -18,7 +18,9 @@
****************************************************************/
#import <Cocoa/Cocoa.h>
+#import "CAYObjectStore.h"
+@class CAYObjectStore;
@interface CAYNodeDiff : NSObject <NSCoding> {
int diffId;
@@ -31,7 +33,7 @@
-(void)setNodeId:(NSObject *)nid;
-(NSObject *)nodeId;
--(void)apply:(NSMutableDictionary *)objectStore;
--(void)undo:(NSMutableDictionary *)objectStore;
+-(void)apply:(CAYObjectStore *)objectStore;
+-(void)undo:(CAYObjectStore *)objectStore;
@end
Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYNodeDiff.m
URL: http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYNodeDiff.m?view=diff&rev=472302&r1=472301&r2=472302
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYNodeDiff.m (original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYNodeDiff.m Tue Nov 7 14:16:33 2006
@@ -62,12 +62,12 @@
return nodeId;
}
--(void)apply:(NSMutableDictionary *)objectStore
+-(void)apply:(CAYObjectStore *)objectStore
{
NSLog(@"%@ does not implement apply:", [self class]);
}
--(void)undo:(NSMutableDictionary *)objectStore
+-(void)undo:(CAYObjectStore *)objectStore
{
NSLog(@"%@ does not implement undo:", [self class]);
}
Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYNodeIdChangeOperation.m
URL: http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYNodeIdChangeOperation.m?view=diff&rev=472302&r1=472301&r2=472302
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYNodeIdChangeOperation.m (original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYNodeIdChangeOperation.m Tue Nov 7 14:16:33 2006
@@ -20,6 +20,7 @@
#import "CAYNodeIdChangeOperation.h"
#import "CAYPersistentObject.h"
#import "CAYObjectId.h"
+#import "CAYObjectStore.h"
@implementation CAYNodeIdChangeOperation
@@ -48,19 +49,19 @@
return newNodeId;
}
--(void)apply:(NSMutableDictionary *)objectStore
+-(void)apply:(CAYObjectStore *)objectStore
{
- CAYPersistentObject *o = [objectStore objectForKey:[self nodeId]];
+ CAYPersistentObject *o = [objectStore objectForId:(CAYObjectId *)[self nodeId]];
if(o)
{
[o setObjectId:(CAYObjectId *)[self newNodeId]];
- [objectStore setObject:o forKey:[self newNodeId]];
- [objectStore removeObjectForKey:[self nodeId]];
+ [objectStore setObject:o forId:(CAYObjectId *)[self newNodeId]];
+ [objectStore removeObjectForId:(CAYObjectId *)[self nodeId]];
NSLog(@"DEBUG: object after %@: %@", self, o);
}
else
{
- NSLog(@"ERROR: not able to find object with id %@. keys in object store: %@", [self nodeId], [objectStore allKeys]);
+ NSLog(@"ERROR: not able to find object with id %@", [self nodeId]);
}
}
Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.h
URL: http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.h?view=diff&rev=472302&r1=472301&r2=472302
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.h (original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.h Tue Nov 7 14:16:33 2006
@@ -21,21 +21,22 @@
#import "CAYQuery.h"
#import "CAYEntityResolver.h"
#import "CAYPersistentObject.h"
+#import "CAYObjectStore.h"
-@class CAYPersistentObject, CAYClientConnection, CAYPersistentObject, CAYEntityResolver;
+@class CAYPersistentObject, CAYClientConnection, CAYPersistentObject, CAYEntityResolver, CAYObjectStore;
@interface CAYObjectContext : NSObject {
CAYClientConnection *connection;
- NSMutableArray *diffs;
CAYEntityResolver *entityResolver;
- NSMutableDictionary *objectByObjectId;
NSUndoManager *undoManager;
+ CAYObjectStore *objectStore;
}
-(NSArray *)performQuery:(CAYQuery *)query error:(NSError **)outError;
-(void)setConnection:(CAYClientConnection *)c;
-(CAYClientConnection *)connection;
+-(CAYObjectStore *)objectStore;
-(void) propertyChanged:(CAYPersistentObject *)object forProperty:(NSString *)property fromOld:(NSObject *)oldValue toNew:(NSObject *)newValue;
-(void) arcPropertyChanged:(CAYPersistentObject *)object forProperty:(NSString *)property fromOld:(NSObject *)oldValue toNew:(NSObject *)newValue;
Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m
URL: http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m?view=diff&rev=472302&r1=472301&r2=472302
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m (original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectContext.m Tue Nov 7 14:16:33 2006
@@ -44,8 +44,7 @@
self = [super init];
if(self != nil)
{
- diffs = [[NSMutableArray alloc] init];
- objectByObjectId = [[NSMutableDictionary alloc] init];
+ objectStore = [[CAYObjectStore alloc] init];
}
return self;
}
@@ -118,7 +117,7 @@
if([row isKindOfClass:[CAYPersistentObject class]])
{
// try to look for old with same objectId in the context
- CAYPersistentObject *old = (CAYPersistentObject *)[objectByObjectId objectForKey:[row objectId]];
+ CAYPersistentObject *old = [[self objectStore] objectForId:[row objectId]];
if(old)
{
NSLog(@"DEBUG: old exist for oid. merge over values. %@ == %@", [row objectId], [old objectId]);
@@ -137,7 +136,7 @@
else
{
NSLog(@"DEBUG: old does not exist for oid %@", [row objectId]);
- [objectByObjectId setObject:row forKey:[row objectId]];
+ [[self objectStore] setObject:row forId:[row objectId]];
[row setPersistenceState:PSTATE_COMMITTED];
}
@@ -167,10 +166,10 @@
NSLog(@"DEBUG: prop %@ changed from %@ to %@", property, oldValue, newValue);
CAYNodeDiff *diff = [[CAYNodePropertyChangeOperation alloc] initWithNodeId:[object objectId] property:property oldValue:oldValue newValue:newValue];
- [diffs addObject:diff];
+ [[self objectStore] registerDiff:diff];
[diff release];
[object setPersistenceState:PSTATE_MODIFIED];
- NSLog(@"DEBUG: %i unsaved changes", [diffs count]);
+ NSLog(@"DEBUG: %i unsaved changes", [[self objectStore] diffCount]);
}
-(void) arcPropertyChanged:(CAYPersistentObject *)object forProperty:(NSString *)property fromOld:(NSObject *)oldValue toNew:(NSObject *)newValue
@@ -182,7 +181,7 @@
NSLog(@"DEBUG: add a arcDelete %@.%@", [object class], property);
CAYPersistentObject *ov = (CAYPersistentObject *)oldValue;
CAYArcDeleteOperation *diff = [[CAYArcDeleteOperation alloc] initWithNodeId:[object objectId] targetNodeId:[ov objectId] arcId:property];
- [diffs addObject:diff];
+ [[self objectStore] registerDiff:diff];
[diff release];
}
@@ -191,7 +190,7 @@
NSLog(@"DEBUG: add a arcCreate %@.%@", [object class], property);
CAYPersistentObject *nv = (CAYPersistentObject *)newValue;
CAYArcCreateOperation *diff = [[CAYArcCreateOperation alloc] initWithNodeId:[object objectId] targetNodeId:[nv objectId] arcId:property];
- [diffs addObject:diff];
+ [[self objectStore] registerDiff:diff];
[diff release];
}
}
@@ -227,10 +226,15 @@
return connection;
}
+-(CAYObjectStore *)objectStore
+{
+ return objectStore;
+}
+
-(BOOL)commitChanges:(NSError **)outError
{
- NSLog(@"DEBUG: %i unsaved changes before commit. %@", [diffs count], diffs);
- CAYCompoundDiff *diffWithDiffs = [[CAYCompoundDiff alloc] initWithDiffs:diffs];
+ NSLog(@"DEBUG: %i unsaved changes before commit.", [[self objectStore] diffCount]);
+ CAYCompoundDiff *diffWithDiffs = [[CAYCompoundDiff alloc] initWithDiffs:[[self objectStore] diffs]];
CAYSyncMessage *msg = [[CAYSyncMessage alloc] initWithType:SYNCTYPE_FLUSH_CASCADE senderChanges:diffWithDiffs];
id result = [[self connection] sendMessage:msg];
@@ -241,10 +245,10 @@
if([result isKindOfClass:[CAYNodeDiff class]])
{
CAYNodeDiff *resultDiff = (CAYNodeDiff *)result;
- [resultDiff apply:objectByObjectId];
+ [resultDiff apply:[self objectStore]];
// even if no diffs a CAYNodeDiff are returned. so this is the
// place to clear out the diffs
- [diffs removeAllObjects];
+ [[self objectStore] removeAllDiffs];
}
else if ([result isKindOfClass:[NSError class]])
{
@@ -275,7 +279,7 @@
[msg release];
[diffWithDiffs release];
- NSLog(@"DEBUG: %i unsaved changes after commit", [diffs count]);
+ NSLog(@"DEBUG: %i unsaved changes after commit", [[self objectStore] diffCount]);
return YES;
}
@@ -326,10 +330,10 @@
[randomdata release];
CAYNodeDiff *diff = [[CAYNodeCreateOperation alloc] initWithNodeId:oid];
- [diffs addObject:diff];
+ [[self objectStore] registerDiff:diff];
[diff release];
- [objectByObjectId setObject:o forKey:oid];
+ [[self objectStore] setObject:o forId:oid];
// init values with NSNull objects
NSEnumerator *enumerator = [[objEntity attributes] keyEnumerator];
@@ -373,11 +377,11 @@
-(void)deleteObject:(CAYPersistentObject *)o
{
CAYNodeDiff *diff = [[CAYNodeDeleteOperation alloc] initWithNodeId:[o objectId]];
- [diffs addObject:diff];
+ [[self objectStore] registerDiff:diff];
[diff release];
// remove from object store
- [objectByObjectId removeObjectForKey:[o objectId]];
+ [[self objectStore] removeObjectForId:[o objectId]];
// set persistent state
[o setPersistenceState:PSTATE_DELETED];
@@ -457,10 +461,8 @@
{
[self setConnection:nil];
[self setEntityResolver:nil];
- [diffs release];
- diffs = nil;
- [objectByObjectId release];
- objectByObjectId = nil;
+ [objectStore release];
+ objectStore = nil;
[self setUndoManager:nil];
[super dealloc];
}
Added: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectStore.h
URL: http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectStore.h?view=auto&rev=472302
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectStore.h (added)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectStore.h Tue Nov 7 14:16:33 2006
@@ -0,0 +1,44 @@
+/*****************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+****************************************************************/
+
+#import <Cocoa/Cocoa.h>
+#import "CAYNodeDiff.h"
+#import "CAYPersistentObject.h"
+#import "CAYObjectId.h"
+
+@class CAYNodeDiff, CAYPersistentObject;
+
+@interface CAYObjectStore : NSObject {
+
+ NSMutableArray *diffs;
+ NSMutableDictionary *objectByObjectId;
+
+}
+
+-(void)registerDiff:(CAYNodeDiff *)diff;
+-(unsigned int)diffCount;
+// TODO: should not return a mutable!
+-(NSMutableArray *)diffs;
+-(void)removeAllDiffs;
+
+-(CAYPersistentObject *)objectForId:(CAYObjectId *)oid;
+-(void)setObject:(CAYPersistentObject *)row forId:(CAYObjectId *)oid;
+-(void)removeObjectForId:(CAYObjectId *)oid;
+
+@end
Added: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectStore.m
URL: http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectStore.m?view=auto&rev=472302
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectStore.m (added)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYObjectStore.m Tue Nov 7 14:16:33 2006
@@ -0,0 +1,81 @@
+/*****************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+****************************************************************/
+
+#import "CAYObjectStore.h"
+
+
+@implementation CAYObjectStore
+
+-(id)init
+{
+ self = [super init];
+ if(self != nil)
+ {
+ diffs = [[NSMutableArray alloc] init];
+ objectByObjectId = [[NSMutableDictionary alloc] init];
+ }
+ return self;
+}
+
+-(void)registerDiff:(CAYNodeDiff *)diff
+{
+ [diffs addObject:diff];
+}
+
+-(unsigned int)diffCount
+{
+ return [diffs count];
+}
+
+// TODO: should not return a mutable!
+-(NSMutableArray *)diffs
+{
+ return diffs;
+}
+
+-(void)removeAllDiffs
+{
+ [diffs removeAllObjects];
+}
+
+-(CAYPersistentObject *)objectForId:(CAYObjectId *)oid
+{
+ return [objectByObjectId objectForKey:oid];
+}
+
+-(void)setObject:(CAYPersistentObject *)row forId:(CAYObjectId *)oid
+{
+ [objectByObjectId setObject:row forKey:oid];
+}
+
+-(void)removeObjectForId:(CAYObjectId *)oid
+{
+ [objectByObjectId removeObjectForKey:oid];
+}
+
+-(void)dealloc
+{
+ [diffs release];
+ diffs = nil;
+ [objectByObjectId release];
+ objectByObjectId = nil;
+ [super dealloc];
+}
+
+@end
Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentObject.m
URL: http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentObject.m?view=diff&rev=472302&r1=472301&r2=472302
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentObject.m (original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CAYPersistentObject.m Tue Nov 7 14:16:33 2006
@@ -171,6 +171,8 @@
CAYObjEntity *objEntity = [[[self objectContext] entityResolver] lookupObjEntity:self];
CAYObjRelationship *relationship = [[objEntity relationships] valueForKey:key];
+ id oldValue = [self valueForKey:key];
+
if (relationship)
{
@@ -182,7 +184,7 @@
NSLog(@"ERROR: toMany argument should be of type NSArray, not %@", [value class]);
}
- NSArray *oldValue = [self valueForKey:key];
+ //NSArray *oldValue = [self valueForKey:key];
NSEnumerator *enumerator;
CAYPersistentObject *element;
@@ -225,7 +227,7 @@
else
{
// a none-relationship property
- id oldValue = [self valueForKey:key];
+ //id oldValue = [self valueForKey:key];
// create diff and set value. validation done using key/value validation
[[self objectContext] propertyChanged:self forProperty:key fromOld:[values objectForKey:key] toNew:value];
@@ -234,6 +236,8 @@
CAYObjAttribute *attribute = [[objEntity attributes] valueForKey:key];
NSLog(@"DEBUG: %@.%@. attribute: %@. oldValue: %@. oldValue class: %@",[objEntity name], key, attribute, oldValue, [oldValue class]);
}
+
+ [[[self undoManager] prepareWithInvocationTarget:self] setPrimitiveValue:oldValue forKey:key];
[self didChangeValueForKey:key];
}
Modified: incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CocoaCayenne.xcodeproj/project.pbxproj
URL: http://svn.apache.org/viewvc/incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CocoaCayenne.xcodeproj/project.pbxproj?view=diff&rev=472302&r1=472301&r2=472302
==============================================================================
--- incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CocoaCayenne.xcodeproj/project.pbxproj (original)
+++ incubator/cayenne/sandbox/CocoaCayenne/CocoaCayenne/CocoaCayenne.xcodeproj/project.pbxproj Tue Nov 7 14:16:33 2006
@@ -13,6 +13,8 @@
4421E61F0AA4EE2D00FBE975 /* CAYNodeIdChangeOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4421E61D0AA4EE2D00FBE975 /* CAYNodeIdChangeOperation.m */; };
442607380AA4B8DE00F0A01F /* CAYNodeCreateOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 442607360AA4B8DE00F0A01F /* CAYNodeCreateOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
442607390AA4B8DE00F0A01F /* CAYNodeCreateOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 442607370AA4B8DE00F0A01F /* CAYNodeCreateOperation.m */; };
+ 443C14FA0B01348F004B032F /* CAYObjectStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 443C14F80B01348F004B032F /* CAYObjectStore.h */; };
+ 443C14FB0B01348F004B032F /* CAYObjectStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 443C14F90B01348F004B032F /* CAYObjectStore.m */; };
44463D9B0AA37577006BAA58 /* CAYBootstrapMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 44463D6B0AA37577006BAA58 /* CAYBootstrapMessage.h */; settings = {ATTRIBUTES = (Public, ); }; };
44463D9C0AA37577006BAA58 /* CAYBootstrapMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 44463D6C0AA37577006BAA58 /* CAYBootstrapMessage.m */; };
44463D9D0AA37577006BAA58 /* CAYClientConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 44463D6D0AA37577006BAA58 /* CAYClientConnection.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -104,6 +106,8 @@
4421E61D0AA4EE2D00FBE975 /* CAYNodeIdChangeOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CAYNodeIdChangeOperation.m; sourceTree = "<group>"; };
442607360AA4B8DE00F0A01F /* CAYNodeCreateOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAYNodeCreateOperation.h; sourceTree = "<group>"; };
442607370AA4B8DE00F0A01F /* CAYNodeCreateOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CAYNodeCreateOperation.m; sourceTree = "<group>"; };
+ 443C14F80B01348F004B032F /* CAYObjectStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAYObjectStore.h; sourceTree = "<group>"; };
+ 443C14F90B01348F004B032F /* CAYObjectStore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CAYObjectStore.m; sourceTree = "<group>"; };
44463D6B0AA37577006BAA58 /* CAYBootstrapMessage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAYBootstrapMessage.h; sourceTree = "<group>"; };
44463D6C0AA37577006BAA58 /* CAYBootstrapMessage.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = CAYBootstrapMessage.m; sourceTree = "<group>"; };
44463D6D0AA37577006BAA58 /* CAYClientConnection.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAYClientConnection.h; sourceTree = "<group>"; };
@@ -261,6 +265,8 @@
444DA8040AA61E54006E1768 /* CAYCocoaCayenne.m */,
444F27A60AC9EDFF0097052B /* CAYCayenneRuntimeException.h */,
444F27A70AC9EDFF0097052B /* CAYCayenneRuntimeException.m */,
+ 443C14F80B01348F004B032F /* CAYObjectStore.h */,
+ 443C14F90B01348F004B032F /* CAYObjectStore.m */,
);
name = Classes;
sourceTree = "<group>";
@@ -460,6 +466,7 @@
444F27F50AC9F4B80097052B /* CAYMissingSessionException.h in Headers */,
4485B3B70AF69DE500920481 /* CAYObjectIdQuery.h in Headers */,
445C275A0AFC024300D7D2AA /* CAYTreeController.h in Headers */,
+ 443C14FA0B01348F004B032F /* CAYObjectStore.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -557,6 +564,7 @@
444F27F60AC9F4B80097052B /* CAYMissingSessionException.m in Sources */,
4485B3B80AF69DE500920481 /* CAYObjectIdQuery.m in Sources */,
445C275B0AFC024300D7D2AA /* CAYTreeController.m in Sources */,
+ 443C14FB0B01348F004B032F /* CAYObjectStore.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};