Commit Graph

319 Commits

Author SHA1 Message Date
Blake Watters
9fc0703d21 Fix crash when attempting to connect a one-to-one relationship that returns an empty result set 2012-11-29 00:22:42 -05:00
Blake Watters
4eb765aad8 Switch to %ld and cast counts to long to suppress warnings on OS X 2012-11-29 00:21:56 -05:00
Blake Watters
1318edd082 Add docs about using the user info to configure an entity identifier 2012-11-28 22:56:56 -05:00
Blake Watters
b502f5431b Drop the entity description category entirely 2012-11-28 22:52:39 -05:00
Blake Watters
b045520e98 Add Apache license boilerplate to unadorned Core Data files 2012-11-28 22:46:36 -05:00
Blake Watters
a31c537492 Finish documentation for RKEntityMapping to cover Entity Identification and Connections 2012-11-28 22:45:27 -05:00
Blake Watters
8bcfd47270 Header docs for entity identifier 2012-11-27 23:24:03 -05:00
Blake Watters
03ee8d005f Docs cleanup 2012-11-27 22:45:26 -05:00
Blake Watters
adf4a5d49e Drop RKConnectionMapping, cleanup. Add predicate support 2012-11-27 22:34:55 -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
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
91c61640fa Remove invalid references to RKParser 2012-11-13 12:32:49 -05:00
Blake Watters
6837d0d1b9 Add support for hooking into the RKSearchIndexer via a delegate
* Supports replacing the RKSearchWord fetch strategy to enable caching for performance
* Supports declining creation of search words
* Supports declining of indexing for specific objects
* Supports notification when objects are indexed and search words are added to the index
2012-11-12 16:18:36 -05:00
Blake Watters
e109036683 Add support and test coverage for serializing Boolean properties to JSON as true/false instead of numbers. closes #920, #827 2012-11-08 23:41:19 -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
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
e7505df56c Fix retain cycles detected by Xcode 4.6 static analyzer 2012-11-05 18:38:23 -05:00
Blake Watters
d71a6a3482 Add LICENSE boilerplate 2012-11-05 18:38:23 -05:00
Blake Watters
45c6e1611e Add delegate for didFailToConnectRelationship: 2012-11-05 18:38:23 -05:00
Kevin Cassidy
f049f5f998 Take KVC scalar/structure support and NSAttributeType into account when inspecting properties. 2012-11-05 11:55:12 -05:00
Blake Watters
aec4f66c5c Expand documentation regarding potential for deadlock scenarios. refs #1018 2012-11-01 10:02:54 -04:00
Jeff Arena
2cf7d4651d Add assertion requiring an instance of NSManagedObject in RKRelationshipConnectionOperation. 2012-10-29 12:45:26 -04:00
Blake Watters
7fba450311 Fix crash under iOS 5.0.x due to attempt to use unavailable NSURLIsExcludedFromBackupKey symbol. fixes #1015 2012-10-29 10:47:13 -04:00
Blake Watters
7af8d0ac8b Change isEqual: checks for entity to isKindOfEntity: fixes #816 2012-10-29 01:28:17 -04: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
117fcbb18c Fix horrible bugs in previous commit 2012-10-21 15:58:03 -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
Christopher Swasey
3ca889fd28 Fix a bug in previous commit 2012-10-20 17:02:35 -04:00
Blake Watters
63c9a9e4a0 Fix bug in which relationship connection operations are not enqueued for RKMappingOperation instances whose mapping is an RKDynamicMapping 2012-10-20 16:53:14 -04:00
Jeff Arena
b3adc29535 Add support for connection mappings to the RKManagedObjectImporter. 2012-10-20 14:38:27 -04:00
Blake Watters
845de91e80 Update RKMappingTest to support easier testing of RKEntityMapping objects by reducing the amount of required configuration to get a test configured. 2012-10-15 19:27:35 -04:00
Blake Watters
342c57213b Updates to relationship connection execution system for better encapsulation and reuse.
* Reworked execution of relationship connection operations to use dependencies instead of queue suspension.
* Migrates responsibility for connecting relationships from `RKManagedObjectRequestOperation` into `RKManagedObjectResponseMapperOperation`. This ensures that you get a mapped and connected object graph back from the response mapper if you are using it outside of a request operation.
* Add `parentOperation` to managed object mapping data source to establish dependencies.
2012-10-15 16:06:22 -04:00
Blake Watters
1ad2cabf2a Add decent description method for relationship connection operations 2012-10-15 15:57:38 -04:00
Blake Watters
0497c396d1 Fix TODO re: error propagation 2012-10-05 21:47:38 -04:00
Blake Watters
174372dcf5 Fix a number of warnings about potential dereference of null pointer 2012-10-02 15:52:45 -04:00
Jeff Arena
5b372f4cea Fix issues with passing NSErrors into blocks inappropriately. 2012-10-02 12:54:32 -04:00
Dmitry Shevchenko
12c04fc59c Clarified that bug was fixed in ios6 2012-10-01 21:06:23 -05:00
Blake Watters
4e751f4530 Merge pull request #963 from dmishe/make_entity_property_readwrite
Make entity property readwrite
2012-10-01 14:49:12 -07:00
Dmitry Shevchenko
628f7323aa Make entity property readwrite, so it can be changed after init. 2012-10-01 16:47:04 -05:00
Blake Watters
235cfc2826 Remove dead whitespace 2012-10-01 17:35:35 -04:00
Blake Watters
67e6982cec Fix invalid references to RKManagedObjectMapping. closes #957 2012-09-30 23:17:27 -04:00
Blake Watters
c10321751c Rename primaryManagedObjectContext to persistentStoreManagedObjectContext since nobody can keep its role straight 2012-09-30 22:47:26 -04:00
Blake Watters
d95fe5cd44 Break out reused functions for object mapping introspection into RKObjectUtilities 2012-09-30 12:49:59 -04:00
Blake Watters
4c401de6bf Convert RKConnectionMapping into a subclass of RKPropertyMapping. Add delegate callback for tracking the connection of relationships. 2012-09-29 17:54:51 -04:00
Blake Watters
0539aeb45e Documentation formatting and touch ups 2012-09-29 17:54:51 -04:00
Blake Watters
a04e861669 Add missing license boilerplate 2012-09-28 14:59:57 -04:00