Commit Graph

1605 Commits

Author SHA1 Message Date
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
5329ef450e Fix function declaration for RKCacheableStatusCodes 2013-03-07 21:17:51 -05:00
Yannick Reifschneider
7f5b0fec97 Unescape URL metadata mapping parameters if route required parameter escaping 2013-03-07 21:17:51 -05:00
Blake Watters
e805bbc41e Improve documentation regarding registration of transformation blocks. closes #1270 2013-03-07 21:00:45 -05:00
Charlie Savage
535255a686 Fix RKReplaceAssignmentPolicy. The problem was that new values for the relationship were gathered before the old values were deleted. Therefore if one of the new values was the same as the old value, the valueForRelationship collection would contain a deleted managed - not good.
Also fixed:
* The if statement near line 674 was incorrectly negated
 * Setting the relationship value around line 676 was redundant since it was done in the mapCoreDataToManyRelationshipValue:withMapping method.
2013-03-07 20:55:42 -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
Christian Himmelsbach
4c1d010e91 fix: To one relationships, that have a nested destination keypath are not correctly mapped to JSON 2013-03-07 14:55:07 -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
47eed616ef Fix crash due to execution of RKDeleteInvalidNewManagedObject from outside of the dispatch queue of the NSManagedObjectContext that owns the object. fixes #1251 2013-02-21 23:02:23 -05:00
Blake Watters
45c70292e6 Adjust RKSearchIndexer logging to ensure output is emitted when the indexer hits 100% 2013-02-19 12:40:06 -05:00
Victor Widell
2fa9b52dba The "teamMembers" variable was not used.
The variable "relationship" is not defined, and looks like it should be "teamMembers" instead.

This is a bit inconsequent with the example above, that is named "userRelationship". Either both or neither of them should include the word "relationship".
2013-02-15 18:27:28 +01:00
Victor Widell
429a5d36f1 The relationship variable was missing.
In the example, a variable named "relationship" is used, but not created. On the line above, another variable "userRelationship" is created but not used.

I'm assuming this is a typo, and they are supposed to be the same?
2013-02-15 18:18:10 +01:00
Victor Widell
888efff2e7 addAttributeMappings: doesn't exist.
I'm guessing it's a typo and the intended method is addAttributeMappingsFromArray:.
2013-02-15 14:12:15 +01:00
Blake Watters
88246423bb Fix invalid selector usage in managed object data source. fixes #1236 2013-02-14 22:55:12 -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
00412cfebb Add rescue for NSObjectInaccessibleException within RKRelationshipConnectionOperation 2013-02-04 12:39:59 -05:00
Blake Watters
558c9bee83 Adjust implementation of async dispatching when managing cache entries so that there is only a single dispatch instead of N 2013-02-04 12:38:42 -05:00
Blake Watters
79150ad51e Guard against a potential "Could not fulfill a fault" crash during relationship connection if the object being connected has been deleted before the operation executes 2013-02-04 11:08:55 -05:00
Blake Watters
7c9264025f Add type for managedObjectStore in the factory 2013-02-04 10:44:04 -05:00
Blake Watters
ae8e3b17ca Relax assertion in RKSearchIndexer so that it does not fail in the event a nil managed object is returned by existingObjectWithID:error: 2013-02-02 09:25:02 -05:00
Blake Watters
45e3366b7c Reorder RKTestFactory dispatching of the tear down block so that you have reference to the current environment to perform the tearDown 2013-02-01 19:00:56 -05:00
Blake Watters
8958bc8415 Improve cancellation behaviors for in-progress RKManagedObjectRequestOperation instances 2013-02-01 19:00:04 -05:00
Blake Watters
0bbb603b9e Switch to using an NSRecursiveLock instead of @synchronized within RKEntityByAttributeCache. Avoid a potential deadlock when handling a NSManagedObjectContextObjectsDidChangeNotification notification 2013-02-01 18:59:26 -05:00
Blake Watters
197a54bf60 Rework metadata mapping to fix breakage under OS X 2013-02-01 11:26:08 -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
32c52f2d06 Enable metadata mapping for identification attributes. fixes #1202 2013-01-31 11:47:41 -05:00
Blake Watters
ec180fae5b Add a warning if you violate the save expectations of NSManagedObjectContext. fixes #1185 2013-01-29 11:51:41 -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
25e15508f6 Add missing interpolation value for assertion within search indexing 2013-01-29 10:55:39 -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
2e5668012c Fix implicit conversion warning in RKDotNetDateFormatter. closes #1198 2013-01-29 09:31:22 -05:00
Jeff Arena
2f78250891 Change log level for a specific mapping operation failure case 2013-01-28 17:49:34 -05:00
Blake Watters
4840b4b63e Fix crash when attempting to union a relationship with a nil value. fixes #1195 2013-01-28 17:22:33 -05:00
Blake Watters
039c7c443d Fix issue where repeatedly mapping a to-many relationship without identification attributes would cause the first object in the relationship to be inappropriately reused 2013-01-26 12:10:55 -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
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
James Moschou
7ba7070d89 Fix RKObjectIsCollectionContainingOnlyManagedObjects function 2013-01-24 16:57:46 +10:30
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