Skip to content

Commit

Permalink
refactoring 2
Browse files Browse the repository at this point in the history
  • Loading branch information
Malaar committed Mar 25, 2012
1 parent 194f4be commit 1b096b9
Show file tree
Hide file tree
Showing 17 changed files with 153 additions and 143 deletions.
108 changes: 56 additions & 52 deletions DXDAL.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion DXDAL/Code/Classes/DXDALDataProviderMultipartForm.m
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
#import "DXDALDataProviderMultipartForm.h" #import "DXDALDataProviderMultipartForm.h"


#import "DXDALRequestMultipartForm.h" #import "DXDALRequestMultipartForm.h"
#import "DXDALResponseParserJSON.h"
#import "AFNetworking.h" #import "AFNetworking.h"
#import "JSONKit.h" #import "JSONKit.h"


Expand Down
3 changes: 2 additions & 1 deletion DXDAL/Code/Classes/DXDALRequest.h
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ typedef void (^DXDALRequestErrorHandler)(NSError *error);


- (void)resume; - (void)resume;


- (void)addParam:(NSString *)param withName:(NSString *)key; - (void)addParamString:(NSString *)param withName:(NSString *)key;
- (void)addParamNumber:(NSNumber*)param withName:(NSString *)key;


- (void)didFinishWithResponse:(id)response; - (void)didFinishWithResponse:(id)response;
- (void)didFailWithResponse:(id)response; - (void)didFailWithResponse:(id)response;
Expand Down
11 changes: 10 additions & 1 deletion DXDAL/Code/Classes/DXDALRequest.m
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -37,13 +37,22 @@ - (id)initWithDataProvider:(id<DXDALDataProvider>)dataProvider {
return self; return self;
} }


- (void)addParam:(NSString *)param withName:(NSString *)key { - (void)addParamString:(NSString *)param withName:(NSString *)key {
assert(key != nil); assert(key != nil);
assert(param != nil); assert(param != nil);


[_params setObject:param forKey:key]; [_params setObject:param forKey:key];
} }


- (void)addParamNumber:(NSNumber*)param withName:(NSString *)key

This comment has been minimized.

Copy link
@fylfot

fylfot Mar 26, 2012

А я бы оставил addParam принимающий NSObject, класс которого проверяется на типы NSArray, NSDictionary, NSNumber, NSString и затем их обрабатывать как положено.

This comment has been minimized.

Copy link
@Igor-Khomich

Igor-Khomich via email Mar 26, 2012

Contributor

This comment has been minimized.

Copy link
@sergeyzenchenko

sergeyzenchenko Mar 27, 2012

Contributor

да тебе

This comment has been minimized.

Copy link
@Igor-Khomich

Igor-Khomich via email Mar 28, 2012

Contributor

This comment has been minimized.

Copy link
@fylfot

fylfot Mar 28, 2012

Парни, я не знаю чей это коммит, я лишь прокоментировал ченж из коммита.

{
assert(key != nil);
assert(param != nil);

[_params setObject:param forKey:key];
}


