5e7b6ed60e
[FIXED] Font of navbar. [FIXED] A few compile fixes. [IMPROVED] Made properties nonatomic. [ADDED] Support for facebook, twitter and google+ sharing.
93 lines
2.9 KiB
Objective-C
93 lines
2.9 KiB
Objective-C
/* Copyright (c) 2011 Google Inc.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
//
|
|
// GTLBatchResult.m
|
|
//
|
|
|
|
#import "GTLBatchResult.h"
|
|
|
|
#import "GTLErrorObject.h"
|
|
|
|
@implementation GTLBatchResult
|
|
|
|
@synthesize successes = successes_,
|
|
failures = failures_;
|
|
|
|
- (id)copyWithZone:(NSZone *)zone {
|
|
GTLBatchResult* newObject = [super copyWithZone:zone];
|
|
newObject.successes = [[self.successes mutableCopyWithZone:zone] autorelease];
|
|
newObject.failures = [[self.failures mutableCopyWithZone:zone] autorelease];
|
|
return newObject;
|
|
}
|
|
|
|
- (void)dealloc {
|
|
[successes_ release];
|
|
[failures_ release];
|
|
|
|
[super dealloc];
|
|
}
|
|
|
|
- (NSString *)description {
|
|
return [NSString stringWithFormat:@"%@ %p (successes:%lu failures:%lu)",
|
|
[self class], self,
|
|
(unsigned long) [self.successes count],
|
|
(unsigned long) [self.failures count]];
|
|
}
|
|
|
|
#pragma mark -
|
|
|
|
- (void)createItemsWithClassMap:(NSDictionary *)batchClassMap {
|
|
// This is called by GTLObject objectForJSON:defaultClass:
|
|
// JSON is defined to be a dictionary, but for batch results, it really
|
|
// is any array.
|
|
id json = self.JSON;
|
|
GTL_DEBUG_ASSERT([json isKindOfClass:[NSArray class]],
|
|
@"didn't get an array for the batch results");
|
|
NSArray *jsonArray = json;
|
|
|
|
NSMutableDictionary *successes = [NSMutableDictionary dictionary];
|
|
NSMutableDictionary *failures = [NSMutableDictionary dictionary];
|
|
|
|
for (NSMutableDictionary *rpcResponse in jsonArray) {
|
|
NSString *responseID = [rpcResponse objectForKey:@"id"];
|
|
|
|
NSMutableDictionary *errorJSON = [rpcResponse objectForKey:@"error"];
|
|
if (errorJSON) {
|
|
GTLErrorObject *errorObject = [GTLErrorObject objectWithJSON:errorJSON];
|
|
[failures setValue:errorObject forKey:responseID];
|
|
} else {
|
|
NSMutableDictionary *resultJSON = [rpcResponse objectForKey:@"result"];
|
|
|
|
NSDictionary *surrogates = self.surrogates;
|
|
Class defaultClass = [batchClassMap objectForKey:responseID];
|
|
|
|
id resultObject = [[self class] objectForJSON:resultJSON
|
|
defaultClass:defaultClass
|
|
surrogates:surrogates
|
|
batchClassMap:nil];
|
|
if (resultObject == nil) {
|
|
// methods like delete return no object
|
|
resultObject = [NSNull null];
|
|
}
|
|
[successes setValue:resultObject forKey:responseID];
|
|
}
|
|
}
|
|
self.successes = successes;
|
|
self.failures = failures;
|
|
}
|
|
|
|
@end
|