Skip to content

Commit 8264ff0

Browse files
authored
spring-boot: fix sonar issues (#28099)
1 parent eb88652 commit 8264ff0

File tree

5 files changed

+70
-0
lines changed

5 files changed

+70
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { upperFirstCamelCase } from '../../../lib/utils/string.js';
2+
3+
export const applyDerivedProperty = <const Prop extends string, const Values extends string>(
4+
data: any,
5+
property: Prop,
6+
possibleValues: Values[],
7+
{ addAny, addNo, defaultValue = 'no' }: { addAny?: boolean; addNo?: boolean; defaultValue?: string } = {},
8+
) => {
9+
const actualValue = data[property] ?? defaultValue;
10+
for (const value of possibleValues) {
11+
const valueProterty = upperFirstCamelCase(value);
12+
data[`${property}${valueProterty}`] ??= actualValue === value;
13+
}
14+
if (addAny) {
15+
data[`${property}Any`] ??= possibleValues.includes(actualValue) && actualValue !== 'no';
16+
}
17+
if (addNo) {
18+
if (possibleValues.includes('no' as any)) {
19+
throw new Error('Possible values already include "no"');
20+
}
21+
data[`${property}No`] ??= actualValue === 'no';
22+
}
23+
};

generators/base/support/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export * from './basename.js';
2020
export * from './configuration-helpers/options.js';
2121
export * from '../../../lib/utils/object.js';
2222
export * from './contents.js';
23+
export * from './derived-property.js';
2324
export * from './faker.js';
2425
export { default as getHipster } from './hipster.js';
2526
export * from './jhipster7-context.js';

generators/bootstrap-application/generator.spec.ts

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,10 @@ describe(`generator - ${generator}`, () => {
327327
"generateFakeDataFromPattern": [Function],
328328
"id": true,
329329
"javaFieldType": "UUID",
330+
"javaFieldTypeInteger": false,
331+
"javaFieldTypeLong": false,
332+
"javaFieldTypeString": false,
333+
"javaFieldTypeUuid": true,
330334
"javaValueGenerator": "UUID.randomUUID()",
331335
"javaValueSample1": "UUID.fromString("23d8dc04-a48b-45d9-a01d-4b728f0ad4aa")",
332336
"javaValueSample2": "UUID.fromString("ad79f240-3727-46c3-b89f-2cf6ebd74367")",
@@ -427,6 +431,10 @@ describe(`generator - ${generator}`, () => {
427431
"generateFakeData": Any<Function>,
428432
"generateFakeDataFromPattern": [Function],
429433
"javaFieldType": "String",
434+
"javaFieldTypeInteger": false,
435+
"javaFieldTypeLong": false,
436+
"javaFieldTypeString": true,
437+
"javaFieldTypeUuid": false,
430438
"javaValueGenerator": "UUID.randomUUID().toString()",
431439
"javaValueSample1": ""login1"",
432440
"javaValueSample2": ""login2"",
@@ -519,6 +527,10 @@ describe(`generator - ${generator}`, () => {
519527
"generateFakeData": Any<Function>,
520528
"generateFakeDataFromPattern": [Function],
521529
"javaFieldType": "String",
530+
"javaFieldTypeInteger": false,
531+
"javaFieldTypeLong": false,
532+
"javaFieldTypeString": true,
533+
"javaFieldTypeUuid": false,
522534
"javaValueGenerator": "UUID.randomUUID().toString()",
523535
"javaValueSample1": ""firstName1"",
524536
"javaValueSample2": ""firstName2"",
@@ -605,6 +617,10 @@ describe(`generator - ${generator}`, () => {
605617
"generateFakeData": Any<Function>,
606618
"generateFakeDataFromPattern": [Function],
607619
"javaFieldType": "String",
620+
"javaFieldTypeInteger": false,
621+
"javaFieldTypeLong": false,
622+
"javaFieldTypeString": true,
623+
"javaFieldTypeUuid": false,
608624
"javaValueGenerator": "UUID.randomUUID().toString()",
609625
"javaValueSample1": ""lastName1"",
610626
"javaValueSample2": ""lastName2"",
@@ -695,6 +711,10 @@ describe(`generator - ${generator}`, () => {
695711
"generateFakeData": Any<Function>,
696712
"generateFakeDataFromPattern": [Function],
697713
"javaFieldType": "String",
714+
"javaFieldTypeInteger": false,
715+
"javaFieldTypeLong": false,
716+
"javaFieldTypeString": true,
717+
"javaFieldTypeUuid": false,
698718
"javaValueGenerator": "UUID.randomUUID().toString()",
699719
"javaValueSample1": ""email1"",
700720
"javaValueSample2": ""email2"",
@@ -782,6 +802,10 @@ describe(`generator - ${generator}`, () => {
782802
"generateFakeData": Any<Function>,
783803
"generateFakeDataFromPattern": [Function],
784804
"javaFieldType": "String",
805+
"javaFieldTypeInteger": false,
806+
"javaFieldTypeLong": false,
807+
"javaFieldTypeString": true,
808+
"javaFieldTypeUuid": false,
785809
"javaValueGenerator": "UUID.randomUUID().toString()",
786810
"javaValueSample1": ""imageUrl1"",
787811
"javaValueSample2": ""imageUrl2"",
@@ -865,6 +889,10 @@ describe(`generator - ${generator}`, () => {
865889
"generateFakeData": Any<Function>,
866890
"generateFakeDataFromPattern": [Function],
867891
"javaFieldType": "Boolean",
892+
"javaFieldTypeInteger": false,
893+
"javaFieldTypeLong": false,
894+
"javaFieldTypeString": false,
895+
"javaFieldTypeUuid": false,
868896
"liquibaseDefaultValueAttributeName": undefined,
869897
"liquibaseDefaultValueAttributeValue": undefined,
870898
"liquibaseGenerateFakeData": true,
@@ -947,6 +975,10 @@ describe(`generator - ${generator}`, () => {
947975
"generateFakeData": Any<Function>,
948976
"generateFakeDataFromPattern": [Function],
949977
"javaFieldType": "String",
978+
"javaFieldTypeInteger": false,
979+
"javaFieldTypeLong": false,
980+
"javaFieldTypeString": true,
981+
"javaFieldTypeUuid": false,
950982
"javaValueGenerator": "UUID.randomUUID().toString()",
951983
"javaValueSample1": ""langKey1"",
952984
"javaValueSample2": ""langKey2"",
@@ -1261,6 +1293,10 @@ describe(`generator - ${generator}`, () => {
12611293
"generateFakeDataFromPattern": [Function],
12621294
"id": true,
12631295
"javaFieldType": "UUID",
1296+
"javaFieldTypeInteger": false,
1297+
"javaFieldTypeLong": false,
1298+
"javaFieldTypeString": false,
1299+
"javaFieldTypeUuid": true,
12641300
"javaValueGenerator": "UUID.randomUUID()",
12651301
"javaValueSample1": "UUID.fromString("23d8dc04-a48b-45d9-a01d-4b728f0ad4aa")",
12661302
"javaValueSample2": "UUID.fromString("ad79f240-3727-46c3-b89f-2cf6ebd74367")",
@@ -1632,6 +1668,10 @@ describe(`generator - ${generator}`, () => {
16321668
"generateFakeDataFromPattern": [Function],
16331669
"id": true,
16341670
"javaFieldType": "UUID",
1671+
"javaFieldTypeInteger": false,
1672+
"javaFieldTypeLong": false,
1673+
"javaFieldTypeString": false,
1674+
"javaFieldTypeUuid": true,
16351675
"javaValueGenerator": "UUID.randomUUID()",
16361676
"javaValueSample1": "UUID.fromString("23d8dc04-a48b-45d9-a01d-4b728f0ad4aa")",
16371677
"javaValueSample2": "UUID.fromString("ad79f240-3727-46c3-b89f-2cf6ebd74367")",

generators/server/support/prepare-field.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import { databaseTypes, entityOptions, fieldTypes, reservedKeywords } from '../.
2323
import { formatDocAsApiDescription, formatDocAsJavaDoc } from '../../java/support/doc.js';
2424
import { mutateData } from '../../../lib/utils/object.js';
2525
import type { Field } from '../../../lib/types/application/field.js';
26+
import { applyDerivedProperty } from '../../base/support/index.js';
2627
import { getUXConstraintName } from './database.js';
2728
import { getJavaValueGeneratorForType } from './templates/field-values.js';
2829

@@ -152,6 +153,7 @@ export default function prepareField(entityWithConfig, field: Field & any, gener
152153
} else {
153154
field.javaFieldType = field.fieldType;
154155
}
156+
applyDerivedProperty(field, 'javaFieldType', ['String', 'Integer', 'Long', 'UUID']);
155157

156158
if (field.fieldTypeInteger || field.fieldTypeLong || field.fieldTypeString || field.fieldTypeUUID) {
157159
if (field.fieldTypeInteger) {

generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -992,6 +992,7 @@ _%>
992992
if (field.fieldTypeZonedDateTime) { %>)<% } else
993993
if (
994994
!field.fieldTypeString &&
995+
!field.javaFieldTypeString &&
995996
!field.fieldTypeBoolean &&
996997
!field.fieldTypeInteger &&
997998
!field.fieldTypeDouble
@@ -1082,6 +1083,7 @@ _%>
10821083
if (field.fieldTypeZonedDateTime) { %>)<% } else
10831084
if (
10841085
!field.fieldTypeString &&
1086+
!field.javaFieldTypeString &&
10851087
!field.fieldTypeBoolean &&
10861088
!field.fieldTypeInteger &&
10871089
!field.fieldTypeDouble
@@ -1325,6 +1327,7 @@ _%>
13251327
if (field.fieldTypeZonedDateTime) { %>)<% } else
13261328
if (
13271329
!field.fieldTypeString &&
1330+
!field.javaFieldTypeString &&
13281331
!field.fieldTypeBoolean &&
13291332
!field.fieldTypeInteger &&
13301333
!field.fieldTypeDouble
@@ -1371,6 +1374,7 @@ _%>
13711374
if (field.fieldTypeZonedDateTime) { %>)<% } else
13721375
if (
13731376
!field.fieldTypeString &&
1377+
!field.javaFieldTypeString &&
13741378
!field.fieldTypeBoolean &&
13751379
!field.fieldTypeInteger &&
13761380
!field.fieldTypeDouble

0 commit comments

Comments
 (0)