Blake Watters
6493282772
Rework implementation of managed object deletion and refetching to use the refreshed visitor implementation. refs #1111 , #1113
2012-12-29 17:28:31 -05:00
Blake Watters
84c6822d25
Implement Tarjan's algorithm to efficiently traverse the RKResponseDescriptors within the RKManagedObjectRequestOperation and compute the key paths to all managed objects. refs #1113 , refs #1112
2012-12-28 00:29:27 -05:00
Blake Watters
7745f17d90
Add temporary workaround for crashes related to ambiguous key paths in the deletion support. refs #1111
2012-12-27 15:11:51 -05:00
Blake Watters
62aa987d17
Fix another instance of subscripted access
2012-12-26 19:17:05 -05:00
Blake Watters
9f228e0280
Expand test coverage on managed object deletion cases and fix bugs. closes #358
2012-12-16 20:45:01 -05:00
Blake Watters
b6a94de68a
Remove extraneous assert on deletion case
2012-12-16 13:02:18 -05:00
Blake Watters
a424908242
Expand test coverage and fix all known issues with managed object refetching and deletion. closes #1066
2012-12-13 22:42:34 -05:00
Blake Watters
406504ff2e
Skip orphaned object deletion if the 304 optimization is in effect. Update log messages during orphaned object cleanup
2012-12-13 19:00:01 -05:00
Blake Watters
a9a1c3dc48
Don't crash when encountering nil in the mapping results dictionary
2012-12-13 18:12:50 -05:00
Blake Watters
280fd5d571
Fix crashes during refetch if objects were deleted. Expand managed object deletion support to handle nested objects. refs #1066
2012-12-13 17:35:39 -05:00
Blake Watters
a471bdd8a3
Add support for refetching NSManagedObject instances mapped at any point in the object graph. refs #1066
2012-12-12 20:47:14 -05:00
Blake Watters
5efcfe2c41
Eliminate remaining use of keyed subscript access
2012-12-10 17:12:53 -05:00
Blake Watters
89d0294dcd
Expose access to the RKMapperOperationDelegate to RKObjectRequestOperation subclasses. closes #1009
2012-11-29 23:35:45 -05:00
Blake Watters
54dce20ac6
Rework paginator support for 0.20. closes #1024 , #900 , #759
...
* Renamed RKObjectPaginator to RKPaginator for simplicity
* Removed delegate on paginator in favor of simple success/failure blocks
* Added `willMapDeserializedResponseBlock` for manipulating the response body before mapping begins
* Added support for cancelling an in-progress pagination request
2012-11-18 22:44:33 -05:00
Blake Watters
e088bdc186
When managedObjectContext is set to nil on RKManagedObjectRequestOperation, avoid creation of an orphaned privateContext
2012-11-09 11:05:26 -05:00
Jeff Arena
129cc6f052
Fix issue with cross-context object comparison in case of local deletes.
2012-11-08 14:24:24 -05:00
Jeff Arena
9d40138129
Change the default value for deletesOrphanedObjects to YES in RKManagedObjectRequestOperation
2012-11-08 13:58:10 -05:00
Blake Watters
94318d1cb2
Add support for returning fetched objects when a 304 'Not Modified' response is loaded. closes #1006
2012-10-28 21:44:42 -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
08110ca300
Implement support for cancellation and prioritization of response mapping operations using an operation queue global to all object request operations.
...
* Passes through cancellation from object request operation to HTTP request operation and response mapping operation. closes #993
* Performs all object mapping within an NSOperationQueue to enable constraining of mapping activities.
* Add default mapping queue with concurrency limit of 1 operation.
* Migrate deserialization of the response body into a serial dispatch queue to ensure that only one parse occurs at a time.
2012-10-20 00:13:48 -04:00
Blake Watters
68cebc96af
Added convenience function for getting a fetch request from an array of fetch request blocks
2012-10-17 22:34:09 -04:00
Blake Watters
f2bc809502
Update to reflect change to designated initializer in superclass preventing the appropriate default value for savesToPersistentStore: to be set. refs #1000
2012-10-17 17:08:31 -04:00
Blake Watters
bc50e95036
Fix invalid references to requestOperation. refs #997
2012-10-16 11:59:39 -04:00
Blake Watters
f4bfdb389b
Add support for the registration of HTTP request operation subclasses on the manager to support easy customization of request operation handling. refs #997
2012-10-16 11:25:00 -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
1811d5250d
Ensure the fetch request blocks are given a relative URL if possible to make path matching easier
2012-10-14 16:03:12 -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
Blake Watters
2b7eca1fb4
Default savesToPersistentStore to YES
2012-10-01 23:11:03 -04:00
Blake Watters
d6cd6d7bba
Add configuration for controlling persistent to the parent context or the persistent store
2012-10-01 22:41:08 -04:00
Jeff Arena
a88f58db55
Remove avoidsNetworkAccess property in favor of leveraging NSURLCache capabilities under the hood.
2012-09-28 13:41:28 -04:00
Arne Harren
bc7c65f03b
Switch to an embedded variant of LibComponentLogging with prefix RK
2012-09-27 21:47:36 +02:00
Blake Watters
458354484a
Fix null dereference static analyzer warnings
2012-09-27 11:47:30 -04:00
Blake Watters
6815ba6444
API refresh for mapping layer. Converted RKObjectMapper to RKMapperOperation. Expanded documentation.
2012-09-21 17:55:32 -04:00
Blake Watters
c88855614e
Export the RKErrorFromMappingResult function; eliminate dependence on RestKit.h header from RKResponseMapperOperation
2012-09-20 11:51:28 -04:00
Blake Watters
3876263039
Document and clean up the RKMappingResult interface
2012-09-20 08:12:29 -04:00
Blake Watters
c090cbb430
Docs for RKManagedObjectRequestOperation
2012-09-18 15:54:36 -04:00
Blake Watters
b0f7c24745
Docs updates for object request operation. Extracted subclass only declarations into subclass header.
2012-09-16 13:42:44 -04:00
Blake Watters
b40e39813c
License boilerplate
2012-09-12 21:18:45 -04:00
Blake Watters
1aec05c59e
Use a reverse object enumerator when enumerating the fetch request blocks to allow blocks registered later to override earlier registrations
2012-09-10 19:11:05 -04:00
Blake Watters
e5aed512a7
Add new optimization to permit RKObjectRequestOperation to avoid the network and use an existing cached response. Update initialization paths for RKObjectRequestOperation to work with requests instead of request operations.
2012-09-09 18:25:43 -04:00
Blake Watters
22a68baf0c
Rework podspec to organize header file imports to match existing RestKit releases
2012-09-05 11:04:42 -04:00
Blake Watters
627f6f5b7b
Resource Path -> Path
2012-09-04 21:24:33 -04:00
Blake Watters
3eda5832cb
Migrating files between modules to better reflect logical grouping with AFNetworking in the mix
2012-09-03 16:51:13 -04:00