Commit Graph

1339 Commits

Author SHA1 Message Date
Blake Watters
f96fee87b6 Add a decent description method to the object request operations 2012-10-22 19:29:58 -04:00
Blake Watters
79c854b1bd Added assertion and cancellation hardening within the Search Indexer 2012-10-22 16:07:32 -04:00
Blake Watters
a267f5ac71 Drop extraneous space between class and object address in property description 2012-10-21 16:16:04 -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
Blake Watters
ef46ff2d1d Add assertion that gives the developer a hint of how to fix an attempt to add an array of attribute mappings that already exist in another mapping 2012-10-20 17:43:49 -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
7bed7b6f03 Update stubbing routines for fetch requests to support copying of fetch request blocks that require parameters to construct a matching URL 2012-10-20 13:21:23 -04:00
Blake Watters
c7ce86e9ac Improve docs on success/failure blocks 2012-10-20 10:51:49 -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
0738f59231 Added assertion to trap very nasty Core Data mapping error in which existingObjectWithID:error: returns an object in another context, indicating that the object graph has been poisoned, most likely by obtaining a permanent managed object ID from the wrong context. 2012-10-19 17:53:09 -04:00
Blake Watters
639897dd67 Refactored relationship mapping implementation to make it easier to follow and debug 2012-10-19 17:53:09 -04:00
Blake Watters
7d0c8651ff Add global __RESTKIT__ define for aiding conditional compilation 2012-10-19 17:53:08 -04:00
Blake Watters
316d2c1316 Improve assertion error message 2012-10-18 17:19:48 -04:00
Blake Watters
e748e5bfce Don't throw an exception if doing a simple attribute mapping with a nil data source. closes #1005 2012-10-18 15:17:57 -04:00
Blake Watters
f69c2976e2 Fix bug with dynamic parameterization when the concrete mapping includes a date.
Instead of relying on reference to the RKMapping, which could be dynamic, traverse from the attribute mapping back to its parent to obtain the appropraite date formatter.
2012-10-18 14:38:36 -04:00
Blake Watters
5684f7ab89 Add objectMapping identity attribute on RKPropertyMapping to allow one to traverse the mapping graph from an attribute/relationship back to the parent mapping 2012-10-18 14:37:52 -04:00
Blake Watters
df55f0e524 Enable support for testing dynamic mappings with RKMappingTest 2012-10-18 14:09:00 -04:00
Blake Watters
e8b4cdd19c DRY up find or create of destination object within the mapping operation and change nil destination object to an error condition instead of an assertion. 2012-10-18 14:06:46 -04:00
Blake Watters
fb6db948e1 Implement support for using dynamic mapping during parameterization with a Request Descriptor. closes #684 2012-10-18 12:14:16 -04:00
Blake Watters
384ff80845 Add support for spinning the Network Activity Indicator while object request operations are executing. Add notifications for tracking object request operation lifecycle. 2012-10-17 22:35:13 -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
feb998ea84 Added support for truncating the length of logged request and response bodies via the 'RKLogMaxLength' environment variable to avoid getting hammered with output on the Trace level 2012-10-17 22:33:31 -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
20c4121644 Improve logging when mapping a null relationship value. refs #862 2012-10-16 20:50:35 -04:00
Blake Watters
9d617c6c7b Add support for disconnecting relationships when mapping a related keypath whose value is equal to [NSNull null]. fixes #862 2012-10-16 20:48:27 -04:00
Jeff Arena
53f4105e57 Split out simple and keyPath attribute mappings to allow relationship mappings to run before keyPath mappings. 2012-10-16 18:07:36 -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
d6c429e735 Add tests clarifying issue regarding relativePath vs. relativeString. closes #996 2012-10-15 23:22:27 -04:00
Blake Watters
64e9c7cb6d Add support for mapping attributes to deeply nested keyPaths on NSMutableDictionary. fixes #882 2012-10-15 22:00:14 -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
74624200da Fix inappropriate override of start method in RKMappingOperation. This should be main, as we are not concurrent 2012-10-15 18:41:45 -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
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
4ee29df72f Ensure cancellation works with path patterns against baseURL's that include a path 2012-10-14 15:32:08 -04:00
Blake Watters
d823217993 Add assertions to prevent attempts to create request descriptor objects with inappropriate mappings. fixes #976 2012-10-14 14:57:02 -04:00
Blake Watters
f3ece00743 Rework path based response descriptor matching and expand test coverage. Eliminate path normalization. fixes #987 2012-10-14 13:51:39 -04:00
Blake Watters
4a7ed3cbd3 Rename test files to align with classes 2012-10-14 13:51:39 -04:00
Blake Watters
3cc5ab9825 Fix inappropriate logging message regarding redirects 2012-10-14 13:51:38 -04:00
Blake Watters
8ae402e297 Add test coverage and fixed invalid error reporting when processing a client error that is empty and unmappable (i.e. {}). refs #983, closes #978 2012-10-06 01:54:12 -04:00
Blake Watters
c522326a98 Remove SystemConfiguration import for RKObjectManager. fixes #985 2012-10-06 01:05:55 -04:00
Blake Watters
66f0c34b5d Add conditional compilation for System Configuration header to avoid build error if SystemConfiguration is not pulled. refs #985 2012-10-06 00:07:38 -04:00
Blake Watters
a4a788b889 Wrap requestWithMethod:path:parameters: instead of reimplementing it. closes #959 2012-10-05 23:26:21 -04:00
Blake Watters
9ab37a7617 Finish header docs for RKObjectManager 2012-10-05 23:12:27 -04:00
Blake Watters
1f8c47e2e8 Pull SystemConfiguration and CoreServices into the PCH to quiet warnings from AFNetworking 2012-10-05 21:48:45 -04:00
Blake Watters
224de85fb3 Respect rootKeyPath when returning empty dictionary in response to unmappable representation error 2012-10-05 21:48:19 -04:00