Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/polite-dingos-follow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@openapi-generator-plus/java-jaxrs-generator-common": minor
---

Fix byte array comparison and improve use of Lombok code generation in POJOs.
5 changes: 5 additions & 0 deletions packages/java-jaxrs-common/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -608,6 +608,11 @@ export default function createGenerator(config: CodegenConfig, context: JavaGene
}
})
hbs.registerHelper('setter', function(property: CodegenProperty) {
const isPrimitiveBool = property.schema.schemaType === CodegenSchemaType.BOOLEAN && property.required && !property.nullable
if (generatorOptions.useLombok && isPrimitiveBool) {
const identifier = context.generator().toIdentifier(property.name).replace(/^is(?=[A-Z])/, '')
return `set${capitalize(identifier)}`
}
return `set${capitalize(context.generator().toIdentifier(property.name))}`
})
hbs.registerHelper('escapeString', function(value: string) {
Expand Down
4 changes: 2 additions & 2 deletions packages/java-jaxrs-common/templates/frag/pojoProperty.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
{{>frag/propertyStatusAnnotations}}
public {{{chainClassName}}} {{identifier name}}({{{nativeType}}} {{identifier name}}) {
{{#if nullable}}
set{{capitalize (identifier name)}}({{identifier name}} != null ? java.util.Optional.of({{identifier name}}) : java.util.Optional.empty());
{{setter .}}({{identifier name}} != null ? java.util.Optional.of({{identifier name}}) : java.util.Optional.empty());
{{else}}
set{{capitalize (identifier name)}}({{identifier name}});
{{setter .}}({{identifier name}});
{{/if}}
return this;
}
Expand Down
6 changes: 4 additions & 2 deletions packages/java-jaxrs-common/templates/frag/pojoUtilities.hbs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{{#unless @root.useLombok}}
@java.lang.Override
public boolean equals(java.lang.Object o) {
if (this == o) {
Expand All @@ -13,10 +14,10 @@ public boolean equals(java.lang.Object o) {
{{/if}}
{{#if (isWrapper)}}
{{className name}} {{identifier name}} = ({{className name}}) o;
return java.util.Objects.equals(this.{{identifier property.name}}, {{identifier name}}.{{identifier property.name}});
return {{#if (isBinary)}}java.util.Arrays.equals{{else if (isFile)}}java.util.Arrays.equals{{else}}java.util.Objects.equals{{/if}}(this.{{identifier property.name}}, {{identifier name}}.{{identifier property.name}});
{{else if properties}}
{{className name}} {{identifier name}} = ({{className name}}) o;
return {{#each properties}}java.util.Objects.equals(this.{{identifier name}}, {{identifier ../name}}.{{identifier name}}){{#hasMore}}
return {{#each properties}}{{#if (isBinary)}}java.util.Arrays.equals{{else if (isFile)}}java.util.Arrays.equals{{else}}java.util.Objects.equals{{/if}}(this.{{identifier name}}, {{identifier ../name}}.{{identifier name}}){{#hasMore}}
&& {{/hasMore}}{{/each}};
{{else}}
return true;
Expand All @@ -27,6 +28,7 @@ public boolean equals(java.lang.Object o) {
public int hashCode() {
return {{#if parents}}31 * super.hashCode() + {{/if}}java.util.Objects.hash({{#if (isWrapper)}}this.{{identifier property.name}}{{else}}{{#each properties}}this.{{identifier name}}{{#hasMore}}, {{/hasMore}}{{/each}}{{/if}});
}
{{/unless}}

@java.lang.Override
public java.lang.String toString() {
Expand Down
3 changes: 3 additions & 0 deletions packages/java-jaxrs-common/templates/pojo.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ package {{modelPackage}};
{{>frag/pojoDocumentation}}
{{>generatedAnnotation}}
{{>frag/pojoHeader}}
{{#if @root.useLombok}}
@lombok.EqualsAndHashCode{{#if parents}}(callSuper = false){{/if}}
{{/if}}
public {{#if abstract}}abstract {{/if}}class {{className name}}{{#if parents}} extends {{#each parents}}{{{nativeType.concreteType}}}{{/each}}{{/if}} {{>frag/pojoImplements class=nativeType.nativeType}}{

{{>pojoContents}}
Expand Down
3 changes: 3 additions & 0 deletions packages/java-jaxrs-common/templates/pojoNested.hbs
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
{{>frag/pojoDocumentation}}
{{>frag/pojoHeader}}
{{#if @root.useLombok}}
@lombok.EqualsAndHashCode{{#if parents}}(callSuper = false){{/if}}
{{/if}}
public static {{#if abstract}}abstract {{/if}}class {{className name}}{{#if parents}} extends {{#each parents}}{{{nativeType.concreteType}}}{{/each}}{{/if}} {{>frag/pojoImplements class=nativeType.nativeType}}{

{{>pojoContents}}
Expand Down