Blake Watters
fc07e1fef7
Remove unnecessary exception handling for NSUndefinedKeyException
2013-01-18 14:48:22 -05:00
Blake Watters
06f2fe9c7b
Radically simplify the implementation of managed object deletion and refetching within RKManagedObjectRequestOperation. closes #1163
...
1. Eliminates use of visitor in favor of aggregating mapping info during mapping. This avoids having to traverse the mapping graph.
1. Eliminate special case handling of cyclic key paths.
1. Eliminate issues with infinite recursion while traversing the mapping graph.
2013-01-18 12:20:51 -05:00
Blake Watters
ff7f538749
Add temporary workaround for infinite recursion
2013-01-17 23:31:28 -05:00
Blake Watters
f2abd1e107
Add test coverage verifying fix for crash during cyclic graph traversal in RKManagedObjectRequestOperation. closes #1142
2013-01-17 18:47:02 -05:00
Blake Watters
7bf14d4ea9
Rework implementation of cyclic mapping graph traversal. refs #1142 #1158 #1163
2013-01-17 15:08:30 -05:00
Blake Watters
a2ca2ec937
Fix crash when serializing NSDate properties mapped at nested keypaths. fixes #1134
2013-01-17 11:01:24 -05:00
Blake Watters
bcbbd65fbe
Fix issue in which managed objects that are the children of non-managed objects were refetched and assigned as a collection rather than as a singular value. fixes #1118
2013-01-16 17:49:32 -05:00
Blake Watters
a8f3887b26
Fix bug with status code handling when statusCodes is nil for any response descriptor.
2013-01-16 13:57:24 -05:00
Blake Watters
c26739ce6b
Fix issues with mapping errors from 5xx payloads. Ensure acceptableStatusCodes tracks the status codes configured in the response descriptors. fixes #1157
2013-01-16 12:38:44 -05:00
Blake Watters
bf521310b2
Replace visitor with simply obtaining permanent objectID's for temporary objects inserted into the context
...
The visitation implementation was problematic with large object graphs. This will obtain permanent objectID's for all temporary objects, but avoids having to visit each node in the graph.
2013-01-15 16:32:45 -05:00
Blake Watters
840b37a4f9
Fix bug in mapper delegate configuration and add missing test coverage for response mapper operation and both object request operation classes. closes #1156
2013-01-14 14:23:32 -05:00
Blake Watters
3e425707fb
Fixed problems with initial implementation of temporary managed objects visitor. The implementation was under tested and only worked with a single relationship. refs #1001
2013-01-11 15:56:36 -05:00
Blake Watters
f1a35bb884
Style tweak
2013-01-10 19:54:18 -05:00
Blake Watters
281247f8c9
Merge branch 'master' of github.com:AntonPalich/RestKit into development
2013-01-09 22:45:23 -05:00
Blake Watters
f4b805ff52
Fix issues with implementation of error override in RKHTTPRequestOperation. fixes #1140
2013-01-09 22:42:39 -05:00
Blake Watters
b61039c838
Use a visitor to identify all NSManagedObject instances being sent via the object manager which have a temporary managed object ID to avoid crashes during mapping. refs #1001
2013-01-09 21:11:38 -05:00
Антон Щукин
3164c6d557
Fixed issue when body could be null on device
...
stringWithUTF8String accept NULL terminated C array of UTF8-encoded
bytes.
But NSData stores encoded data not like NULL terminated string.
2013-01-09 11:26:10 +04:00
Blake Watters
4612121ae5
Unify RKHTTPRequestOperation and RKObjectRequestOperation subclass customization via registration API's. closes #1131
2013-01-08 21:33:45 -05:00
Blake Watters
70180022be
Add support for customizing the RKObjectRequestOperation and RKManagedObjectRequestOperation instances built through the object manager using a registration API very similar to that of AFHTTPClient. closes #1131
2013-01-08 10:49:49 -05:00
Blake Watters
905048f737
Fix issue where unsaved managed object POST'd to the server with unsaved changes are not persisted if no mapping occurs. fixes #1130
2013-01-07 19:56:14 -05:00
Blake Watters
a21213e9c1
Add a more informative assertion when an RKManagedObjectResponseMapperOperation instance is not configured properly
2013-01-07 14:17:53 -05:00
Blake Watters
e9d5a87f7b
Drop unnecessary performBlockAndWait: invocation that may be correlated with occasional crashes seen in GateGuru
2013-01-07 13:50:03 -05:00
Blake Watters
0d74946808
Add another mention about the objectClass in RKRequestDescriptor
2013-01-06 00:46:43 -05:00
Blake Watters
bf63a77bc1
Add support for parameterizing an array of objects. closes #398
2013-01-03 11:11:25 -05:00
Blake Watters
c06347d5c5
Add support for customizing the HTTP request operation class used by RKPaginator. closes #1067
2013-01-02 00:27:40 -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
a30263b196
Fix issues with using the Paginator as documented in the headers. fixes #1117
2013-01-01 22:38:18 -05:00
Blake Watters
c08909761e
Adjust completion block implementation for RKPaginator to enable completion block to be invoked when used without a strong reference. fixes #1119 fixes #1093
2013-01-01 22:21:47 -05:00
Blake Watters
9dc08ca27b
Drop instancetype from init methods since the compiler will infer it
2013-01-01 15:27:01 -05:00
Blake Watters
d024a518a4
Fix broken dynamic mapping test
2012-12-31 15:26:44 -05:00
Blake Watters
b93fe1f7c9
Restore cycle detection and cleanup visitor codebase further
2012-12-31 14:50:32 -05:00
Blake Watters
1d27679ee3
Clean up the nasty mess in the visitor code and fix flaws in implementation of algorithm. Still some test breakage and additional coverage to put down
2012-12-31 14:39:37 -05:00
Blake Watters
9a128b678c
Fix issues with refetching results using visitation
2012-12-30 22:54:09 -05:00
Blake Watters
312b382f25
Add test and fix for invalid key path exceptions with dynamic mappings. refs #1111
2012-12-30 00:01:50 -05:00
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
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
Jeff Arena
bbfec220ed
Fix logging issues with error method
2012-12-27 16:47:24 -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
bc719087ac
Intelligently set the targetObject by exploring the mapping graph in appropriateObjectRequestOperationWithObject: to better support cases in which you POST/PUT one object, but map back another. fixes #1081
2012-12-23 00:26:33 -05:00
Blake Watters
0a033596da
Relax the use of use an the informal procotol for the errorMessage property in favor of the description method. closes #1104 , closes #1087 , closes #1095
...
* Change contract to the use the `description` method instead of `errorMessage`. This makes it work with any class out of the box
* Add import for RKErrorMessage to the Support.h header so it is immediately available
* Fix incorrect keyPath in the README.md
* Add additional notes about how the errors are constructed to the README
2012-12-22 19:03:30 -05:00
Blake Watters
b78deb3eed
Use instancetype in constructors for increased subclassing friendliness
2012-12-22 14:54:49 -05:00
Blake Watters
929cd44bd7
Undo previous paginator change. Instead, pass a reference to the operation queue from the RKObjectManager to any Paginator objects constructed through the manager. refs #1076
2012-12-21 16:00:43 -05:00
Blake Watters
913b8a1b9e
Initialize RKPaginator with an operation queue. This avoids deadlocks when working with RKManagedObjectRequestOperation instances bound to the main thread. This is a workaround to deal with object request operations being non-concurrent and executing in the calling thread context. refs #1076
2012-12-21 14:11:05 -05:00
Blake Watters
939f45bf64
Add note about escaping path patterns to the main RKObjectManager.h header docs. refs #1091
2012-12-19 15:51:38 -05:00
Blake Watters
477d04b9a9
Add support for logging the elapsed time. Guard against attempts to log non-HTTP request operations.
2012-12-19 13:35:28 -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
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