-
-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve camelization for words starting with acronym #18218
base: master
Are you sure you want to change the base?
Conversation
…ub.com/timcbaoth/openapi-generator into timcbaoth-improve-camlization-in-default-codegen
...rp-netcore/OpenAPIClient-generichost-net6.0-nrt/src/Org.OpenAPITools/Model/Capitalization.cs
Outdated
Show resolved
Hide resolved
result = result.substring(0, 1).toLowerCase(Locale.ROOT) + result.substring(1); | ||
if (Boolean.parseBoolean(System.getProperty("openapi.generator.fix.camelize"))) { | ||
// new behaviour with fix | ||
String[] splitString = name.split(nonNameElementPattern); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you change it to this so that it does not mutate the string in unintended ways? We just want to change casing, not strip whitespace.
String[] splitString = name.split(nonNameElementPattern, -1);
} | ||
|
||
String result = Arrays.stream(splitString) | ||
.map(StringUtils::capitalize) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why would we capitalize splitString[0] when we just used camelize with lower case first?
@@ -257,6 +258,13 @@ void configureGeneratorProperties() { | |||
System.out.println(SerializerUtils.toJsonString(openAPI)); | |||
} | |||
|
|||
// check to see if we need to apply camelize fix | |||
if (config.additionalProperties().containsKey("applyCamelizeFix")) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we think the new method is better, then we should make it enabled by default with an option to opt out and use the legacy method.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i want to let users to try it out first to see if we've other edge cases not yet handled.
plan to flip the switch in the upcoming v8.0.0 release.
…amlization-in-default-codegen
…amlization-in-default-codegen
--additional-properties applyCamelizeFix=true
in CLIPR checklist
Commit all changed files.
This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example
./bin/generate-samples.sh bin/configs/java*
.IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
master
(upcoming 7.1.0 minor release - breaking changes with fallbacks),8.0.x
(breaking changes without fallbacks)