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