From dfa977627a69720236454582e055c9b47a876726 Mon Sep 17 00:00:00 2001 From: wing328 Date: Sun, 28 Feb 2016 15:52:51 +0800 Subject: [PATCH 1/2] better reserved word for objc --- .../codegen/languages/ObjcClientCodegen.java | 2 +- .../src/main/resources/objc/api-body.mustache | 6 +- .../petstore/objc/SwaggerClient/SWGPetApi.h | 4 +- .../petstore/objc/SwaggerClient/SWGPetApi.m | 46 ++++----- .../petstore/objc/SwaggerClient/SWGStoreApi.h | 13 +++ .../petstore/objc/SwaggerClient/SWGStoreApi.m | 95 +++++++++++++++++-- .../petstore/objc/SwaggerClient/SWGUserApi.m | 32 +++---- 7 files changed, 145 insertions(+), 53 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ObjcClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ObjcClientCodegen.java index 5110ad00e6e..3525a7601db 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ObjcClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ObjcClientCodegen.java @@ -98,7 +98,7 @@ public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig { // local variable names in API methods (endpoints) "resourcePath", "pathParams", "queryParams", "headerParams", "responseContentType", "requestContentType", "authSettings", - "formParams", "files", "bodyParam", + "formParams", "localVarFiles", "bodyParam", // objc reserved words "auto", "else", "long", "switch", "break", "enum", "register", "typedef", diff --git a/modules/swagger-codegen/src/main/resources/objc/api-body.mustache b/modules/swagger-codegen/src/main/resources/objc/api-body.mustache index c049571c892..0aa3c7ce7ab 100644 --- a/modules/swagger-codegen/src/main/resources/objc/api-body.mustache +++ b/modules/swagger-codegen/src/main/resources/objc/api-body.mustache @@ -141,7 +141,7 @@ static {{classname}}* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; {{#bodyParam}} bodyParam = {{paramName}}; {{/bodyParam}}{{^bodyParam}} @@ -151,7 +151,7 @@ static {{classname}}* singletonAPI = nil; formParams[@"{{baseName}}"] = {{paramName}}; } {{/notFile}}{{#isFile}} - files[@"{{paramName}}"] = {{paramName}}; + localVarFiles[@"{{paramName}}"] = {{paramName}}; {{/isFile}} {{/formParams}} {{/bodyParam}} @@ -168,7 +168,7 @@ static {{classname}}* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings diff --git a/samples/client/petstore/objc/SwaggerClient/SWGPetApi.h b/samples/client/petstore/objc/SwaggerClient/SWGPetApi.h index 3e3c99fb65b..009a1f9c9b4 100644 --- a/samples/client/petstore/objc/SwaggerClient/SWGPetApi.h +++ b/samples/client/petstore/objc/SwaggerClient/SWGPetApi.h @@ -48,9 +48,9 @@ /// /// /// Finds Pets by status -/// Multiple status values can be provided with comma seperated strings +/// Multiple status values can be provided with comma separated strings /// -/// @param status Status values that need to be considered for filter +/// @param status Status values that need to be considered for query /// /// /// @return NSArray* diff --git a/samples/client/petstore/objc/SwaggerClient/SWGPetApi.m b/samples/client/petstore/objc/SwaggerClient/SWGPetApi.m index fc128051447..4b610524fe7 100644 --- a/samples/client/petstore/objc/SwaggerClient/SWGPetApi.m +++ b/samples/client/petstore/objc/SwaggerClient/SWGPetApi.m @@ -120,7 +120,7 @@ static SWGPetApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; bodyParam = body; @@ -131,7 +131,7 @@ static SWGPetApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -195,7 +195,7 @@ static SWGPetApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; bodyParam = body; @@ -206,7 +206,7 @@ static SWGPetApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -221,8 +221,8 @@ static SWGPetApi* singletonAPI = nil; /// /// Finds Pets by status -/// Multiple status values can be provided with comma seperated strings -/// @param status Status values that need to be considered for filter +/// Multiple status values can be provided with comma separated strings +/// @param status Status values that need to be considered for query /// /// @returns NSArray* /// @@ -276,7 +276,7 @@ static SWGPetApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; @@ -287,7 +287,7 @@ static SWGPetApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -357,7 +357,7 @@ static SWGPetApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; @@ -368,7 +368,7 @@ static SWGPetApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -440,7 +440,7 @@ static SWGPetApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; @@ -451,7 +451,7 @@ static SWGPetApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -529,7 +529,7 @@ static SWGPetApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; @@ -552,7 +552,7 @@ static SWGPetApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -630,7 +630,7 @@ static SWGPetApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; @@ -641,7 +641,7 @@ static SWGPetApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -719,7 +719,7 @@ static SWGPetApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; @@ -729,7 +729,7 @@ static SWGPetApi* singletonAPI = nil; - files[@"file"] = file; + localVarFiles[@"file"] = file; @@ -740,7 +740,7 @@ static SWGPetApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -812,7 +812,7 @@ static SWGPetApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; @@ -823,7 +823,7 @@ static SWGPetApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -887,7 +887,7 @@ static SWGPetApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; bodyParam = body; @@ -898,7 +898,7 @@ static SWGPetApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings diff --git a/samples/client/petstore/objc/SwaggerClient/SWGStoreApi.h b/samples/client/petstore/objc/SwaggerClient/SWGStoreApi.h index 3ec48439054..cddacb3fd4d 100644 --- a/samples/client/petstore/objc/SwaggerClient/SWGStoreApi.h +++ b/samples/client/petstore/objc/SwaggerClient/SWGStoreApi.h @@ -19,6 +19,19 @@ -(unsigned long) requestQueueSize; +(SWGStoreApi*) apiWithHeader:(NSString*)headerValue key:(NSString*)key; +(SWGStoreApi*) sharedAPI; +/// +/// +/// Finds orders by status +/// A single status value can be provided as a string +/// +/// @param status Status value that needs to be considered for query +/// +/// +/// @return NSArray* +-(NSNumber*) findOrdersByStatusWithStatus: (NSString*) status + completionHandler: (void (^)(NSArray* output, NSError* error)) handler; + + /// /// /// Returns pet inventories by status diff --git a/samples/client/petstore/objc/SwaggerClient/SWGStoreApi.m b/samples/client/petstore/objc/SwaggerClient/SWGStoreApi.m index ba5bc29d23f..993a0490f0f 100644 --- a/samples/client/petstore/objc/SwaggerClient/SWGStoreApi.m +++ b/samples/client/petstore/objc/SwaggerClient/SWGStoreApi.m @@ -69,6 +69,85 @@ static SWGStoreApi* singletonAPI = nil; #pragma mark - Api Methods +/// +/// Finds orders by status +/// A single status value can be provided as a string +/// @param status Status value that needs to be considered for query +/// +/// @returns NSArray* +/// +-(NSNumber*) findOrdersByStatusWithStatus: (NSString*) status + completionHandler: (void (^)(NSArray* output, NSError* error)) handler { + + + + NSMutableString* resourcePath = [NSMutableString stringWithFormat:@"/store/findByStatus"]; + + // remove format in URL if needed + if ([resourcePath rangeOfString:@".{format}"].location != NSNotFound) { + [resourcePath replaceCharactersInRange: [resourcePath rangeOfString:@".{format}"] withString:@".json"]; + } + + NSMutableDictionary *pathParams = [[NSMutableDictionary alloc] init]; + + + NSMutableDictionary* queryParams = [[NSMutableDictionary alloc] init]; + if (status != nil) { + + queryParams[@"status"] = status; + } + + NSMutableDictionary* headerParams = [NSMutableDictionary dictionaryWithDictionary:self.defaultHeaders]; + + + + // HTTP header `Accept` + headerParams[@"Accept"] = [SWGApiClient selectHeaderAccept:@[@"application/json", @"application/xml"]]; + if ([headerParams[@"Accept"] length] == 0) { + [headerParams removeObjectForKey:@"Accept"]; + } + + // response content type + NSString *responseContentType; + if ([headerParams objectForKey:@"Accept"]) { + responseContentType = [headerParams[@"Accept"] componentsSeparatedByString:@", "][0]; + } + else { + responseContentType = @""; + } + + // request content type + NSString *requestContentType = [SWGApiClient selectHeaderContentType:@[]]; + + // Authentication setting + NSArray *authSettings = @[@"test_api_client_id", @"test_api_client_secret"]; + + id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; + + + + + + return [self.apiClient requestWithPath: resourcePath + method: @"GET" + pathParams: pathParams + queryParams: queryParams + formParams: formParams + files: localVarFiles + body: bodyParam + headerParams: headerParams + authSettings: authSettings + requestContentType: requestContentType + responseContentType: responseContentType + responseType: @"NSArray*" + completionBlock: ^(id data, NSError *error) { + handler((NSArray*)data, error); + } + ]; +} + /// /// Returns pet inventories by status /// Returns a map of status codes to quantities @@ -118,7 +197,7 @@ static SWGStoreApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; @@ -129,7 +208,7 @@ static SWGStoreApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -193,7 +272,7 @@ static SWGStoreApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; bodyParam = body; @@ -204,7 +283,7 @@ static SWGStoreApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -276,7 +355,7 @@ static SWGStoreApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; @@ -287,7 +366,7 @@ static SWGStoreApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -359,7 +438,7 @@ static SWGStoreApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; @@ -370,7 +449,7 @@ static SWGStoreApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings diff --git a/samples/client/petstore/objc/SwaggerClient/SWGUserApi.m b/samples/client/petstore/objc/SwaggerClient/SWGUserApi.m index c092e1e3e5a..46cda001e52 100644 --- a/samples/client/petstore/objc/SwaggerClient/SWGUserApi.m +++ b/samples/client/petstore/objc/SwaggerClient/SWGUserApi.m @@ -120,7 +120,7 @@ static SWGUserApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; bodyParam = body; @@ -131,7 +131,7 @@ static SWGUserApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -195,7 +195,7 @@ static SWGUserApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; bodyParam = body; @@ -206,7 +206,7 @@ static SWGUserApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -270,7 +270,7 @@ static SWGUserApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; bodyParam = body; @@ -281,7 +281,7 @@ static SWGUserApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -356,7 +356,7 @@ static SWGUserApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; @@ -367,7 +367,7 @@ static SWGUserApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -429,7 +429,7 @@ static SWGUserApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; @@ -440,7 +440,7 @@ static SWGUserApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -512,7 +512,7 @@ static SWGUserApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; @@ -523,7 +523,7 @@ static SWGUserApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -598,7 +598,7 @@ static SWGUserApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; bodyParam = body; @@ -609,7 +609,7 @@ static SWGUserApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings @@ -681,7 +681,7 @@ static SWGUserApi* singletonAPI = nil; id bodyParam = nil; NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *localVarFiles = [[NSMutableDictionary alloc] init]; @@ -692,7 +692,7 @@ static SWGUserApi* singletonAPI = nil; pathParams: pathParams queryParams: queryParams formParams: formParams - files: files + files: localVarFiles body: bodyParam headerParams: headerParams authSettings: authSettings From 17a93dd5ce7913756688826cf8b90f13b3627c79 Mon Sep 17 00:00:00 2001 From: wing328 Date: Sun, 28 Feb 2016 16:15:44 +0800 Subject: [PATCH 2/2] add prefix and suffix to objc model --- .../swagger/codegen/languages/ObjcClientCodegen.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ObjcClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ObjcClientCodegen.java index 3525a7601db..aee192c27b2 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ObjcClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ObjcClientCodegen.java @@ -343,7 +343,15 @@ public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig { } // custom classes else { - return classPrefix + camelize(type); + if (!StringUtils.isEmpty(modelNameSuffix)) { // set model suffix + type = type + "_" + modelNameSuffix; + } + + if (!StringUtils.isEmpty(modelNamePrefix)) { // set model prefix + type = modelNamePrefix + "_" + type; + } + + return classPrefix + camelize(type); // add class prefix } }