118 Commits

Author SHA1 Message Date
Blake Watters
29f6e7cc08 Added test case for NSMutableSet mapping on managed object. refs #1201 2013-03-16 15:39:13 -04:00
Blake Watters
a0a0adf7d1 Make deletion of newly inserted objects that fail validation configurable. closes #1281 2013-03-16 15:26:04 -04:00
Blake Watters
96b9d6f683 Rework deletion operations to avoid deleting objects that would be valid if mapping we allowed to assign them to the desintation relationship. refs #1225 2013-03-14 20:13:32 -04:00
Blake Watters
e831e03ccb Add workaround to avoid potential crash during execution of deletion operations on iOS 5. closes #1266 2013-03-13 22:28:24 -04:00
Blake Watters
e62a9862d7 Rework RKManagedObjectMappingOperationDataSource to avoid performing mutable(Array|Set|OrderedSet)ValueForKeyPath: unless there are existing objects and the identificationAttributes are nil. refs #1232 2013-03-10 14:22:38 -04:00
Panupan Sriautharawong
be7ccc7404 Add test coverage for connection of objects with temporary ID's. closes #1227 2013-03-09 17:49:14 -05:00
Blake Watters
02247695b1 Fix intermittent crashes during test execution 2013-03-07 15:33:11 -05:00
Blake Watters
986399f937 Fix test breakage related to use of dispatch_async within RKEntityByAttributeCache 2013-02-07 12:44:51 -05:00
Blake Watters
4f442b142f Fix issue where NSManagedObject instances that are invalid due to missing require relationship when finished mapping, but are made valid by connected relationships are deleted prematurely. fixes #1179 2013-01-29 11:44:15 -05:00
Blake Watters
5d7669bcc1 Fix creation of duplicated managed objects when you map a nil source key path onto an indentification attribute. fixes #1194 2013-01-29 10:03:19 -05:00
Blake Watters
d761de0ea7 Fix crash when attempting to map nil sourceKeyPath as identification attribute 2013-01-26 00:21:44 -05:00
Blake Watters
2351fc2472 Add unit test and fix for crash during eviction of cache keys during query for compound identification attributes. closes #1171 2013-01-21 13:18:42 -05:00
Blake Watters
a65a50e8f7 Fix bug with mapping nested attribute values with identification attributes when the identification attribute is not the nesting key. fixes #1129 2013-01-17 11:34:40 -05:00
Blake Watters
01c34fe289 Fix crash when mapping to NSManagedObject class with Transformable attribute without a backing property. fixes #1162 2013-01-17 10:38:53 -05:00
Blake Watters
868d83be2c Don't create unnecessary objects when mapping temporary managed objects POST'd without identification attributes. closes #1149 2013-01-15 22:45:43 -05:00
Blake Watters
260d01a1b0 Switch to use of Expecta raiseWIthReason matcher after applying fix for crash due to failure to copy blocks 2013-01-15 09:14:11 -05:00
Blake Watters
259e6c2fe5 Fix all test breakage in OS X Framework tests 2013-01-15 09:07:44 -05:00
Blake Watters
c98dd41c2f Reimplement predicate caching within the RKFetchRequestManagedObjectCache to avoid nasty crash due to malformed predicates. fixes #1141 2013-01-14 23:01:55 -05:00
Blake Watters
4c0e62a62a Add new RKManagedObjectStore method for assisting in performing migrations when you have made dynamic modifications to the managed object model (such as when you leverage the Search indexing support) 2013-01-08 18:26:05 -05:00
Blake Watters
7f8320c514 Add helpful error message if you call requestMapping on an RKObjectMapping subclass 2013-01-06 01:11:09 -05:00
Blake Watters
879ffd73e6 Add support for deleting Core Data managed objects that fail validation out of the mapping context. This enables you to silently drop mapping for managed objects that fail validation. fixes #691 closes #694 2013-01-01 23:56:58 -05:00
Blake Watters
28887d3384 Add support for deletion of mapped objects by predicate. closes #1109 2013-01-01 15:27:01 -05:00
Blake Watters
5c21e52829 Update Dynamic Mapping API's to match the rest of the 0.20.x style. Introduce support for predicate based dynamic matching.
* Rename RKDynamicMappingMatcher to RKObjectMappingMatcher since it is not strictly coupled to dynamic mapping and works with object mappings.
* Rework matchers into using a class cluster style to enable flexible subclassing to introduce additional matchers.
2012-12-27 22:16:40 -05:00
Blake Watters
26fc8dd61f Claw back performance lost due to addition of External Binary Storage to the Unit Testing model 2012-12-26 20:23:44 -05:00
Blake Watters
b858f2753f Grow up support for mapping to primitives by avoiding crashes due to null conversions. fixes #1043, fixes #741, fixes #703 2012-12-26 14:40:59 -05:00
Blake Watters
7d63ca36ac Improve relationship connection behaviors when all connection attributes resolve to nil. Add logic for skipping the connection entirely. refs #1099 2012-12-26 10:53:16 -05:00
Blake Watters
4b2b7dbe4c Add support for skipping relationship connections if all connection attributes evaluate to nil. Add support for establishing connections when some connection attributes evaluate to nil. fixes #1099 closes #1102 2012-12-25 23:53:01 -05:00
Blake Watters
aecc1db352 Add support, tests, and documentation for the deletion of External Storage directory when an instance of RKManagedObjectStore is reset. closes #677 2012-12-25 14:50:13 -05:00
Blake Watters
285b75ea2a Eliminate connection matchers in favor of source and destination predicates. closes #1105 2012-12-24 18:29:00 -05:00
Charlie Savage
a67bb48ece Reimplement connection matchers and add test case. 2012-12-23 21:58:59 -07:00
Blake Watters
ef038aed73 Add a unit test for concurrent mapping of managed object request operations targetting the same unique Core Data objects. closes #1079 2012-12-19 23:02:52 -05:00
Blake Watters
408072f733 Add support and tests for inferring entity identifiers from superentity user info. closes #954 2012-12-19 22:21:09 -05:00
Blake Watters
0a28ecb507 Add optional support for connecting to subentities. fixes #1059 2012-12-19 18:32:32 -05:00
Blake Watters
862e84a515 Hook the RKManagedObjectMappingOperationDataSource into the Managed Object Context save lifecycle to avoid the creation of duplicate objects during sequential mapping operations 2012-12-18 22:00:44 -05:00
Blake Watters
d79dec118a Greatly improve error output when all response descriptors fail to match. closes #1060 2012-12-07 17:39:02 -05:00
Blake Watters
f4457f2948 Add MOC reset to the beginning of resetPersistentStores:. closes #1018 2012-12-07 15:06:13 -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
a5dc037ef9 Add support for inferring attributes that match the snake-case _id pattern. closes #1047 2012-12-02 14:34:03 -05:00
Blake Watters
cbb3f70571 Eliminate the RKEntityIdentifier class and migrate the functionality into properties on RKEntityMapping 2012-12-02 13:08:52 -05:00
Blake Watters
b502f5431b Drop the entity description category entirely 2012-11-28 22:52:39 -05:00
Blake Watters
1196a42e54 Docs for RKConnectionDescription 2012-11-27 22:18:29 -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
f3a853e871 Drop RK prefix from entity names 2012-11-23 22:19:12 -05:00
Blake Watters
3db5307f6a Add missing test coverage for key path based connection scenarios. Fixes crashes resulting from double collection wrapping during connection. 2012-11-08 19:31:38 -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
6d487dbc9e Add support for excluding the SQLite store file from iCloud Backups to conform with the iOS Data Storage Guidelines. closes #929 2012-10-29 01:22:50 -04:00
Blake Watters
c44f4010fa Add support for specifying a configuration and customizing the options when adding a SQLite persistent store to the managed object store. closes #984 2012-10-29 00:32:56 -04:00
Blake Watters
de016e22f3 Refetch the mapping results from the original managed object context before returning to the caller. fixes #1011
Eliminate the thread safe invocation class.
2012-10-28 20:22:53 -04:00
Blake Watters
f93a044561 Add error condition when attempting to map an RKEntityMapping containing connection mappings with a nil managed object cache.
* Add support for the data source to fail mapping operation with an error.
* Clean up error handling within RKMappingOperation
2012-10-21 15:47:16 -04:00
Blake Watters
1f3f2646b5 Port a few test cases to Expecta syntax 2012-10-18 12:14:34 -04:00