- (void)addSuccessHandler:(DXDALRequestSuccesHandler)handler { - (void)addSuccessHandler:(DXDALRequestSuccesHandler)handler {
assert(handler != nil); assert(handler != nil);
[_successHandlers addObject:[handler copy]]; [_successHandlers addObject:[handler copy]];
Expand Down
15 changes: 0 additions & 15 deletions DXDAL/Code/Classes/DXDALRequestResponse.h

This file was deleted.

14 changes: 0 additions & 14 deletions DXDAL/Code/Classes/DXDALRequestResponse.m

This file was deleted.

13 changes: 8 additions & 5 deletions DXDAL/Code/Classes/HTTP/DXDALDataProviderHTTP.m
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -6,10 +6,11 @@




#import "DXDALDataProviderHTTP.h" #import "DXDALDataProviderHTTP.h"
#import "DXDALRequestHTTP.h"
#import "AFNetworking.h" #import "AFNetworking.h"
#import "DXDALResponseParserJSON.h"
#import "JSONKit.h" #import "JSONKit.h"
#import "DXDALRequestHTTP.h"
#import "DXDALParser.h"
#import "DXDALMapper.h"




@implementation DXDALDataProviderHTTP @implementation DXDALDataProviderHTTP
Expand Down Expand Up @@ -49,10 +50,12 @@ - (AFHTTPRequestOperation*) operationFromRequest:(DXDALRequestHTTP*) httpRequest
NSURLRequest *urlRequest = [self urlRequestFromRequest:httpRequest]; NSURLRequest *urlRequest = [self urlRequestFromRequest:httpRequest];
NSLog(@"start request: %@", [urlRequest URL]); NSLog(@"start request: %@", [urlRequest URL]);


AFHTTPRequestOperation *operation = [_httpClient HTTPRequestOperationWithRequest:urlRequest success:^(AFHTTPRequestOperation *operation, id responseObject) { AFHTTPRequestOperation *operation = [_httpClient HTTPRequestOperationWithRequest:urlRequest success:^(AFHTTPRequestOperation *operation, id responseObject)
id result = [httpRequest.parser parseJSON:operation.responseString withEntityClass:httpRequest.entityClass]; {

id parsedObject = [httpRequest.parser parseString:operation.responseString];
id result = [httpRequest.mapper mapFromInputData:parsedObject withClass:httpRequest.entityClass];
[httpRequest didFinishWithResponse:result]; [httpRequest didFinishWithResponse:result];

} failure:^(AFHTTPRequestOperation *operation, NSError *error) { } failure:^(AFHTTPRequestOperation *operation, NSError *error) {


NSMutableDictionary *userInfo = [[error userInfo] mutableCopy]; NSMutableDictionary *userInfo = [[error userInfo] mutableCopy];
Expand Down
15 changes: 15 additions & 0 deletions DXDAL/Code/Classes/HTTP/DXDALMapperStandart.h
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,15 @@
//
// DXDALMapperStandart.h
// DXDAL
//
// Created by Malaar on 25.03.12.
// Copyright (c) 2012 111Minutes. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "DXDALMapper.h"


@interface DXDALMapperStandart : NSObject <DXDALMapper>

@end
32 changes: 32 additions & 0 deletions DXDAL/Code/Classes/HTTP/DXDALMapperStandart.m
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,32 @@

//
// DXDALMapperStandart.m
// DXDAL
//
// Created by Malaar on 25.03.12.
// Copyright (c) 2012 111Minutes. All rights reserved.
//

#import "DXDALMapperStandart.h"
#import "NSObject+JTObjectMapping.h"


@implementation DXDALMapperStandart

- (id) mapFromInputData:(id)inputData withClass:(Class)mappingClass
{
id result = nil;
if ([inputData isKindOfClass:[NSArray class]]) {
result = [NSMutableArray new];
for (NSDictionary *dict in inputData) {
NSObject *obj = [mappingClass objectFromJSONObject:dict mapping:[mappingClass mapping]];
[result addObject:obj];
}
} else {
result = [mappingClass objectFromJSONObject:inputData mapping:[mappingClass mapping]];
}

return result;
}

@end
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
// //


#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import "DXDALResponseParser.h" #import "DXDALParser.h"


@class DXDALRequestHTTP; @class DXDALRequestHTTP;


@interface DXDALResponseParserJSON : NSObject <DXDALResponseParser> @interface DXDALParserJSON : NSObject <DXDALParser>




@end @end
21 changes: 21 additions & 0 deletions DXDAL/Code/Classes/HTTP/DXDALParserJSON.m
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,21 @@
//
// DXDALResponseParserJSON.m
// DXDAL
//
// Created by Sergey Zenchenko on 3/9/12.
// Copyright (c) 2012 111Minutes. All rights reserved.
//

#import "DXDALParserJSON.h"
#import "JSONKit.h"
//#import "DXDALRequestHTTP.h"

@implementation DXDALParserJSON

This comment has been minimized.

Copy link
@fylfot

fylfot Mar 28, 2012

Я так полагаю автоматический маппинг теперь погиб?

А то я хотел патч предложить:
if (!httpRequest.entityClass) { // Ignore Auto Mapping
return jsonResult;
}


- (id) parseString:(NSString *)aString
{
return [aString objectFromJSONString];
}


@end
7 changes: 4 additions & 3 deletions DXDAL/Code/Classes/HTTP/DXDALRequestHTTP.h
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import "DXDALRequest.h" #import "DXDALRequest.h"


@protocol DXDALResponseParser; @protocol DXDALParser;
@protocol DXDALMapper;




@interface DXDALRequestHTTP : DXDALRequest @interface DXDALRequestHTTP : DXDALRequest
Expand All @@ -19,7 +20,7 @@
@property(nonatomic, readwrite, strong) NSDictionary *defaultHTTPHeaders; @property(nonatomic, readwrite, strong) NSDictionary *defaultHTTPHeaders;


@property (nonatomic, assign) Class entityClass; @property (nonatomic, assign) Class entityClass;
@property (nonatomic, strong) NSDictionary *mapping; @property (nonatomic, strong) id<DXDALParser> parser;
@property (nonatomic, strong) id<DXDALResponseParser> parser; @property (nonatomic, strong) id<DXDALMapper> mapper;


@end @end
5 changes: 3 additions & 2 deletions DXDAL/Code/Classes/HTTP/DXDALRequestHTTP.m
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -5,15 +5,16 @@
// //


#import "DXDALRequestHTTP.h" #import "DXDALRequestHTTP.h"
#import "DXDALResponseParser.h"


@implementation DXDALRequestHTTP @implementation DXDALRequestHTTP


@synthesize httpMethod = _httpMethod; @synthesize httpMethod = _httpMethod;
@synthesize httpPath = _httpPath; @synthesize httpPath = _httpPath;
@synthesize defaultHTTPHeaders = _defaultHTTPHeaders; @synthesize defaultHTTPHeaders = _defaultHTTPHeaders;
@synthesize entityClass, mapping; @synthesize entityClass;
@synthesize parser; @synthesize parser;
@synthesize mapper;


- (NSString*)httpMethod { - (NSString*)httpMethod {
return [_httpMethod uppercaseString]; return [_httpMethod uppercaseString];
Expand Down
12 changes: 0 additions & 12 deletions DXDAL/Code/Classes/HTTP/DXDALResponseParser.h

This file was deleted.

35 changes: 0 additions & 35 deletions DXDAL/Code/Classes/HTTP/DXDALResponseParserJSON.m

This file was deleted.

0 comments on commit 1b096b9

Please sign in to comment.