Skip to content

Commit f0e1a74

Browse files
committed
Revert Microfile (still using extends HashMap)
1 parent b50b13b commit f0e1a74

File tree

13 files changed

+110
-32
lines changed

13 files changed

+110
-32
lines changed

modules/openapi-generator/src/main/resources/Java/libraries/feign/pojo.mustache

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,8 +265,10 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
265265
return {{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}equalsNullable(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}} &&
266266
{{/-last}}{{/vars}}{{#additionalPropertiesType}} &&
267267
Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{/additionalPropertiesType}}{{#parent}} &&
268-
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}
269-
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/hasVars}}
268+
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}{{#additionalPropertiesType}}
269+
{{classname}} {{classVarName}} = ({{classname}}) o;
270+
return Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{#parent}} && super.equals(o){{/parent}};{{/additionalPropertiesType}}{{^additionalPropertiesType}}
271+
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/additionalPropertiesType}}{{/hasVars}}
270272
{{/useReflectionEqualsHashCode}}
271273
}{{#vendorExtensions.x-jackson-optional-nullable-helpers}}
272274

modules/openapi-generator/src/main/resources/Java/libraries/jersey2/pojo.mustache

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,8 +285,10 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
285285
return {{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}equalsNullable(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}} &&
286286
{{/-last}}{{/vars}}{{#additionalPropertiesType}}&&
287287
Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{/additionalPropertiesType}}{{#parent}} &&
288-
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}
289-
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/hasVars}}
288+
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}{{#additionalPropertiesType}}
289+
{{classname}} {{classVarName}} = ({{classname}}) o;
290+
return Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{#parent}} && super.equals(o){{/parent}};{{/additionalPropertiesType}}{{^additionalPropertiesType}}
291+
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/additionalPropertiesType}}{{/hasVars}}
290292
{{/useReflectionEqualsHashCode}}
291293
}{{#vendorExtensions.x-jackson-optional-nullable-helpers}}
292294

modules/openapi-generator/src/main/resources/Java/libraries/jersey3/pojo.mustache

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,8 +285,10 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
285285
return {{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}equalsNullable(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}} &&
286286
{{/-last}}{{/vars}}{{#additionalPropertiesType}}&&
287287
Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{/additionalPropertiesType}}{{#parent}} &&
288-
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}
289-
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/hasVars}}
288+
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}{{#additionalPropertiesType}}
289+
{{classname}} {{classVarName}} = ({{classname}}) o;
290+
return Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{#parent}} && super.equals(o){{/parent}};{{/additionalPropertiesType}}{{^additionalPropertiesType}}
291+
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/additionalPropertiesType}}{{/hasVars}}
290292
{{/useReflectionEqualsHashCode}}
291293
}{{#vendorExtensions.x-jackson-optional-nullable-helpers}}
292294

modules/openapi-generator/src/main/resources/Java/libraries/microprofile/pojoOverrides.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
return HashCodeBuilder.reflectionHashCode(this);
2929
{{/useReflectionEqualsHashCode}}
3030
{{^useReflectionEqualsHashCode}}
31-
return Objects.hash({{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}hashCodeNullable({{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{^isByteArray}}{{name}}{{/isByteArray}}{{#isByteArray}}Arrays.hashCode({{name}}){{/isByteArray}}{{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}}, {{/-last}}{{/vars}}{{#parent}}{{#hasVars}}, {{/hasVars}}super.hashCode(){{/parent}}{{#additionalPropertiesType}}{{#hasVars}}, {{/hasVars}}{{^hasVars}}{{#parent}}, {{/parent}}{{/hasVars}}additionalProperties{{/additionalPropertiesType}});
31+
return Objects.hash({{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}hashCodeNullable({{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{^isByteArray}}{{name}}{{/isByteArray}}{{#isByteArray}}Arrays.hashCode({{name}}){{/isByteArray}}{{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}}, {{/-last}}{{/vars}}{{#parent}}{{#hasVars}}, {{/hasVars}}super.hashCode(){{/parent}});
3232
{{/useReflectionEqualsHashCode}}
3333
}{{#vendorExtensions.x-jackson-optional-nullable-helpers}}
3434

modules/openapi-generator/src/main/resources/Java/libraries/native/pojo.mustache

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,8 +289,10 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
289289
return {{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}equalsNullable(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}} &&
290290
{{/-last}}{{/vars}}{{#additionalPropertiesType}}&&
291291
Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{/additionalPropertiesType}}{{#parent}} &&
292-
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}
293-
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/hasVars}}
292+
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}{{#additionalPropertiesType}}
293+
{{classname}} {{classVarName}} = ({{classname}}) o;
294+
return Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{#parent}} && super.equals(o){{/parent}};{{/additionalPropertiesType}}{{^additionalPropertiesType}}
295+
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/additionalPropertiesType}}{{/hasVars}}
294296
{{/useReflectionEqualsHashCode}}
295297
}{{#vendorExtensions.x-jackson-optional-nullable-helpers}}
296298

modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/pojo.mustache

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,10 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
203203
return {{#vars}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{name}}, {{classVarName}}.{{name}}){{^-last}} &&
204204
{{/-last}}{{/vars}}{{#isAdditionalPropertiesTrue}}&&
205205
Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{/isAdditionalPropertiesTrue}}{{#parent}} &&
206-
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}
207-
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/hasVars}}
206+
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}{{#additionalPropertiesType}}
207+
{{classname}} {{classVarName}} = ({{classname}}) o;
208+
return Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{#parent}} && super.equals(o){{/parent}};{{/additionalPropertiesType}}{{^additionalPropertiesType}}
209+
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/additionalPropertiesType}}{{/hasVars}}
208210
{{/useReflectionEqualsHashCode}}
209211
}{{#vendorExtensions.x-jackson-optional-nullable-helpers}}
210212

modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/pojo.mustache

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -306,8 +306,10 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
306306
return {{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}equalsNullable(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}} &&
307307
{{/-last}}{{/vars}}{{#additionalPropertiesType}} &&
308308
Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{/additionalPropertiesType}}{{#parent}} &&
309-
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}
310-
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/hasVars}}
309+
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}{{#additionalPropertiesType}}
310+
{{classname}} {{classVarName}} = ({{classname}}) o;
311+
return Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{#parent}} && super.equals(o){{/parent}};{{/additionalPropertiesType}}{{^additionalPropertiesType}}
312+
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/additionalPropertiesType}}{{/hasVars}}
311313
{{/useReflectionEqualsHashCode}}
312314
}{{#vendorExtensions.x-jackson-optional-nullable-helpers}}
313315

modules/openapi-generator/src/main/resources/Java/pojo.mustache

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,8 +304,10 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
304304
{{classname}} {{classVarName}} = ({{classname}}) o;
305305
return {{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}equalsNullable(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}} &&
306306
{{/-last}}{{/vars}}{{#parent}} &&
307-
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}
308-
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/hasVars}}
307+
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}{{#additionalPropertiesType}}
308+
{{classname}} {{classVarName}} = ({{classname}}) o;
309+
return Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{#parent}} && super.equals(o){{/parent}};{{/additionalPropertiesType}}{{^additionalPropertiesType}}
310+
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/additionalPropertiesType}}{{/hasVars}}
309311
{{/useReflectionEqualsHashCode}}
310312
}{{#vendorExtensions.x-jackson-optional-nullable-helpers}}
311313

modules/openapi-generator/src/main/resources/JavaSpring/pojo.mustache

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,8 +318,10 @@ public {{>sealed}}class {{classname}}{{#parent}} extends {{{parent}}}{{/parent}}
318318
return {{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}equalsNullable(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}} &&
319319
{{/-last}}{{/vars}}{{#additionalPropertiesType}} &&
320320
Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{/additionalPropertiesType}}{{#parent}} &&
321-
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}
322-
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/hasVars}}
321+
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}{{#additionalPropertiesType}}
322+
{{classname}} {{classVarName}} = ({{classname}}) o;
323+
return Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{#parent}} && super.equals(o){{/parent}};{{/additionalPropertiesType}}{{^additionalPropertiesType}}
324+
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/additionalPropertiesType}}{{/hasVars}}
323325
}{{#vendorExtensions.x-jackson-optional-nullable-helpers}}
324326

325327
private static <T> boolean equalsNullable(JsonNullable<T> a, JsonNullable<T> b) {

modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3481,18 +3481,18 @@ public void testEnumWithImplements() {
34813481
@DataProvider(name = "javaClientLibrariesForHashCodeTest")
34823482
public Object[][] javaClientLibraries() {
34833483
return new Object[][] {
3484-
{JavaClientCodegen.RESTTEMPLATE, "Objects.hash(additionalProperties)" },
3485-
{JavaClientCodegen.NATIVE, "Objects.hash(super.hashCode(), additionalProperties)"},
3486-
{JavaClientCodegen.OKHTTP_GSON, "Objects.hash(additionalProperties)" },
3487-
{JavaClientCodegen.MICROPROFILE, "Objects.hash(super.hashCode(), additionalProperties)" },
3488-
{JavaClientCodegen.JERSEY2, "Objects.hash(additionalProperties)" },
3489-
{JavaClientCodegen.JERSEY3, "Objects.hash(additionalProperties)" },
3490-
{JavaClientCodegen.FEIGN, "Objects.hash(additionalProperties)" },
3484+
{JavaClientCodegen.RESTTEMPLATE, "Objects.hash(additionalProperties)", "Objects.hash(name, additionalProperties)" },
3485+
{JavaClientCodegen.NATIVE, "Objects.hash(super.hashCode(), additionalProperties)", "Objects.hash(name, super.hashCode(), additionalProperties)" },
3486+
{JavaClientCodegen.OKHTTP_GSON, "Objects.hash(additionalProperties)", "Objects.hash(name, additionalProperties)" },
3487+
{JavaClientCodegen.JERSEY2, "Objects.hash(additionalProperties)", "Objects.hash(name, additionalProperties)" },
3488+
{JavaClientCodegen.JERSEY3, "Objects.hash(additionalProperties)", "Objects.hash(name, additionalProperties)" },
3489+
{JavaClientCodegen.FEIGN, "Objects.hash(additionalProperties)", "Objects.hash(name, additionalProperties)" },
3490+
{JavaClientCodegen.WEBCLIENT, "Objects.hash(additionalProperties)", "Objects.hash(name, additionalProperties)" },
34913491
};
34923492
}
34933493

34943494
@Test(dataProvider = "javaClientLibrariesForHashCodeTest")
3495-
public void testAdditionalPropertiesWithGnerateAliasAsModelGenerateCorrectHashCode(String library, String hashCode) {
3495+
public void testAdditionalPropertiesWithGenerateAliasAsModelGeneratesCorrectHashCode(String library, String hashCode, String hashCodeWithName) {
34963496
final Path output = newTempFolder();
34973497
final CodegenConfigurator configurator = new CodegenConfigurator()
34983498
.setGeneratorName("java")
@@ -3504,6 +3504,15 @@ public void testAdditionalPropertiesWithGnerateAliasAsModelGenerateCorrectHashCo
35043504
Map<String, File> files = new DefaultGenerator().opts(configurator.toClientOptInput()).generate()
35053505
.stream().collect(Collectors.toMap(File::getName, Function.identity()));
35063506

3507-
JavaFileAssert.assertThat(files.get("SampleObject.java")).fileContains(hashCode);
3507+
JavaFileAssert.assertThat(files.get("AdditionalPropertiesOnlyTypeObject.java")).fileContains(hashCode);
3508+
JavaFileAssert.assertThat(files.get("AdditionalPropertiesOnlyTypeString.java")).fileContains(hashCode);
3509+
JavaFileAssert.assertThat(files.get("AdditionalPropertiesOnlyTrue.java")).fileContains(hashCode);
3510+
JavaFileAssert.assertThat(files.get("AdditionalPropertiesTypeObject.java")).fileContains(hashCodeWithName);
3511+
JavaFileAssert.assertThat(files.get("AdditionalPropertiesTypeString.java")).fileContains(hashCodeWithName);
3512+
JavaFileAssert.assertThat(files.get("AdditionalPropertiesTrue.java")).fileContains(hashCodeWithName);
3513+
3514+
JavaFileAssert.assertThat(files.get("AdditionalPropertiesOnlyTypeString.java")).fileContains(
3515+
"AdditionalPropertiesOnlyTypeString additionalPropertiesOnlyTypeString = (AdditionalPropertiesOnlyTypeString) o;",
3516+
"return Objects.equals(this.additionalProperties, additionalPropertiesOnlyTypeString.additionalProperties)");
35083517
}
35093518
}

0 commit comments

Comments
 (0)