From 24ecf9d74feb186763f51e55b2afcb9d80a14e2a Mon Sep 17 00:00:00 2001 From: Mateusz Mackowiak Date: Mon, 6 Jun 2016 12:13:06 +0200 Subject: [PATCH 1/2] [Objc] Support for x-unique-id-key vendorExtensions --- .../src/main/resources/objc/Model.xcdatamodel.mustache | 4 +++- .../src/main/resources/objc/model-body.mustache | 6 +++++- .../swagger-codegen/src/test/resources/2_0/petstore.json | 3 ++- samples/client/petstore/objc/README.md | 2 +- .../client/petstore/objc/SwaggerClient/Core/SWGApiClient.h | 2 +- .../client/petstore/objc/SwaggerClient/Core/SWGApiClient.m | 6 ++++++ .../SWGModel.xcdatamodeld/SWGModel.xcdatamodel/contents | 6 ++++++ samples/client/petstore/objc/SwaggerClient/Model/SWGPet.m | 4 ++++ 8 files changed, 28 insertions(+), 5 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/objc/Model.xcdatamodel.mustache b/modules/swagger-codegen/src/main/resources/objc/Model.xcdatamodel.mustache index bc391cbd0ad..ae854b3edeb 100644 --- a/modules/swagger-codegen/src/main/resources/objc/Model.xcdatamodel.mustache +++ b/modules/swagger-codegen/src/main/resources/objc/Model.xcdatamodel.mustache @@ -2,8 +2,10 @@ {{#models}}{{#model}} -{{#vars}}{{#complexType}} {{/complexType}}{{^complexType}} {{/complexType}} +{{#vars}}{{#complexType}} {{/complexType}}{{^complexType}} {{/complexType}}{{#vendorExtensions.x-unique-id-key}} + {{/vendorExtensions.x-unique-id-key}} {{/vars}} + {{/model}}{{/models}} \ No newline at end of file diff --git a/modules/swagger-codegen/src/main/resources/objc/model-body.mustache b/modules/swagger-codegen/src/main/resources/objc/model-body.mustache index ae4e66fba69..2a4a548458e 100644 --- a/modules/swagger-codegen/src/main/resources/objc/model-body.mustache +++ b/modules/swagger-codegen/src/main/resources/objc/model-body.mustache @@ -13,7 +13,11 @@ } return self; } - +{{#vars}}{{^vendorExtensions.x-unique-id-key}}{{/vendorExtensions.x-unique-id-key}}{{#vendorExtensions.x-unique-id-key}} +-(NSString*)indexPropertyName { + return @"{{name}}"; +} +{{/vendorExtensions.x-unique-id-key}}{{/vars}} {{#discriminator}} /** * Maps "discriminator" value to the sub-class name, so that inheritance is supported. diff --git a/modules/swagger-codegen/src/test/resources/2_0/petstore.json b/modules/swagger-codegen/src/test/resources/2_0/petstore.json index 24fcf4bf768..ca60ab4cd05 100644 --- a/modules/swagger-codegen/src/test/resources/2_0/petstore.json +++ b/modules/swagger-codegen/src/test/resources/2_0/petstore.json @@ -880,7 +880,8 @@ "properties": { "id": { "type": "integer", - "format": "int64" + "format": "int64", + "x-unique-id-key" : true }, "category": { "$ref": "#/definitions/Category" diff --git a/samples/client/petstore/objc/README.md b/samples/client/petstore/objc/README.md index 44bff87c42e..f34a1340e1d 100644 --- a/samples/client/petstore/objc/README.md +++ b/samples/client/petstore/objc/README.md @@ -6,7 +6,7 @@ This ObjC package is automatically generated by the [Swagger Codegen](https://gi - API version: 1.0.0 - Package version: -- Build date: 2016-05-27T16:03:28.462+02:00 +- Build date: 2016-06-06T12:11:50.444+02:00 - Build package: class io.swagger.codegen.languages.ObjcClientCodegen ## Requirements diff --git a/samples/client/petstore/objc/SwaggerClient/Core/SWGApiClient.h b/samples/client/petstore/objc/SwaggerClient/Core/SWGApiClient.h index a926598ce5f..2ec5c9b0fcc 100644 --- a/samples/client/petstore/objc/SwaggerClient/Core/SWGApiClient.h +++ b/samples/client/petstore/objc/SwaggerClient/Core/SWGApiClient.h @@ -1,6 +1,6 @@ #import #import -#import +#import #import "SWGJSONResponseSerializer.h" #import "SWGJSONRequestSerializer.h" #import "SWGQueryParamCollection.h" diff --git a/samples/client/petstore/objc/SwaggerClient/Core/SWGApiClient.m b/samples/client/petstore/objc/SwaggerClient/Core/SWGApiClient.m index 66305707b17..f004200b2eb 100644 --- a/samples/client/petstore/objc/SwaggerClient/Core/SWGApiClient.m +++ b/samples/client/petstore/objc/SwaggerClient/Core/SWGApiClient.m @@ -50,6 +50,7 @@ static NSString * SWG__fileNameForResponse(NSURLResponse *response) { - (instancetype)initWithBaseURL:(NSURL *)url { self = [super initWithBaseURL:url]; if (self) { + self.timeoutInterval = 60; self.requestSerializer = [AFJSONRequestSerializer serializer]; self.responseSerializer = [AFJSONResponseSerializer serializer]; self.securityPolicy = [self customSecurityPolicy]; @@ -87,6 +88,11 @@ static NSString * SWG__fileNameForResponse(NSURLResponse *response) { [self.requestSerializer setValue:value forHTTPHeaderField:forKey]; } +- (void)setRequestSerializer:(AFHTTPRequestSerializer *)requestSerializer { + [super setRequestSerializer:requestSerializer]; + requestSerializer.timeoutInterval = self.timeoutInterval; +} + #pragma mark - Cache Methods +(void)clearCache { diff --git a/samples/client/petstore/objc/SwaggerClient/Model/SWGModel.xcdatamodeld/SWGModel.xcdatamodel/contents b/samples/client/petstore/objc/SwaggerClient/Model/SWGModel.xcdatamodeld/SWGModel.xcdatamodel/contents index d6c893f1d25..466c7c6ad4a 100644 --- a/samples/client/petstore/objc/SwaggerClient/Model/SWGModel.xcdatamodeld/SWGModel.xcdatamodel/contents +++ b/samples/client/petstore/objc/SwaggerClient/Model/SWGModel.xcdatamodeld/SWGModel.xcdatamodel/contents @@ -4,6 +4,7 @@ + @@ -12,18 +13,22 @@ + + + + @@ -34,6 +39,7 @@ + \ No newline at end of file diff --git a/samples/client/petstore/objc/SwaggerClient/Model/SWGPet.m b/samples/client/petstore/objc/SwaggerClient/Model/SWGPet.m index a1c63520dc4..9629b72b113 100644 --- a/samples/client/petstore/objc/SwaggerClient/Model/SWGPet.m +++ b/samples/client/petstore/objc/SwaggerClient/Model/SWGPet.m @@ -11,6 +11,10 @@ return self; } +-(NSString*)indexPropertyName { + return @"_id"; +} + /** * Maps json key to property name. From 5a6daeed8f8ab6ae9b811452899d26206fe1c431 Mon Sep 17 00:00:00 2001 From: Mateusz Mackowiak Date: Fri, 10 Jun 2016 14:15:58 +0200 Subject: [PATCH 2/2] [Objc] Moved x-is-unique: true to petstore-with-fake-endpoints-models-for-testing --- .../2_0/petstore-with-fake-endpoints-models-for-testing.yaml | 2 ++ modules/swagger-codegen/src/test/resources/2_0/petstore.json | 3 +-- .../Model/SWGModel.xcdatamodeld/SWGModel.xcdatamodel/contents | 1 - samples/client/petstore/objc/SwaggerClient/Model/SWGPet.m | 4 ---- 4 files changed, 3 insertions(+), 7 deletions(-) diff --git a/modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml b/modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml index ee4c0bfbcc9..109feba388e 100644 --- a/modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml +++ b/modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml @@ -717,6 +717,7 @@ definitions: id: type: integer format: int64 + x-is-unique: true username: type: string firstName: @@ -754,6 +755,7 @@ definitions: id: type: integer format: int64 + x-is-unique: true category: $ref: '#/definitions/Category' name: diff --git a/modules/swagger-codegen/src/test/resources/2_0/petstore.json b/modules/swagger-codegen/src/test/resources/2_0/petstore.json index ca60ab4cd05..24fcf4bf768 100644 --- a/modules/swagger-codegen/src/test/resources/2_0/petstore.json +++ b/modules/swagger-codegen/src/test/resources/2_0/petstore.json @@ -880,8 +880,7 @@ "properties": { "id": { "type": "integer", - "format": "int64", - "x-unique-id-key" : true + "format": "int64" }, "category": { "$ref": "#/definitions/Category" diff --git a/samples/client/petstore/objc/SwaggerClient/Model/SWGModel.xcdatamodeld/SWGModel.xcdatamodel/contents b/samples/client/petstore/objc/SwaggerClient/Model/SWGModel.xcdatamodeld/SWGModel.xcdatamodel/contents index 466c7c6ad4a..112261be531 100644 --- a/samples/client/petstore/objc/SwaggerClient/Model/SWGModel.xcdatamodeld/SWGModel.xcdatamodel/contents +++ b/samples/client/petstore/objc/SwaggerClient/Model/SWGModel.xcdatamodeld/SWGModel.xcdatamodel/contents @@ -17,7 +17,6 @@ - diff --git a/samples/client/petstore/objc/SwaggerClient/Model/SWGPet.m b/samples/client/petstore/objc/SwaggerClient/Model/SWGPet.m index 9629b72b113..a1c63520dc4 100644 --- a/samples/client/petstore/objc/SwaggerClient/Model/SWGPet.m +++ b/samples/client/petstore/objc/SwaggerClient/Model/SWGPet.m @@ -11,10 +11,6 @@ return self; } --(NSString*)indexPropertyName { - return @"_id"; -} - /** * Maps json key to property name.