Blake Watters
3ac8d162f8
Add documentation regarding revised implementation of 304 (Not Modified) optimization in RKManagedObjectRequestOperation
2013-03-09 10:15:06 -05:00
Blake Watters
a9ef1fe39d
Introduce a new heuristic based approach for determining if a response can skip the mapping process. Also introduces a new Network + CoreData logging component and reduces the chattiness of the debug logging level for Core Data Network events.
2013-03-07 19:25:14 -05:00
Blake Watters
318f9659f6
Move management of RKResponseHasBeenMapped to RKObjectRequestOperation instead of RKManagedObjectRequestOperation. Add unit tests.
2013-03-07 14:39:31 -05:00
Blake Watters
d47a0c9ffd
Add support for retrying RKObjectRequestOperation and RKManagedObjectRequestOperation by conforming to NSCopying. closes #1224
2013-03-07 13:55:11 -05:00
Jeff Arena
948209b254
Remove wasNotModified method in favor of setting a flag on cached response entries to determine if mapping can be skipped.
2013-03-07 13:08:30 -05:00
Blake Watters
0e19f5deb1
Add NSURLConnectionDataDelegate to protocol declaration for AFURLConnectionOperation to avoid compiler error in some cases. closes #1249
2013-03-07 10:24:49 -05:00
Blake Watters
490b233daf
Add countermeasure to avoid crash in cxx_destruct during deallocation of mapping result
2013-02-25 11:28:50 -05:00
Blake Watters
f36dcded83
Change system import into user import for RestKit/Network.h. closes #1244
2013-02-21 23:10:07 -05:00
Blake Watters
a19f1a5ff1
Allow assertion to pass if localObject is returned nil
2013-02-07 17:37:14 -05:00
Blake Watters
e7352f7919
Clarify logging for HTTP operation when cancelled
2013-02-07 17:36:50 -05:00
Blake Watters
4759a90cdc
Add more cancellation backstopping to avoid NSObjectInaccessibleException crashes when executing RKManagedObjectRequestOperation instances that have been cancelled and the Core Data environment has shifted underneath them (i.e. records have been deleted from the store)
2013-02-05 14:07:46 -05:00
Jeff Arena
91ede3b9b6
Add a few isCancelled checks to ensure we are not performing unnecessary work after being cancelled.
2013-02-05 12:06:33 -05:00
Blake Watters
8958bc8415
Improve cancellation behaviors for in-progress RKManagedObjectRequestOperation instances
2013-02-01 19:00:04 -05:00
Blake Watters
f9c3e3a4d4
Add a lock around the overrideen error accessor on RKHTTPRequestOperation. refs #1193
2013-02-01 08:59:42 -05:00
Blake Watters
3e351509b3
Fix crash when accessing a named route with no object for interpolation
2013-01-25 17:27:38 -05:00
Blake Watters
0364d6c67b
Integrate support for metadata mapping routing data. refs #1174
2013-01-24 23:16:48 -05:00
Blake Watters
4c39918fdb
Implement support for flexible metdata mapping. closes #582 , #688
...
* Metadata mapping is implemented via an `NSProxy` object that stands in for the `sourceObject` of each `RKMappingOperation`
* Key paths that are prefixed with `@metadata.` are mapped against the `metadata` dictionary of the operation, else they hit the `sourceObject`.
* Metadata is implemented by merging a dictionary of data in from `RKObjectRequestOperation`, through to `RKResponseMapperOperation`, into `RKMapperOperation`, and all the way down into the `RKMappingOperation`, where it is available to each object. By convention, metdata is namespaced into subdictionaries.
2013-01-24 16:31:19 -05:00
Blake Watters
7cca6891ce
Unwind earlier fix for obtaining permanent objectID for targetObject in favor of the overridden setter on RKManagedObjectRequestOperation
2013-01-23 17:28:08 -05:00
Blake Watters
2b84f667c1
Add support for obtaining a permanent managed object ID for the targetObject of an RKManagedObjectRequestOperation
2013-01-23 16:12:14 -05:00
Blake Watters
cd877860fd
Tweak docs, add test cases for mapping a response with a descriptor that does not specify any attributes/relationships
2013-01-23 15:26:52 -05:00
Blake Watters
23ca0c7ca4
Fix potential crash due to serious Core Data error from failing to obtain a permanent objectID for an object that was just saved to the persistent store, but whose objectID is stale. fixes #1183
2013-01-23 13:20:55 -05:00
Blake Watters
1885ee9e89
Add warning about deadlocks if you use waitUntilFinished with a RKManagedObjectRequestOperation on a main queue thread. refs #1173
2013-01-21 16:17:10 -05:00
Blake Watters
2cf73d2436
Fix failed assertion when constructing an unprocessable response error for 5xx errors. closes #1169
2013-01-18 18:57:34 -05:00
Blake Watters
a75edcea2e
Nil out targetObjectID if given a targetObject that is not an NSManagedObject. closes #1161
2013-01-18 17:28:49 -05:00
Blake Watters
3d971dc666
Encapsulate managed object refetching into an NSProxy object to enable you to defer the refetching until the mapping result is accessed (or skip it entirely if the result is not accessed)
2013-01-18 16:42:11 -05:00
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