Commit Graph

29 Commits

Author SHA1 Message Date
Blake Watters
5efcfe2c41 Eliminate remaining use of keyed subscript access 2012-12-10 17:12:53 -05:00
Blake Watters
79e31b524a Refactored managed object caches and connection support to enable connecting by multiple atributes that are specified as arrays.
* Migrated the caches to return `NSSet` to eliminate duplicate objects when your cache keys overlap
* Introduced new recursive strategy for building cache keys in `RKInMemoryManagedObjectCache`
* Added support for array cache key values in `RKFetchRequestManagedObjectCache`
* Re-enabled a slew of tests that were disabled during 0.20 development
2012-12-06 23:43:34 -05:00
Blake Watters
ddbd1e1f95 Fix inappropriate managed object context reference in [RKEntityByAttributeCache addObject:] 2012-12-02 00:23:49 -05:00
Blake Watters
8dc54a89b2 Major overhaul to the Core Data managed object identification and relationship connection support.
* Replaces primary key with `RKEntityIdentifier`
* Add support for use of compound keys for object identification
* Refactor `RKConnectionMapping` to `RKConnectionDescription` and add support for connecting with multiple attributes
* Clarify naming of representation key methods to better match naming conventions
* Add type transformation support for object identification
* Greatly expand test coverage for object identification
* Drop the `NSEntityDescription` category
* Simplify the `RKManagedObjectCaching` protocol
* Add compound key support to the Fetch Request and In Memory Cache implementations
* Replace Kiwi with Specta for tests where contexts are helpful for organization
* Rename `defaultValueForMissingAttribute` to `defaultValueForAttribute`
2012-11-27 10:29:36 -05:00
Blake Watters
95b9a0ecba Synchronize access to the attribute to ID's dictionary and immediately copy it to avoid crashes under heavily threaded access to the cache 2012-11-13 19:15:11 -05:00
Blake Watters
f2ff70177c Merge branch 'development' of github.com:CFKevinRef/RestKit into CFKevinRef-development 2012-11-07 21:59:38 -05:00
Blake Watters
153c230751 Suppress logging of referential integrity errors if the objectID is temporary as it likely indicates the object is not accessible from the requested context 2012-11-06 15:19:13 -05:00
Blake Watters
7af8d0ac8b Change isEqual: checks for entity to isKindOfEntity: fixes #816 2012-10-29 01:28:17 -04:00
Blake Watters
0539aeb45e Documentation formatting and touch ups 2012-09-29 17:54:51 -04:00
Arne Harren
bc7c65f03b Switch to an embedded variant of LibComponentLogging with prefix RK 2012-09-27 21:47:36 +02:00
Jawwad Ahmad
285586a5b5 Some code formatting cleanup. 2012-09-02 13:15:14 -04:00
Jawwad Ahmad
8cbdb5f7ed Trailing whitespace cleanup from files in the Code directory.
Used the following command from within the Code dir:
git ls-files *.m *.h *.json | xargs /usr/bin/sed -i '' -E 's/[[:space:]]*$//'
2012-09-02 12:51:45 -04:00
Jawwad Ahmad
c70ab49457 Delete @synthesize statements that are no longer needed. (Works with current 4.4.1 release of Xcode). 2012-09-02 12:28:45 -04:00
Blake Watters
ce6b0829e4 Convert RestKit to ARC 2012-08-28 17:34:58 -04:00
Blake Watters
7e968ac86b Execute existingObjectWithID: within a performBlockAndWait: 2012-08-22 18:50:33 -04:00
Blake Watters
571909c8b4 Remove performBlockAndWait: in RKEntityByAttributeCache after encountering mysterious hangs 2012-08-09 17:12:51 -04:00
Blake Watters
1463a7d2f8 Cleanup log warnings on OS X related to NSUInteger typedef differences (unsigned int vs unsigned long) 2012-08-07 09:58:30 -04:00
Blake Watters
5af66a4e89 Finalized to existingObjectWithID: approach after benchmarking fetch request strategy 2012-07-20 16:09:58 -04:00
Blake Watters
093a76e7b2 Migrated to a single entity cache for the primary MOC instead of one per thread 2012-07-20 15:41:47 -04:00
Blake Watters
6b315fbd54 Updates to entity cache and other components to operate in parent/child context world. 2012-07-20 14:48:09 -04:00
Blake Watters
b25a1833b3 Ported RestKit to using managed object contexts with concurrency types. Numerous cleanups and API updates. 2012-07-16 22:47:06 -04:00
Blake Watters
f0706dbdbf Work in progress
Conflicts:
	Code/CoreData/RKManagedObjectLoader.h
	Code/CoreData/RKManagedObjectLoader.m
	Code/CoreData/RKManagedObjectMapping.m
	Code/CoreData/RKManagedObjectMappingOperation.m
	Code/CoreData/RKManagedObjectStore.m
	Code/CoreData/RKManagedObjectThreadSafeInvocation.h
	Code/CoreData/RKManagedObjectThreadSafeInvocation.m
	Code/CoreData/RKSearchableManagedObject.m
	Code/ObjectMapping/RKObjectLoader.m
	Code/ObjectMapping/RKObjectMapper.h
	Code/ObjectMapping/RKObjectMappingOperation.m
	RestKit.xcodeproj/project.pbxproj
	Tests/Logic/CoreData/RKManagedObjectThreadSafeInvocationTest.m
2012-07-13 13:07:42 -04:00
Jawwad Ahmad
eaa5484b01 Placing opening braces on a new line for methods to match Apple convention. Refs #614
Used uncrustify's "nl_fdef_brace = add" option to detect issues.
2012-06-04 00:36:19 -04:00
Blake Watters
680ca666d6 Update RKTestFactory to silence logging output during setup/tear down operations. closes #764
* Introduced new logging helpers for silencing components.
* Check for existence of data store at path before firing deletion to avoid log warning on failure.
* Silence logging for reachability and cache during factory initialization of RKClient and RKObjectManager
* Adjust log levels on cache components from info to debug
2012-05-24 12:53:45 -04:00
Blake Watters
489bb0423a Fix static analyzer issues 2012-05-18 20:01:56 -04:00
Blake Watters
fcb973056b Cleanup trailing whitespace. refs #743 2012-05-17 18:00:16 -04:00
Blake Watters
9bf89ebec1 Completed documentation and testing for managed object cache overhaul. refs #635 2012-05-15 12:49:42 -04:00
Blake Watters
a01d47316c Added new logging component for Core Data cacheing subsystem. Fixed performance degradation in entity cache. Enabled RKManagedObjectCacheing callbacks to accelerate mapping, disabled processPendingChanges 2012-05-04 23:19:14 -04:00
Blake Watters
fbcef6abd5 First functional cut at new Core Data cacheing implementation. Tests clean, needs polishing. 2012-05-04 22:15:30 -04:00