diff --git a/bin/configs/perl.yaml b/bin/configs/perl.yaml index 17575b85be0..3fb7e7b28ec 100644 --- a/bin/configs/perl.yaml +++ b/bin/configs/perl.yaml @@ -4,3 +4,7 @@ inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-e templateDir: modules/openapi-generator/src/main/resources/perl additionalProperties: hideGenerationTimestamp: "true" +nameMappings: + NullableMessage: system_message +modelNameMappings: + DeprecatedObject: DeprecatedModel diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java index 34d05b08100..e18d765a981 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PerlClientCodegen.java @@ -317,6 +317,11 @@ public class PerlClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toVarName(String name) { + // obtain the name from nameMapping directly if provided + if (nameMapping.containsKey(name)) { + return nameMapping.get(name); + } + // return the name in underscore style // PhoneNumber => phone_number name = underscore(name); // FIXME: a parameter should not be assigned. Also declare the methods parameters as 'final'. @@ -331,12 +336,22 @@ public class PerlClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toParamName(String name) { + // obtain the name from parameterNameMapping directly if provided + if (parameterNameMapping.containsKey(name)) { + return parameterNameMapping.get(name); + } + // should be the same as variable name return toVarName(name); } @Override public String toModelName(String name) { + // obtain the name from modelNameMapping directly if provided + if (modelNameMapping.containsKey(name)) { + return modelNameMapping.get(name); + } + // We need to check if schema-mapping has a different model for this class, so we use it // instead of the auto-generated one. if (schemaMapping.containsKey(name)) { diff --git a/samples/client/petstore/perl/.openapi-generator/FILES b/samples/client/petstore/perl/.openapi-generator/FILES index d47a62bb7b3..2f27fda7f34 100644 --- a/samples/client/petstore/perl/.openapi-generator/FILES +++ b/samples/client/petstore/perl/.openapi-generator/FILES @@ -16,7 +16,7 @@ docs/Category.md docs/ClassModel.md docs/Client.md docs/DefaultApi.md -docs/DeprecatedObject.md +docs/DeprecatedModel.md docs/Dog.md docs/EnumArrays.md docs/EnumClass.md @@ -76,7 +76,7 @@ lib/WWW/OpenAPIClient/Object/Cat.pm lib/WWW/OpenAPIClient/Object/Category.pm lib/WWW/OpenAPIClient/Object/ClassModel.pm lib/WWW/OpenAPIClient/Object/Client.pm -lib/WWW/OpenAPIClient/Object/DeprecatedObject.pm +lib/WWW/OpenAPIClient/Object/DeprecatedModel.pm lib/WWW/OpenAPIClient/Object/Dog.pm lib/WWW/OpenAPIClient/Object/EnumArrays.pm lib/WWW/OpenAPIClient/Object/EnumClass.pm diff --git a/samples/client/petstore/perl/README.md b/samples/client/petstore/perl/README.md index dc7daa76c9a..18b2ea4aab1 100644 --- a/samples/client/petstore/perl/README.md +++ b/samples/client/petstore/perl/README.md @@ -254,7 +254,7 @@ use WWW::OpenAPIClient::Object::Cat; use WWW::OpenAPIClient::Object::Category; use WWW::OpenAPIClient::Object::ClassModel; use WWW::OpenAPIClient::Object::Client; -use WWW::OpenAPIClient::Object::DeprecatedObject; +use WWW::OpenAPIClient::Object::DeprecatedModel; use WWW::OpenAPIClient::Object::Dog; use WWW::OpenAPIClient::Object::EnumArrays; use WWW::OpenAPIClient::Object::EnumClass; @@ -321,7 +321,7 @@ use WWW::OpenAPIClient::Object::Cat; use WWW::OpenAPIClient::Object::Category; use WWW::OpenAPIClient::Object::ClassModel; use WWW::OpenAPIClient::Object::Client; -use WWW::OpenAPIClient::Object::DeprecatedObject; +use WWW::OpenAPIClient::Object::DeprecatedModel; use WWW::OpenAPIClient::Object::Dog; use WWW::OpenAPIClient::Object::EnumArrays; use WWW::OpenAPIClient::Object::EnumClass; @@ -439,7 +439,7 @@ Class | Method | HTTP request | Description - [WWW::OpenAPIClient::Object::Category](docs/Category.md) - [WWW::OpenAPIClient::Object::ClassModel](docs/ClassModel.md) - [WWW::OpenAPIClient::Object::Client](docs/Client.md) - - [WWW::OpenAPIClient::Object::DeprecatedObject](docs/DeprecatedObject.md) + - [WWW::OpenAPIClient::Object::DeprecatedModel](docs/DeprecatedModel.md) - [WWW::OpenAPIClient::Object::Dog](docs/Dog.md) - [WWW::OpenAPIClient::Object::EnumArrays](docs/EnumArrays.md) - [WWW::OpenAPIClient::Object::EnumClass](docs/EnumClass.md) diff --git a/samples/client/petstore/perl/docs/DeprecatedObject.md b/samples/client/petstore/perl/docs/DeprecatedModel.md similarity index 78% rename from samples/client/petstore/perl/docs/DeprecatedObject.md rename to samples/client/petstore/perl/docs/DeprecatedModel.md index 692432fcab1..9db2dfa060e 100644 --- a/samples/client/petstore/perl/docs/DeprecatedObject.md +++ b/samples/client/petstore/perl/docs/DeprecatedModel.md @@ -1,8 +1,8 @@ -# WWW::OpenAPIClient::Object::DeprecatedObject +# WWW::OpenAPIClient::Object::DeprecatedModel ## Load the model package ```perl -use WWW::OpenAPIClient::Object::DeprecatedObject; +use WWW::OpenAPIClient::Object::DeprecatedModel; ``` ## Properties diff --git a/samples/client/petstore/perl/docs/HealthCheckResult.md b/samples/client/petstore/perl/docs/HealthCheckResult.md index 5f0c43d5f3d..6f004a50428 100644 --- a/samples/client/petstore/perl/docs/HealthCheckResult.md +++ b/samples/client/petstore/perl/docs/HealthCheckResult.md @@ -8,7 +8,7 @@ use WWW::OpenAPIClient::Object::HealthCheckResult; ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**nullable_message** | **string** | | [optional] +**system_message** | **string** | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/client/petstore/perl/docs/ObjectWithDeprecatedFields.md b/samples/client/petstore/perl/docs/ObjectWithDeprecatedFields.md index 311d746a415..8caeb8c34e2 100644 --- a/samples/client/petstore/perl/docs/ObjectWithDeprecatedFields.md +++ b/samples/client/petstore/perl/docs/ObjectWithDeprecatedFields.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **uuid** | **string** | | [optional] **id** | **double** | | [optional] -**deprecated_ref** | [**DeprecatedObject**](DeprecatedObject.md) | | [optional] +**deprecated_ref** | [**DeprecatedModel**](DeprecatedModel.md) | | [optional] **bars** | **ARRAY[string]** | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DeprecatedObject.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DeprecatedModel.pm similarity index 98% rename from samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DeprecatedObject.pm rename to samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DeprecatedModel.pm index 590c2782fa1..89952e95b95 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DeprecatedObject.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/DeprecatedModel.pm @@ -17,7 +17,7 @@ Generated by: https://openapi-generator.tech # Do not edit the class manually. # Ref: https://openapi-generator.tech # -package WWW::OpenAPIClient::Object::DeprecatedObject; +package WWW::OpenAPIClient::Object::DeprecatedModel; require 5.6.0; use strict; @@ -214,7 +214,7 @@ sub _deserialize { __PACKAGE__->class_documentation({description => '', - class => 'DeprecatedObject', + class => 'DeprecatedModel', required => [], # TODO } ); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HealthCheckResult.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HealthCheckResult.pm index 8d95f204446..000598c457c 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HealthCheckResult.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/HealthCheckResult.pm @@ -219,7 +219,7 @@ __PACKAGE__->class_documentation({description => 'Just a string to inform instan } ); __PACKAGE__->method_documentation({ - 'nullable_message' => { + 'system_message' => { datatype => 'string', base_name => 'NullableMessage', description => '', @@ -229,11 +229,11 @@ __PACKAGE__->method_documentation({ }); __PACKAGE__->openapi_types( { - 'nullable_message' => 'string' + 'system_message' => 'string' } ); __PACKAGE__->attribute_map( { - 'nullable_message' => 'NullableMessage' + 'system_message' => 'NullableMessage' } ); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); diff --git a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ObjectWithDeprecatedFields.pm b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ObjectWithDeprecatedFields.pm index ce18bf6cb6a..61918ae1d1d 100644 --- a/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ObjectWithDeprecatedFields.pm +++ b/samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/ObjectWithDeprecatedFields.pm @@ -30,7 +30,7 @@ use Log::Any qw($log); use Date::Parse; use DateTime; -use WWW::OpenAPIClient::Object::DeprecatedObject; +use WWW::OpenAPIClient::Object::DeprecatedModel; use base ("Class::Accessor", "Class::Data::Inheritable"); @@ -235,7 +235,7 @@ __PACKAGE__->method_documentation({ read_only => '', }, 'deprecated_ref' => { - datatype => 'DeprecatedObject', + datatype => 'DeprecatedModel', base_name => 'deprecatedRef', description => '', format => '', @@ -253,7 +253,7 @@ __PACKAGE__->method_documentation({ __PACKAGE__->openapi_types( { 'uuid' => 'string', 'id' => 'double', - 'deprecated_ref' => 'DeprecatedObject', + 'deprecated_ref' => 'DeprecatedModel', 'bars' => 'ARRAY[string]' } ); diff --git a/samples/client/petstore/perl/t/DeprecatedObjectTest.t b/samples/client/petstore/perl/t/DeprecatedModelTest.t similarity index 75% rename from samples/client/petstore/perl/t/DeprecatedObjectTest.t rename to samples/client/petstore/perl/t/DeprecatedModelTest.t index 485a695b4bb..eae5d838bc9 100644 --- a/samples/client/petstore/perl/t/DeprecatedObjectTest.t +++ b/samples/client/petstore/perl/t/DeprecatedModelTest.t @@ -25,10 +25,10 @@ use strict; use warnings; -use_ok('WWW::OpenAPIClient::Object::DeprecatedObject'); +use_ok('WWW::OpenAPIClient::Object::DeprecatedModel'); # uncomment below and update the test -#my $instance = WWW::OpenAPIClient::Object::DeprecatedObject->new(); +#my $instance = WWW::OpenAPIClient::Object::DeprecatedModel->new(); # -#isa_ok($instance, 'WWW::OpenAPIClient::Object::DeprecatedObject'); +#isa_ok($instance, 'WWW::OpenAPIClient::Object::DeprecatedModel');