Skip to content

Commit a9e4def

Browse files
author
Olga Danylova
authored
Merge pull request #174 from olgadanylova/master
Adapters error handling fixed
2 parents 7965aff + bd95246 commit a9e4def

File tree

4 files changed

+39
-29
lines changed

4 files changed

+39
-29
lines changed

SDK/backendlessAPI/Classes/Persistence/PersistenceAdapter/DeviceRegistrationAdapter.m

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,23 +33,28 @@
3333
@implementation DeviceRegistrationAdapter
3434

3535
-(id)adapt:(id)type {
36-
V3Message *v3 = (V3Message *)[type defaultAdapt];
37-
if (v3.isError) {
38-
ErrMessage *result = (ErrMessage *)v3;
39-
return [Fault fault:result.faultString detail:result.faultDetail faultCode:result.faultCode];
40-
}
4136
NSMutableDictionary *typeProperties = ((AnonymousObject *)[type getCacheKey]).properties;
42-
id body = [typeProperties valueForKey:@"body"];
43-
if ([body isKindOfClass:[NamedObject class]]) {
44-
return [self adaptToDeviceRegistration:body];
37+
if ([typeProperties valueForKey:@"faultCode"] ||
38+
[typeProperties valueForKey:@"faultDetail"] ||
39+
[typeProperties valueForKey:@"faultString"]) {
40+
Fault *fault = [[Fault alloc] initWithMessage:[[typeProperties valueForKey:@"faultString"] defaultAdapt]
41+
detail:[[typeProperties valueForKey:@"faultDetail"] defaultAdapt]
42+
faultCode:[[typeProperties valueForKey:@"faultCode"] defaultAdapt]];
43+
return fault;
4544
}
46-
else if ([body isKindOfClass:[ArrayType class]]) {
47-
NSMutableArray *result = [NSMutableArray new];
48-
NSArray *bodyObjects = [body getArray];
49-
for (NamedObject *bodyObject in bodyObjects) {
50-
[result addObject:[self adaptToDeviceRegistration:bodyObject]];
45+
else {
46+
id body = [typeProperties valueForKey:@"body"];
47+
if ([body isKindOfClass:[NamedObject class]]) {
48+
return [self adaptToDeviceRegistration:body];
49+
}
50+
else if ([body isKindOfClass:[ArrayType class]]) {
51+
NSMutableArray *result = [NSMutableArray new];
52+
NSArray *bodyObjects = [body getArray];
53+
for (NamedObject *bodyObject in bodyObjects) {
54+
[result addObject:[self adaptToDeviceRegistration:bodyObject]];
55+
}
56+
return result;
5157
}
52-
return result;
5358
}
5459
return nil;
5560
}

SDK/backendlessAPI/Classes/Persistence/PersistenceAdapter/MapAdapter.m

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -32,24 +32,29 @@
3232
@implementation MapAdapter
3333

3434
-(id)adapt:(id)type {
35-
V3Message *v3 = (V3Message *)[type defaultAdapt];
36-
if (v3.isError) {
37-
ErrMessage *result = (ErrMessage *)v3;
38-
return [Fault fault:result.faultString detail:result.faultDetail faultCode:result.faultCode];
39-
}
4035
NSMutableDictionary *typeProperties = ((AnonymousObject *)[type getCacheKey]).properties;
41-
id body = [typeProperties valueForKey:@"body"];
42-
43-
if ([body isKindOfClass:[NamedObject class]]) {
44-
return [body adapt:[NSDictionary class]];
36+
if ([typeProperties valueForKey:@"faultCode"] ||
37+
[typeProperties valueForKey:@"faultDetail"] ||
38+
[typeProperties valueForKey:@"faultString"]) {
39+
Fault *fault = [[Fault alloc] initWithMessage:[[typeProperties valueForKey:@"faultString"] defaultAdapt]
40+
detail:[[typeProperties valueForKey:@"faultDetail"] defaultAdapt]
41+
faultCode:[[typeProperties valueForKey:@"faultCode"] defaultAdapt]];
42+
return fault;
4543
}
46-
else if ([body isKindOfClass:[ArrayType class]]) {
47-
NSMutableArray *result = [NSMutableArray new];
48-
NSArray *bodyObjects = [body getArray];
49-
for (NamedObject *bodyObject in bodyObjects) {
50-
[result addObject:[bodyObject adapt:[NSDictionary class]]];
44+
else {
45+
id body = [typeProperties valueForKey:@"body"];
46+
47+
if ([body isKindOfClass:[NamedObject class]]) {
48+
return [body adapt:[NSDictionary class]];
49+
}
50+
else if ([body isKindOfClass:[ArrayType class]]) {
51+
NSMutableArray *result = [NSMutableArray new];
52+
NSArray *bodyObjects = [body getArray];
53+
for (NamedObject *bodyObject in bodyObjects) {
54+
[result addObject:[bodyObject adapt:[NSDictionary class]]];
55+
}
56+
return result;
5157
}
52-
return result;
5358
}
5459
return nil;
5560
}

SDK/ios/backendless/backendless.a

-10.5 KB
Binary file not shown.

SDK/lib/backendless/backendless.a

-10.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)