generator-jhipster 8.4.0 → 8.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/dist/generators/angular/resources/package.json +10 -10
  2. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +2 -2
  3. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +3 -6
  4. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +2 -2
  5. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +3 -6
  6. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +3 -6
  7. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +11 -11
  8. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +0 -2
  9. package/dist/generators/angular/templates/src/main/webapp/app/core/auth/user-route-access.service.ts.ejs +1 -1
  10. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +0 -3
  11. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +2 -2
  12. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +2 -2
  13. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +3 -3
  14. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.ts.ejs +11 -17
  15. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/active-menu.directive.ts.ejs +3 -3
  16. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +2 -2
  17. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +3 -4
  18. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +2 -2
  19. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +10 -8
  20. package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.ts.ejs +3 -8
  21. package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +6 -2
  22. package/dist/generators/app/generator.js +4 -13
  23. package/dist/generators/base/generator.js +15 -16
  24. package/dist/generators/base/priorities.js +12 -1
  25. package/dist/generators/base-application/generator.js +14 -2
  26. package/dist/generators/base-application/priorities.js +1 -0
  27. package/dist/generators/base-application/support/prepare-entity.js +7 -8
  28. package/dist/generators/base-application/support/prepare-relationship.js +3 -2
  29. package/dist/generators/base-core/generator.js +40 -9
  30. package/dist/generators/bootstrap-application-base/generator.js +7 -3
  31. package/dist/generators/bootstrap-application-server/generator.js +1 -0
  32. package/dist/generators/client/command.js +2 -2
  33. package/dist/generators/client/generators/common/command.js +5 -0
  34. package/dist/generators/client/generators/common/generator.js +79 -0
  35. package/dist/generators/client/generators/common/index.js +20 -0
  36. package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/headers.ts.ejs +57 -0
  37. package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/problem-details.ts.ejs +51 -0
  38. package/dist/generators/client/resources/package.json +4 -4
  39. package/dist/generators/common/generator.js +5 -0
  40. package/dist/generators/common/resources/package.json +2 -2
  41. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/login-page.cy.ts.ejs +4 -4
  42. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/password-page.cy.ts.ejs +2 -2
  43. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/register-page.cy.ts.ejs +1 -1
  44. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/reset-password-page.cy.ts.ejs +1 -1
  45. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/entity/_entity_.cy.ts.ejs +10 -10
  46. package/dist/generators/docker/templates/docker/mysql.yml.ejs +1 -1
  47. package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +14 -3
  48. package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +14 -3
  49. package/dist/generators/entity/generator.js +2 -10
  50. package/dist/generators/entity/prompts.js +6 -11
  51. package/dist/generators/gatling/README.md +15 -0
  52. package/dist/generators/gatling/templates/src/test/java/gatling/simulations/_entityClass_GatlingTest.java.ejs +2 -10
  53. package/dist/generators/generate-blueprint/command.js +16 -0
  54. package/dist/generators/generate-blueprint/files.js +8 -0
  55. package/dist/generators/generate-blueprint/generator.js +17 -10
  56. package/dist/generators/generate-blueprint/resources/package.json +1 -1
  57. package/dist/generators/generate-blueprint/templates/.blueprint/cli/commands.mjs.ejs +6 -0
  58. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +20 -0
  59. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +9 -13
  60. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/build-matrix.mjs.ejs +22 -0
  61. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/generator.mjs.ejs +24 -0
  62. package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/index.mjs.ejs +1 -0
  63. package/dist/generators/generate-blueprint/templates/.eslintrc.json.ejs +2 -2
  64. package/dist/generators/generate-blueprint/templates/README.md.ejs +16 -8
  65. package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +1 -0
  66. package/dist/generators/generator-constants.js +1 -1
  67. package/dist/generators/info/generator.js +1 -3
  68. package/dist/generators/init/generator.js +2 -2
  69. package/dist/generators/init/resources/.node-version +1 -1
  70. package/dist/generators/java/generators/build-tool/command.js +4 -1
  71. package/dist/generators/java/generators/domain/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +1 -5
  72. package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Asserts.java.ejs +3 -3
  73. package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +3 -3
  74. package/dist/generators/java/support/add-java-annotation.js +28 -7
  75. package/dist/generators/java/support/generated-annotation-transform.js +1 -1
  76. package/dist/generators/java/support/index.js +1 -1
  77. package/dist/generators/jdl/generator.js +1 -1
  78. package/dist/generators/kubernetes/files.js +1 -1
  79. package/dist/generators/kubernetes/templates/db/mysql.yml.ejs +0 -1
  80. package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +14 -3
  81. package/dist/generators/languages/generator.js +4 -2
  82. package/dist/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +2 -2
  83. package/dist/generators/maven/templates/mvnw +185 -243
  84. package/dist/generators/maven/templates/mvnw.cmd +121 -180
  85. package/dist/generators/react/generator.js +10 -0
  86. package/dist/generators/react/resources/package.json +24 -24
  87. package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.spec.ts.ejs +1 -1
  88. package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.ts.ejs +1 -1
  89. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.spec.ts.ejs +1 -1
  90. package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.ts.ejs +80 -87
  91. package/dist/generators/react/templates/src/main/webapp/app/config/store.ts.ejs +1 -1
  92. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.tsx.ejs +3 -3
  93. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +12 -7
  94. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/reducer.utils.ts.ejs +2 -3
  95. package/dist/generators/server/command.js +0 -11
  96. package/dist/generators/server/generator.js +9 -70
  97. package/dist/generators/server/jdl/application-definition.js +3 -1
  98. package/dist/generators/server/resources/Dockerfile +12 -12
  99. package/dist/generators/server/resources/gradle/libs.versions.toml +7 -5
  100. package/dist/generators/server/resources/pom.xml +7 -7
  101. package/dist/generators/server/support/config.js +4 -8
  102. package/dist/generators/server/support/prepare-entity.js +5 -6
  103. package/dist/generators/server/support/relationship.js +5 -2
  104. package/dist/generators/server/templates/build.gradle.ejs +5 -3
  105. package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +1 -0
  106. package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +1 -0
  107. package/dist/generators/server/templates/gradle.properties.ejs +1 -1
  108. package/dist/generators/server/templates/pom.xml.ejs +7 -5
  109. package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/dto/_dtoClass_.java.ejs +1 -1
  110. package/dist/generators/server/templates/src/main/java/_package_/config/Constants.java.ejs +0 -2
  111. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +1 -18
  112. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +1 -15
  113. package/dist/generators/server/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +0 -20
  114. package/dist/generators/server/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +65 -5
  115. package/dist/generators/server/templates/src/main/java/_package_/service/dto/UserDTO.java.ejs +23 -0
  116. package/dist/generators/server/templates/src/main/java/_package_/service/mapper/UserMapper.java.ejs +8 -4
  117. package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +43 -9
  118. package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +59 -21
  119. package/dist/generators/server/templates/src/main/resources/swagger/api.yml.ejs +1 -1
  120. package/dist/generators/server/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +31 -13
  121. package/dist/generators/server/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +84 -17
  122. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +62 -6
  123. package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +22 -0
  124. package/dist/generators/server/templates/src/test/resources/config/application.yml.ejs +20 -10
  125. package/dist/generators/spring-boot/command.js +117 -6
  126. package/dist/generators/spring-boot/files.js +0 -5
  127. package/dist/generators/spring-boot/generator.js +40 -7
  128. package/dist/generators/spring-boot/prompts.js +6 -70
  129. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +368 -576
  130. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/UserServiceIT.java.ejs +47 -11
  131. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/PublicUserResourceIT.java.ejs +60 -24
  132. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/UserResourceIT.java.ejs +195 -318
  133. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +58 -51
  134. package/dist/generators/spring-cache/internal/dependencies.js +2 -2
  135. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
  136. package/dist/generators/spring-cloud/generators/gateway/command.js +5 -1
  137. package/dist/generators/spring-cloud/generators/gateway/generator.js +13 -0
  138. package/dist/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.js +6 -0
  139. package/dist/generators/spring-data-cassandra/generator.js +2 -2
  140. package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +3 -1
  141. package/dist/generators/vue/resources/package.json +15 -15
  142. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.spec.ts.ejs +1 -1
  143. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.vue.ejs +1 -1
  144. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.vue.ejs +1 -1
  145. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.vue.ejs +1 -1
  146. package/dist/generators/vue/templates/src/main/webapp/app/shared/alert/alert.service.spec.ts.ejs +8 -8
  147. package/dist/generators/vue/templates/src/main/webapp/app/shared/data/data-utils.service.spec.ts.ejs +1 -1
  148. package/dist/generators/vue/templates/tsconfig.app.json.ejs +1 -1
  149. package/dist/generators/vue/templates/vite.config.mts.ejs +5 -4
  150. package/dist/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.js +1 -1
  151. package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +4 -4
  152. package/dist/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.js +9 -9
  153. package/dist/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.js +2 -2
  154. package/dist/jdl/converters/json-to-jdl-application-converter.js +1 -1
  155. package/dist/jdl/converters/json-to-jdl-converter.js +6 -5
  156. package/dist/jdl/converters/json-to-jdl-entity-converter.js +14 -14
  157. package/dist/jdl/converters/json-to-jdl-option-converter.js +1 -2
  158. package/dist/jdl/converters/parsed-jdl-to-jdl-object/application-converter.js +1 -1
  159. package/dist/jdl/converters/parsed-jdl-to-jdl-object/option-converter.js +2 -2
  160. package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +7 -6
  161. package/dist/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.js +1 -1
  162. package/dist/jdl/exporters/applications/jhipster-application-formatter.js +16 -23
  163. package/dist/jdl/exporters/config.js +1 -0
  164. package/dist/jdl/exporters/jhipster-deployment-exporter.js +5 -5
  165. package/dist/jdl/exporters/jhipster-entity-exporter.js +1 -1
  166. package/dist/jdl/jdl-importer.js +22 -20
  167. package/dist/jdl/jhipster/binary-options.js +12 -8
  168. package/dist/jdl/jhipster/json-entity.js +1 -1
  169. package/dist/jdl/models/abstract-jdl-option.js +2 -2
  170. package/dist/jdl/models/jdl-application-configuration-factory.js +2 -0
  171. package/dist/jdl/models/jdl-binary-option.js +2 -2
  172. package/dist/jdl/models/jdl-deployment.js +11 -0
  173. package/dist/jdl/models/jdl-entity.js +1 -1
  174. package/dist/jdl/models/jdl-enum.js +1 -1
  175. package/dist/jdl/models/jdl-enums.js +0 -18
  176. package/dist/jdl/models/jdl-field.js +2 -2
  177. package/dist/jdl/models/jdl-object-wrapper.js +1 -0
  178. package/dist/jdl/models/jdl-object.js +23 -45
  179. package/dist/jdl/models/jdl-options.js +0 -18
  180. package/dist/jdl/models/jdl-relationships.js +8 -16
  181. package/dist/jdl/models/jdl-unary-option.js +1 -1
  182. package/dist/jdl/models/list-jdl-application-configuration-option.js +5 -2
  183. package/dist/jdl/parsing/jdl-ast-builder-visitor.js +12 -0
  184. package/dist/jdl/parsing/jdl-parser.js +14 -0
  185. package/dist/jdl/parsing/lexer/lexer.js +17 -11
  186. package/dist/jdl/parsing/validator.js +16 -2
  187. package/dist/jdl/readers/json-reader.js +1 -1
  188. package/dist/jdl/utils/array-utils.js +6 -0
  189. package/dist/jdl/utils/set-utils.js +3 -2
  190. package/dist/jdl/validators/jdl-without-application-validator.js +2 -2
  191. package/dist/testing/helpers.js +4 -0
  192. package/dist/types/generators/base/api.d.ts +5 -1
  193. package/dist/types/generators/base/generator.d.ts +10 -4
  194. package/dist/types/generators/base/priorities.d.ts +4 -0
  195. package/dist/types/generators/base/shared-data.d.ts +1 -1
  196. package/dist/types/generators/base-application/priorities.d.ts +2 -0
  197. package/dist/types/generators/base-application/support/entity.d.ts +2 -2
  198. package/dist/types/generators/base-application/support/prepare-entity.d.ts +3 -3
  199. package/dist/types/generators/base-application/support/relationship.d.ts +5 -5
  200. package/dist/types/generators/base-core/generator.d.ts +16 -1
  201. package/dist/types/generators/generator-constants.d.ts +1 -1
  202. package/dist/types/generators/java/support/add-java-annotation.d.ts +10 -20
  203. package/dist/types/generators/java/support/doc.d.ts +1 -1
  204. package/dist/types/generators/java/support/index.d.ts +1 -1
  205. package/dist/types/generators/server/support/relationship.d.ts +2 -2
  206. package/dist/types/generators/server/types.d.ts +5 -0
  207. package/dist/types/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.d.ts +2 -0
  208. package/dist/types/generators/spring-cloud/generators/gateway/types.d.ts +4 -0
  209. package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +2 -2
  210. package/dist/types/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.d.ts +2 -1
  211. package/dist/types/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.d.ts +3 -1
  212. package/dist/types/jdl/converters/json-to-jdl-application-converter.d.ts +9 -2
  213. package/dist/types/jdl/converters/json-to-jdl-converter.d.ts +3 -3
  214. package/dist/types/jdl/converters/json-to-jdl-entity-converter.d.ts +2 -4
  215. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/application-converter.d.ts +3 -1
  216. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/deployment-converter.d.ts +2 -1
  217. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/entity-converter.d.ts +3 -1
  218. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/enum-converter.d.ts +2 -1
  219. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/field-converter.d.ts +2 -1
  220. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/option-converter.d.ts +3 -3
  221. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.d.ts +2 -1
  222. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/relationship-converter.d.ts +2 -1
  223. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/types.d.ts +110 -0
  224. package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.d.ts +2 -1
  225. package/dist/types/jdl/converters/types.d.ts +102 -14
  226. package/dist/types/jdl/exporters/applications/jhipster-application-formatter.d.ts +4 -4
  227. package/dist/types/jdl/exporters/config.d.ts +2 -1
  228. package/dist/types/jdl/exporters/export-utils.d.ts +2 -1
  229. package/dist/types/jdl/exporters/jdl-exporter.d.ts +2 -1
  230. package/dist/types/jdl/exporters/jhipster-deployment-exporter.d.ts +3 -1
  231. package/dist/types/jdl/exporters/jhipster-entity-exporter.d.ts +3 -1
  232. package/dist/types/jdl/exporters/types.d.ts +61 -0
  233. package/dist/types/jdl/jhipster/binary-options.d.ts +8 -26
  234. package/dist/types/jdl/jhipster/field-types.d.ts +2 -2
  235. package/dist/types/jdl/jhipster/json-entity.d.ts +2 -2
  236. package/dist/types/jdl/models/abstract-jdl-option.d.ts +14 -9
  237. package/dist/types/jdl/models/boolean-jdl-application-configuration-option.d.ts +1 -1
  238. package/dist/types/jdl/models/integer-jdl-application-configuration-option.d.ts +1 -1
  239. package/dist/types/jdl/models/jdl-application-configuration-factory.d.ts +1 -1
  240. package/dist/types/jdl/models/jdl-application-configuration-option.d.ts +4 -4
  241. package/dist/types/jdl/models/jdl-application-configuration.d.ts +4 -4
  242. package/dist/types/jdl/models/jdl-application-definition.d.ts +4 -4
  243. package/dist/types/jdl/models/jdl-application-entities.d.ts +4 -4
  244. package/dist/types/jdl/models/jdl-application.d.ts +16 -13
  245. package/dist/types/jdl/models/jdl-binary-option.d.ts +5 -3
  246. package/dist/types/jdl/models/jdl-deployment.d.ts +13 -1
  247. package/dist/types/jdl/models/jdl-entity.d.ts +5 -5
  248. package/dist/types/jdl/models/jdl-enum-value.d.ts +4 -4
  249. package/dist/types/jdl/models/jdl-enum.d.ts +9 -5
  250. package/dist/types/jdl/models/jdl-enums.d.ts +6 -5
  251. package/dist/types/jdl/models/jdl-field.d.ts +10 -8
  252. package/dist/types/jdl/models/jdl-object-wrapper.d.ts +25 -0
  253. package/dist/types/jdl/models/jdl-object.d.ts +23 -19
  254. package/dist/types/jdl/models/jdl-options.d.ts +7 -24
  255. package/dist/types/jdl/models/jdl-relationship.d.ts +16 -10
  256. package/dist/types/jdl/models/jdl-relationships.d.ts +5 -5
  257. package/dist/types/jdl/models/jdl-validation.d.ts +3 -3
  258. package/dist/types/jdl/models/list-jdl-application-configuration-option.d.ts +4 -3
  259. package/dist/types/jdl/models/string-jdl-application-configuration-option.d.ts +2 -2
  260. package/dist/types/jdl/parsing/jdl-ast-builder-visitor.d.ts +1 -0
  261. package/dist/types/jdl/parsing/jdl-parser.d.ts +1 -0
  262. package/dist/types/jdl/parsing/jdl-parsing-types.d.ts +23 -0
  263. package/dist/types/jdl/parsing/lexer/lexer.d.ts +6 -2
  264. package/dist/types/jdl/parsing/validator.d.ts +1 -1
  265. package/dist/types/jdl/utils/array-utils.d.ts +1 -0
  266. package/dist/types/jdl/utils/set-utils.d.ts +1 -19
  267. package/dist/types/jdl/validators/deployment-validator.d.ts +2 -1
  268. package/dist/types/testing/helpers.d.ts +13 -3
  269. package/package.json +24 -23
  270. /package/dist/jdl/converters/{types.js → parsed-jdl-to-jdl-object/types.js} +0 -0
@@ -31,6 +31,10 @@ if (isUsingMapsId) {
31
31
  mapsIdEntityInstance = mapsIdEntity.charAt(0).toLowerCase() + mapsIdEntity.slice(1);
32
32
  mapsIdRepoInstance = `${mapsIdEntityInstance}Repository`;
33
33
  }
34
+ const hasUserRepository =
35
+ (requiresDeleteAllUsers && hasRelationshipWithBuiltInUser) ||
36
+ filterTestableRelationships.some(rel => rel.otherEntity.builtInUser) ||
37
+ (isUsingMapsId && (!dtoMapstruct && serviceNo) && mapsIdEntity === 'User');
34
38
 
35
39
  let callBlock = '';
36
40
  let callListBlock = '';
@@ -85,8 +89,8 @@ if(jpaMetamodelFiltering && reactive) {
85
89
  import <%= entityAbsolutePackage %>.repository.<%= relationship.otherEntityNameCapitalized %>Repository;
86
90
  <%_ });
87
91
  } _%>
88
- <%_ if (saveUserSnapshot) { _%>
89
- import <%= entityAbsolutePackage %>.repository.UserRepository;
92
+ <%_ if (hasUserRepository) { _%>
93
+ import <%= user.entityAbsolutePackage %>.repository.UserRepository;
90
94
  <%_ } _%>
91
95
  import <%= entityAbsolutePackage %>.repository.<%= entityClass %>Repository;
92
96
  <%_ if (databaseTypeSql && reactive) { _%>
@@ -114,9 +118,7 @@ import org.assertj.core.util.IterableUtil;
114
118
  import org.springframework.data.util.Streamable;
115
119
  import java.util.concurrent.TimeUnit;
116
120
  <%_ } _%>
117
- <%_ if ((databaseTypeSql && reactive) || searchEngineElasticsearch) { _%>
118
121
  import org.junit.jupiter.api.AfterEach;
119
- <%_ } _%>
120
122
  import org.junit.jupiter.api.BeforeEach;
121
123
  <%_ if (skipJunitTests) { _%>
122
124
  import org.junit.jupiter.api.Disabled;
@@ -459,11 +461,11 @@ if (field.fieldTypeString || field.blobContentTypeText) {
459
461
 
460
462
  @Autowired
461
463
  private <%= entityClass %>Repository <%= entityInstance %>Repository;
462
- <%_ if (isUsingMapsId && (!dtoMapstruct && serviceNo)) { _%>
464
+ <%_ if (isUsingMapsId && (!dtoMapstruct && serviceNo) && mapsIdEntity !== 'User') { _%>
463
465
  @Autowired
464
466
  private <%= mapsIdEntity %>Repository <%= mapsIdRepoInstance %>;
465
467
  <%_ } _%>
466
- <%_ if (saveUserSnapshot) { _%>
468
+ <%_ if (hasUserRepository) { _%>
467
469
 
468
470
  @Autowired
469
471
  private UserRepository userRepository;
@@ -503,8 +505,10 @@ if (field.fieldTypeString || field.blobContentTypeText) {
503
505
 
504
506
  private <%= persistClass %> <%= persistInstance %>;
505
507
 
508
+ private <%= persistClass %> inserted<%= persistClass %>;
509
+
506
510
  <%_ if(jpaMetamodelFiltering && reactive) {
507
- filterTestableRelationships.forEach((relationship) => { _%>
511
+ filterTestableRelationships.filter(rel => !rel.otherEntity.builtInUser).forEach((relationship) => { _%>
508
512
  @Autowired
509
513
  private <%= relationship.otherEntity.persistClass %>Repository <%= relationship.otherEntity.persistInstance %>Repository;
510
514
  <%_ });
@@ -620,19 +624,6 @@ _%>
620
624
  }); _%>
621
625
  }
622
626
 
623
- @AfterEach
624
- public void cleanup() {
625
- deleteEntities(em);
626
- }
627
-
628
- <%_ } _%>
629
- <%_ if (searchEngineElasticsearch) { _%>
630
- @AfterEach
631
- public void cleanupElasticSearchRepository() {
632
- <%= entityInstance %>SearchRepository.deleteAll()<%= callBlock %>;
633
- assertThat(<%= entityInstance %>SearchRepository.count()<%= callBlock %>).isEqualTo(0);
634
- }
635
-
636
627
  <%_ } _%>
637
628
  <%_ if (reactive && authenticationUsesCsrf) { _%>
638
629
  @BeforeEach
@@ -643,12 +634,27 @@ _%>
643
634
  <%_ } _%>
644
635
  @BeforeEach
645
636
  public void initTest() {
646
- <%_ if (databaseTypeMongodb || databaseTypeCouchbase || databaseTypeCassandra || databaseTypeNeo4j) { _%>
647
- <%= entityInstance %>Repository.deleteAll()<%= callBlock %>;
648
- <%_ } else if (databaseTypeSql && reactive) { _%>
637
+ <%= persistInstance %> = createEntity(<% if (databaseTypeSql) { %>em<% } %>);
638
+ }
639
+
640
+ @AfterEach
641
+ public void cleanup() {
642
+ if (inserted<%= persistClass %> != null) {
643
+ <%= entityInstance %>Repository.delete(inserted<%= persistClass %>)<%= reactorBlock %>;
644
+ <%_ if (searchEngineElasticsearch) { _%>
645
+ <%= entityInstance %>SearchRepository.delete(inserted<%= persistClass %>)<%= reactorBlock %>;
646
+ <%_ } _%>
647
+ inserted<%= persistClass %> = null;
648
+ }
649
+ <%_ if (databaseTypeSql && reactive) { _%>
649
650
  deleteEntities(em);
650
651
  <%_ } _%>
651
- <%= persistInstance %> = createEntity(<% if (databaseTypeSql) { %>em<% } %>);
652
+ <%_ if (requiresDeleteAllUsers && hasUserRepository) { _%>
653
+ <%_ if (databaseTypeSql && reactive) { _%>
654
+ userRepository.deleteAllUserAuthorities()<%- reactorBlock %>;
655
+ <%_ } _%>
656
+ userRepository.deleteAll()<%- reactorBlock %>;
657
+ <%_ } _%>
652
658
  }
653
659
  <%_ if (!readOnly) { _%>
654
660
 
@@ -718,13 +724,15 @@ _%>
718
724
 
719
725
  assert<%- persistClass %>MapsIdRelationshipPersistedValue(<%= persistInstance %>, returned<%- persistClass %>);
720
726
  <%_ } _%>
727
+
728
+ inserted<%= persistClass %> = returned<%- persistClass %>;
721
729
  }
722
730
 
723
731
  @Test<%= transactionalAnnotation %>
724
732
  void create<%= entityClass %>WithExistingId() throws Exception {
725
733
  // Create the <%= entityClass %> with an existing ID
726
734
  <%_ if ((primaryKey.typeUUID && databaseTypeSql) || !primaryKey.autoGenerate) { _%>
727
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
735
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
728
736
  <%_ } else { _%>
729
737
  <%= persistInstance %>.set<%= primaryKey.nameCapitalized %>(<% if (primaryKey.typeUUID) { %>UUID.randomUUID()<% } else if (primaryKey.typeLong) { %>1L<% } else if (primaryKey.typeInteger) { %>1<% } else { %>"existing_id"<% } %>);
730
738
  <%_ } _%>
@@ -772,7 +780,7 @@ _%>
772
780
  @Test<%= transactionalAnnotation %>
773
781
  void update<%= entityClass %>MapsIdAssociationWithNewId() throws Exception {
774
782
  // Initialize the database
775
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
783
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
776
784
  <%_ const alreadyGeneratedEntities = []; _%>
777
785
  long databaseSizeBeforeCreate = getRepositoryCount();
778
786
  <%_ if (searchEngineElasticsearch) { _%>
@@ -828,14 +836,14 @@ _%>
828
836
  <%_ if (databaseTypeCouchbase) { _%>
829
837
  SecurityContextHolder.setContext(TestSecurityContextHolder.getContext());
830
838
  <%_ } _%>
831
- List<<%= persistClass %>> <%= entityInstance %>List = <%= entityInstance %>Repository.findAll()<%= callListBlock %>;
832
839
  assertSameRepositoryCount(databaseSizeBeforeCreate);
833
- <%= persistClass %> test<%= entityClass %> = <%= entityInstance %>List.get(<%= entityInstance %>List.size() - 1);
834
840
 
835
- // Validate the id for MapsId, the ids must be same
836
- // Uncomment the following line for assertion. However, please note that there is a known issue and uncommenting will fail the test.
837
- // Please look at https://github.com/jhipster/generator-jhipster/issues/9100. You can modify this test as necessary.
838
- // assertThat(test<%= entityClass %>.get<%= primaryKey.nameCapitalized %>()).isEqualTo(test<%= entityClass %>.get<%= mapsIdEntity %>().get<%= primaryKey.nameCapitalized %>());
841
+ /**
842
+ * Validate the id for MapsId, the ids must be same
843
+ * Uncomment the following line for assertion. However, please note that there is a known issue and uncommenting will fail the test.
844
+ * Please look at https://github.com/jhipster/generator-jhipster/issues/9100. You can modify this test as necessary.
845
+ * assertThat(test<%= entityClass %>.get<%= primaryKey.nameCapitalized %>()).isEqualTo(test<%= entityClass %>.get<%= mapsIdEntity %>().get<%= primaryKey.nameCapitalized %>());
846
+ */
839
847
  <%_ if (searchEngineElasticsearch) { _%>
840
848
  int searchDatabaseSizeAfter = IterableUtil.sizeOf(<%= entityInstance %>SearchRepository.findAll()<%= callListBlock %>);
841
849
  assertThat(searchDatabaseSizeAfter).isEqualTo(searchDatabaseSizeBefore);
@@ -886,7 +894,6 @@ _%>
886
894
  int searchDatabaseSizeAfter = IterableUtil.sizeOf(<%= entityInstance %>SearchRepository.findAll()<%= callListBlock %>);
887
895
  assertThat(searchDatabaseSizeAfter).isEqualTo(searchDatabaseSizeBefore);
888
896
  <%_ } _%>
889
-
890
897
  }
891
898
  <%_ } _%>
892
899
  <%_ } _%>
@@ -940,7 +947,7 @@ _%>
940
947
  <%= persistInstance %>.set<%= field.fieldNameCapitalized %>(<%- field.fieldJavaValueGenerator %>);
941
948
  <%_ } _%>
942
949
  <%_ } _%>
943
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
950
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
944
951
 
945
952
  // Get all the <%= entityInstance %>List
946
953
  <%_ if (reactive) { _%>
@@ -1027,7 +1034,7 @@ _%>
1027
1034
  <%= persistInstance %>.set<%= field.fieldNameCapitalized %>(<%- field.fieldJavaValueGenerator %>);
1028
1035
  <%_ } _%>
1029
1036
  <%_ } _%>
1030
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1037
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1031
1038
 
1032
1039
  // Get the <%= entityInstance %>
1033
1040
  <%_ if (reactive) { _%>
@@ -1066,7 +1073,7 @@ _%>
1066
1073
  @Test<%= transactionalAnnotation %>
1067
1074
  void get<%= entityClassPlural %>ByIdFiltering() <% if (!reactive) { %>throws Exception <% } %>{
1068
1075
  // Initialize the database
1069
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1076
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1070
1077
 
1071
1078
  <%= primaryKey.type %> id = <%= persistInstance %>.get<%= primaryKey.nameCapitalized %>();
1072
1079
 
@@ -1085,7 +1092,7 @@ _%>
1085
1092
  @Test<%= transactionalAnnotation %>
1086
1093
  void getAll<%= entityClassPlural %>By<%= searchBy.fieldInJavaBeanMethod %>IsEqualToSomething() <% if (!reactive) { %>throws Exception <% } %>{
1087
1094
  // Initialize the database
1088
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1095
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1089
1096
 
1090
1097
  // Get all the <%= entityInstance %>List where <%= searchBy.fieldName %> equals to
1091
1098
  default<%= entityClass %>Filtering(
@@ -1097,7 +1104,7 @@ _%>
1097
1104
  @Test<%= transactionalAnnotation %>
1098
1105
  void getAll<%= entityClassPlural %>By<%= searchBy.fieldInJavaBeanMethod %>IsInShouldWork() <% if (!reactive) { %>throws Exception <% } %>{
1099
1106
  // Initialize the database
1100
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1107
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1101
1108
 
1102
1109
  // Get all the <%= entityInstance %>List where <%= searchBy.fieldName %> in
1103
1110
  default<%= entityClass %>Filtering(
@@ -1109,7 +1116,7 @@ _%>
1109
1116
  @Test<%= transactionalAnnotation %>
1110
1117
  void getAll<%= entityClassPlural %>By<%= searchBy.fieldInJavaBeanMethod %>IsNullOrNotNull() <% if (!reactive) { %>throws Exception <% } %>{
1111
1118
  // Initialize the database
1112
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1119
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1113
1120
 
1114
1121
  // Get all the <%= entityInstance %>List where <%= searchBy.fieldName %> is not null
1115
1122
  default<%= entityClass %>Filtering(
@@ -1122,7 +1129,7 @@ _%>
1122
1129
  @Test<%= transactionalAnnotation %>
1123
1130
  void getAll<%= entityClassPlural %>By<%= searchBy.fieldInJavaBeanMethod %>ContainsSomething() <% if (!reactive) { %>throws Exception <% } %>{
1124
1131
  // Initialize the database
1125
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1132
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1126
1133
 
1127
1134
  // Get all the <%= entityInstance %>List where <%= searchBy.fieldName %> contains
1128
1135
  default<%= entityClass %>Filtering(
@@ -1134,7 +1141,7 @@ _%>
1134
1141
  @Test<%= transactionalAnnotation %>
1135
1142
  void getAll<%= entityClassPlural %>By<%= searchBy.fieldInJavaBeanMethod %>NotContainsSomething() <% if (!reactive) { %>throws Exception <% } %>{
1136
1143
  // Initialize the database
1137
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1144
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1138
1145
 
1139
1146
  // Get all the <%= entityInstance %>List where <%= searchBy.fieldName %> does not contain
1140
1147
  default<%= entityClass %>Filtering(
@@ -1164,7 +1171,7 @@ _%>
1164
1171
  @Test<%= transactionalAnnotation %>
1165
1172
  void getAll<%= entityClassPlural %>By<%= searchBy.fieldInJavaBeanMethod %>IsGreaterThanOrEqualToSomething() <% if (!reactive) { %>throws Exception <% } %>{
1166
1173
  // Initialize the database
1167
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1174
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1168
1175
 
1169
1176
  // Get all the <%= entityInstance %>List where <%= searchBy.fieldName %> is greater than or equal to
1170
1177
  default<%= entityClass %>Filtering(
@@ -1176,7 +1183,7 @@ _%>
1176
1183
  @Test<%= transactionalAnnotation %>
1177
1184
  void getAll<%= entityClassPlural %>By<%= searchBy.fieldInJavaBeanMethod %>IsLessThanOrEqualToSomething() <% if (!reactive) { %>throws Exception <% } %>{
1178
1185
  // Initialize the database
1179
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1186
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1180
1187
 
1181
1188
  // Get all the <%= entityInstance %>List where <%= searchBy.fieldName %> is less than or equal to
1182
1189
  default<%= entityClass %>Filtering(
@@ -1188,7 +1195,7 @@ _%>
1188
1195
  @Test<%= transactionalAnnotation %>
1189
1196
  void getAll<%= entityClassPlural %>By<%= searchBy.fieldInJavaBeanMethod %>IsLessThanSomething() <% if (!reactive) { %>throws Exception <% } %>{
1190
1197
  // Initialize the database
1191
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1198
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1192
1199
 
1193
1200
  // Get all the <%= entityInstance %>List where <%= searchBy.fieldName %> is less than
1194
1201
  default<%= entityClass %>Filtering(
@@ -1200,7 +1207,7 @@ _%>
1200
1207
  @Test<%= transactionalAnnotation %>
1201
1208
  void getAll<%= entityClassPlural %>By<%= searchBy.fieldInJavaBeanMethod %>IsGreaterThanSomething() <% if (!reactive) { %>throws Exception <% } %>{
1202
1209
  // Initialize the database
1203
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1210
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1204
1211
 
1205
1212
  // Get all the <%= entityInstance %>List where <%= searchBy.fieldName %> is greater than
1206
1213
  default<%= entityClass %>Filtering(
@@ -1246,7 +1253,7 @@ _%>
1246
1253
  <%_ } else { _%>
1247
1254
  <%= relationship.otherEntity.primaryKey.type %> <%= relationship.relationshipFieldName %>Id = <%= relationship.relationshipFieldName %>.get<%= relationship.otherEntity.primaryKey.nameCapitalized %>();
1248
1255
  <%= persistInstance %>.set<%= relationship.relationshipNameCapitalized %>Id(<%= relationship.relationshipFieldName %>Id);
1249
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1256
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1250
1257
  <%_ } _%>
1251
1258
  <%_ } _%>
1252
1259
  <%_ if(!reactive) { _%>
@@ -1420,7 +1427,7 @@ _%>
1420
1427
  <%= persistInstance %>.set<%= field.fieldNameCapitalized %>(<%- field.fieldJavaValueGenerator %>);
1421
1428
  <%_ } _%>
1422
1429
  <%_ } _%>
1423
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1430
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1424
1431
 
1425
1432
  long databaseSizeBeforeUpdate = getRepositoryCount();
1426
1433
  <%_ if (searchEngineElasticsearch) { _%>
@@ -1620,7 +1627,7 @@ _%>
1620
1627
  <%= persistInstance %>.set<%= field.fieldNameCapitalized %>(<%- field.fieldJavaValueGenerator %>);
1621
1628
  <%_ } _%>
1622
1629
  <%_ } _%>
1623
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1630
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1624
1631
 
1625
1632
  <%_ const fieldsToIncludeInPartialPatchTest = fieldsToTest.map(field => prepareFieldForPatchTest(field, () => faker.datatype.boolean())); _%>
1626
1633
  <%- include('/_global_partials_entity_/it_patch_update.partial.java.ejs', {fields: fieldsToIncludeInPartialPatchTest, saveMethod, callBlock, callListBlock}); -%>
@@ -1640,7 +1647,7 @@ _%>
1640
1647
  <%= persistInstance %>.set<%= field.fieldNameCapitalized %>(<%- field.fieldJavaValueGenerator %>);
1641
1648
  <%_ } _%>
1642
1649
  <%_ } _%>
1643
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1650
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1644
1651
 
1645
1652
  <% const fieldsToIncludeInFullPatchTest = fieldsToTest.map(field => prepareFieldForPatchTest(field, () => true)); %>
1646
1653
  <%- include('/_global_partials_entity_/it_patch_update.partial.java.ejs', {fields: fieldsToIncludeInFullPatchTest, saveMethod, callBlock, callListBlock}); -%>
@@ -1777,7 +1784,7 @@ _%>
1777
1784
  <%= persistInstance %>.set<%= primaryKey.nameCapitalized %>(<%- field.fieldJavaValueGenerator %>);
1778
1785
  <%_ } _%>
1779
1786
  <%_ } _%>
1780
- <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1787
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1781
1788
  <%_ if (searchEngineElasticsearch) { _%>
1782
1789
  <%= entityInstance %>Repository.save(<%= persistInstance %>)<%= callBlock %>;
1783
1790
  <%= entityInstance %>SearchRepository.save(<%= persistInstance %>)<%= callBlock %>;
@@ -1826,7 +1833,7 @@ _%>
1826
1833
  <%= persistInstance %>.set<%= field.fieldNameCapitalized %>(<%- field.fieldJavaValueGenerator %>);
1827
1834
  <%_ } _%>
1828
1835
  <%_ } _%>
1829
- <%= persistInstance %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1836
+ inserted<%= persistClass %> = <%= entityInstance %>Repository.<%= saveMethod %>(<%= persistInstance %>)<%= callBlock %>;
1830
1837
  <%_ if (searchEngineElasticsearch) { _%>
1831
1838
  <%= entityInstance %>SearchRepository.save(<%= persistInstance %>)<%= callBlock %>;
1832
1839
  <%_ } else if (searchEngineCouchbase) { _%>
@@ -124,11 +124,11 @@ export const getCacheProviderMavenDefinition = (cacheProvider, javaDependencies)
124
124
  },
125
125
  {
126
126
  groupId: 'org.infinispan',
127
- artifactId: 'infinispan-commons-jakarta',
127
+ artifactId: 'infinispan-commons',
128
128
  },
129
129
  {
130
130
  groupId: 'org.infinispan',
131
- artifactId: 'infinispan-core-jakarta',
131
+ artifactId: 'infinispan-core',
132
132
  },
133
133
  {
134
134
  groupId: 'org.infinispan',
@@ -12,4 +12,4 @@ xmemcached-provider = { module = 'com.google.code.simple-spring-memcached:xmemca
12
12
 
13
13
  xmemcached = { module = 'com.googlecode.xmemcached:xmemcached', version = '2.4.8' }
14
14
 
15
- redisson = { module = 'org.redisson:redisson', version = '3.29.0' }
15
+ redisson = { module = 'org.redisson:redisson', version = '3.30.0' }
@@ -1,5 +1,9 @@
1
1
  const command = {
2
- configs: {},
2
+ configs: {
3
+ routes: {
4
+ scope: 'storage',
5
+ },
6
+ },
3
7
  import: [],
4
8
  };
5
9
  export default command;
@@ -78,6 +78,19 @@ export default class GatewayGenerator extends BaseApplicationGenerator {
78
78
  get [BaseApplicationGenerator.LOADING]() {
79
79
  return this.delegateTasksToBlueprint(() => this.loading);
80
80
  }
81
+ get preparing() {
82
+ return this.asPreparingTaskGroup({
83
+ prepareGateway({ application }) {
84
+ application.gatewayRoutes = (application.routes ?? []).map(routeDef => {
85
+ const [route, host = route, serverPort = '8080'] = routeDef.split(':');
86
+ return { route, serverPort, host };
87
+ });
88
+ },
89
+ });
90
+ }
91
+ get [BaseApplicationGenerator.PREPARING]() {
92
+ return this.delegateTasksToBlueprint(() => this.preparing);
93
+ }
81
94
  get writing() {
82
95
  return this.asWritingTaskGroup({
83
96
  async writing({ application }) {
@@ -0,0 +1,6 @@
1
+ export const jdlRoutesOptions = {
2
+ name: 'routes',
3
+ tokenType: 'quotedList',
4
+ type: 'quotedList',
5
+ tokenValuePattern: /^"[A-Za-z][A-Za-z0-9_]*(?::[A-Za-z][A-Za-z0-9_]+(?::[0-9]+)?)?"$/,
6
+ };
@@ -78,14 +78,14 @@ export default class CassandraGenerator extends BaseApplicationGenerator {
78
78
  const { reactive, javaDependencies } = application;
79
79
  const cassandraStarter = reactive ? 'spring-boot-starter-data-cassandra-reactive' : 'spring-boot-starter-data-cassandra';
80
80
  source.addJavaDependencies?.([
81
- { groupId: 'com.datastax.oss', artifactId: 'java-driver-mapper-runtime' },
81
+ { groupId: 'org.apache.cassandra', artifactId: 'java-driver-mapper-runtime' },
82
82
  { groupId: 'commons-codec', artifactId: 'commons-codec' },
83
83
  { groupId: 'org.springframework.boot', artifactId: cassandraStarter },
84
84
  { groupId: 'org.lz4', artifactId: 'lz4-java', version: javaDependencies['lz4-java'] },
85
85
  { scope: 'test', groupId: 'org.testcontainers', artifactId: 'junit-jupiter' },
86
86
  { scope: 'test', groupId: 'org.testcontainers', artifactId: 'testcontainers' },
87
87
  { scope: 'test', groupId: 'org.testcontainers', artifactId: 'cassandra' },
88
- { scope: 'annotationProcessor', groupId: 'com.datastax.oss', artifactId: 'java-driver-mapper-processor' },
88
+ { scope: 'annotationProcessor', groupId: 'org.apache.cassandra', artifactId: 'java-driver-mapper-processor' },
89
89
  ]);
90
90
  },
91
91
  });
@@ -67,7 +67,9 @@ public class SqlTestContainersSpringContextCustomizerFactory implements ContextC
67
67
  Class<? extends SqlTestContainer> containerClass = (Class<? extends SqlTestContainer>) Class.forName(this.getClass().getPackageName() + ".<% if (prodDatabaseTypeMysql) { %>Mysql<% } else if (prodDatabaseTypeMariadb) { %>Mariadb<% } else if (prodDatabaseTypeMssql) { %>MsSql<% } else if (prodDatabaseTypePostgresql) { %>PostgreSql<% } %>TestContainer");
68
68
  prodTestContainer = beanFactory.createBean(containerClass);
69
69
  beanFactory.registerSingleton(containerClass.getName(), prodTestContainer);
70
- // ((DefaultListableBeanFactory)beanFactory).registerDisposableBean(containerClass.getName(), prodTestContainer);
70
+ /**
71
+ * ((DefaultListableBeanFactory)beanFactory).registerDisposableBean(containerClass.getName(), prodTestContainer);
72
+ */
71
73
  } catch (ClassNotFoundException e) {
72
74
  throw new RuntimeException(e);
73
75
  }
@@ -2,12 +2,12 @@
2
2
  "dependencies": {
3
3
  "@fortawesome/fontawesome-svg-core": "6.5.2",
4
4
  "@fortawesome/free-solid-svg-icons": "6.5.2",
5
- "@fortawesome/vue-fontawesome": "3.0.6",
5
+ "@fortawesome/vue-fontawesome": "3.0.8",
6
6
  "@stomp/rx-stomp": "2.0.0",
7
7
  "@vuelidate/core": "2.0.3",
8
8
  "@vuelidate/validators": "2.0.4",
9
- "@vueuse/core": "10.9.0",
10
- "axios": "1.6.8",
9
+ "@vueuse/core": "10.10.0",
10
+ "axios": "1.7.2",
11
11
  "bootstrap": "4.6.2",
12
12
  "bootstrap-vue": "2.23.1",
13
13
  "bootswatch": "4.6.2",
@@ -23,27 +23,27 @@
23
23
  "devDependencies": {
24
24
  "@module-federation/utilities": "3.0.3-0",
25
25
  "@pinia/testing": "0.1.3",
26
- "@rushstack/eslint-patch": "1.10.2",
26
+ "@rushstack/eslint-patch": "1.10.3",
27
27
  "@tsconfig/node18": "18.2.4",
28
28
  "@types/node": "20.11.25",
29
29
  "@types/sinon": "17.0.3",
30
30
  "@vitejs/plugin-vue": "5.0.4",
31
31
  "@vue/eslint-config-prettier": "9.0.0",
32
32
  "@vue/eslint-config-typescript": "10.0.0",
33
- "@vue/test-utils": "2.4.5",
33
+ "@vue/test-utils": "2.4.6",
34
34
  "@vue/tsconfig": "0.5.1",
35
35
  "autoprefixer": "10.4.19",
36
36
  "axios-mock-adapter": "1.22.0",
37
37
  "browser-sync-webpack-plugin": "2.3.0",
38
38
  "copy-webpack-plugin": "12.0.2",
39
- "css-loader": "7.1.1",
40
- "css-minimizer-webpack-plugin": "6.0.0",
39
+ "css-loader": "7.1.2",
40
+ "css-minimizer-webpack-plugin": "7.0.0",
41
41
  "eslint": "8.57.0",
42
42
  "eslint-plugin-prettier": "5.1.3",
43
43
  "eslint-plugin-vue": "8.7.1",
44
44
  "flush-promises": "1.0.2",
45
45
  "folder-hash": "4.0.4",
46
- "happy-dom": "14.7.1",
46
+ "happy-dom": "14.12.0",
47
47
  "html-webpack-plugin": "5.6.0",
48
48
  "merge-jsons-webpack-plugin": "2.0.1",
49
49
  "mini-css-extract-plugin": "2.9.0",
@@ -51,20 +51,20 @@
51
51
  "postcss-import": "16.1.0",
52
52
  "postcss-loader": "8.1.1",
53
53
  "postcss-url": "10.1.3",
54
- "rimraf": "5.0.5",
55
- "sass": "1.75.0",
54
+ "rimraf": "5.0.7",
55
+ "sass": "1.77.3",
56
56
  "sass-loader": "14.2.1",
57
- "sinon": "17.0.1",
57
+ "sinon": "18.0.0",
58
58
  "terser-webpack-plugin": "5.3.10",
59
59
  "ts-loader": "9.5.1",
60
60
  "typescript": "5.4.5",
61
- "vite": "5.2.10",
62
- "vite-plugin-static-copy": "1.0.3",
63
- "vitest": "1.5.2",
61
+ "vite": "5.2.12",
62
+ "vite-plugin-static-copy": "1.0.5",
63
+ "vitest": "1.6.0",
64
64
  "vitest-sonar-reporter": "2.0.0",
65
65
  "vue-loader": "17.4.2",
66
66
  "vue-style-loader": "4.1.3",
67
- "vue-tsc": "2.0.14",
67
+ "vue-tsc": "2.0.19",
68
68
  "webpack": "5.91.0",
69
69
  "webpack-bundle-analyzer": "4.10.2",
70
70
  "webpack-cli": "5.1.4",
@@ -91,7 +91,7 @@ describe('Tracker Service', () => {
91
91
 
92
92
  // THEN
93
93
  expect(mockStomp.publish).toBeCalledTimes(1);
94
- expect(mockStomp.publish).toBeCalledWith({ destination: '/topic/activity', body: JSON.stringify({ page: '/admin' }) });
94
+ expect(mockStomp.publish).toHaveBeenCalledWith({ destination: '/topic/activity', body: JSON.stringify({ page: '/admin' }) });
95
95
  });
96
96
 
97
97
  it('Should disconnect on logout', async () => {
@@ -34,7 +34,7 @@
34
34
  <%_ } _%>
35
35
  </dd>
36
36
  <%_ } _%>
37
- <%_ for (relationship of relationships) {
37
+ <%_ for (relationship of relationships.filter(rel => !rel.otherEntity.embedded)) {
38
38
  const relationshipName = relationship.relationshipName;
39
39
  const relationshipFieldName = relationship.relationshipFieldName;
40
40
  const relationshipFieldNamePlural = relationship.relationshipFieldNamePlural;
@@ -120,7 +120,7 @@ _%>
120
120
  <%_ } _%>
121
121
  </div>
122
122
  <%_ } _%>
123
- <%_ for (relationship of relationships) {
123
+ <%_ for (relationship of relationships.filter(rel => !rel.otherEntity.embedded)) {
124
124
  const otherEntityName = relationship.otherEntityName;
125
125
  const otherEntityNamePlural = relationship.otherEntityNamePlural;
126
126
  const relationshipName = relationship.relationshipName;
@@ -90,7 +90,7 @@
90
90
  <td>{{<%=entityInstance %>.<%=fieldName%>}}</td>
91
91
  <%_ } _%>
92
92
  <%_ } _%>
93
- <%_ for (relationship of relationships) {
93
+ <%_ for (relationship of relationships.filter(rel => !rel.otherEntity.embedded)) {
94
94
  const relationshipFieldName = relationship.relationshipFieldName;
95
95
  const relationshipFieldNamePlural = relationship.relationshipFieldNamePlural;
96
96
  const otherEntityName = relationship.otherEntityName;
@@ -31,7 +31,7 @@ describe('Alert Service test suite', () => {
31
31
 
32
32
  // THEN
33
33
  expect(toastStub).toBeCalledTimes(1);
34
- expect(toastStub).toBeCalledWith(message, {
34
+ expect(toastStub).toHaveBeenCalledWith(message, {
35
35
  toaster: 'b-toaster-top-center',
36
36
  title: 'Error',
37
37
  variant: 'danger',
@@ -62,7 +62,7 @@ describe('Alert Service test suite', () => {
62
62
  expect(translationStub).toHaveBeenCalledWith(translationKey);
63
63
  <%_ } _%>
64
64
  expect(toastStub).toBeCalledTimes(1);
65
- expect(toastStub).toBeCalledWith(message, {
65
+ expect(toastStub).toHaveBeenCalledWith(message, {
66
66
  toaster: 'b-toaster-top-center',
67
67
  title: 'Error',
68
68
  variant: 'danger',
@@ -102,10 +102,10 @@ describe('Alert Service test suite', () => {
102
102
  // THEN
103
103
  <%_ if (enableTranslation) { _%>
104
104
  expect(translationStub).toBeCalledTimes(2);
105
- expect(translationStub).toBeCalledWith(translationKey, { entityName: 'DummyEntity' });
106
- expect(translationStub).toBeCalledWith('global.menu.entities.dummyEntity');
105
+ expect(translationStub).toHaveBeenCalledWith(translationKey, { entityName: 'DummyEntity' });
106
+ expect(translationStub).toHaveBeenCalledWith('global.menu.entities.dummyEntity');
107
107
  <%_ } _%>
108
- expect(toastStub).toBeCalledWith(message, {
108
+ expect(toastStub).toHaveBeenCalledWith(message, {
109
109
  toaster: 'b-toaster-top-center',
110
110
  title: 'Error',
111
111
  variant: 'danger',
@@ -144,7 +144,7 @@ describe('Alert Service test suite', () => {
144
144
  expect(translationStub).toHaveBeenCalledWith(message);
145
145
  <%_ } _%>
146
146
  expect(toastStub).toBeCalledTimes(1);
147
- expect(toastStub).toBeCalledWith(message, {
147
+ expect(toastStub).toHaveBeenCalledWith(message, {
148
148
  toaster: 'b-toaster-top-center',
149
149
  title: 'Error',
150
150
  variant: 'danger',
@@ -176,7 +176,7 @@ describe('Alert Service test suite', () => {
176
176
  expect(translationStub).toHaveBeenCalledWith(translationKey);
177
177
  <%_ } _%>
178
178
  expect(toastStub).toBeCalledTimes(1);
179
- expect(toastStub).toBeCalledWith(message, {
179
+ expect(toastStub).toHaveBeenCalledWith(message, {
180
180
  toaster: 'b-toaster-top-center',
181
181
  title: 'Error',
182
182
  variant: 'danger',
@@ -208,7 +208,7 @@ describe('Alert Service test suite', () => {
208
208
  expect(translationStub).toHaveBeenCalledWith(message);
209
209
  <%_ } _%>
210
210
  expect(toastStub).toBeCalledTimes(1);
211
- expect(toastStub).toBeCalledWith(message, {
211
+ expect(toastStub).toHaveBeenCalledWith(message, {
212
212
  toaster: 'b-toaster-top-center',
213
213
  title: 'Error',
214
214
  variant: 'danger',
@@ -43,7 +43,7 @@ describe('Formatter i18n', () => {
43
43
 
44
44
  dataUtilsService.openFile('text', 'data');
45
45
 
46
- expect(window.open).toBeCalledWith(objectURL);
46
+ expect(window.open).toHaveBeenCalledWith(objectURL);
47
47
  });
48
48
 
49
49
  it('should check text ends with suffix', () => {
@@ -7,7 +7,7 @@
7
7
  "baseUrl": "<%= this.relativeDir(clientRootDir, clientSrcDir) %>app",
8
8
  "outDir": "<%= this.relativeDir(clientRootDir, temporaryDir) %>out-tsc/dist",
9
9
  "paths": {
10
- "@/*": ["./<%= this.relativeDir(clientRootDir, clientSrcDir) %>app/*"]
10
+ "@/*": ["./*"]
11
11
  }
12
12
  }
13
13
  }
@@ -18,6 +18,7 @@
18
18
  -%>
19
19
  import { fileURLToPath, URL } from 'node:url';
20
20
  import { existsSync } from 'node:fs';
21
+ import { normalizePath } from 'vite'
21
22
 
22
23
  import {
23
24
  <%_ if (microfrontend) { _%>
@@ -49,10 +50,10 @@ let config = defineConfig({
49
50
  targets: [
50
51
  {
51
52
  src: [
52
- `${swaggerUiPath}/*.{js,css,html,png}`,
53
- `!${swaggerUiPath}/**/index.html`,
54
- getFileFromRepo('axios/dist/axios.min.js'),
55
- fileURLToPath(new URL('./<%- this.relativeDir(clientRootDir, clientSrcDir) %>swagger-ui/index.html', import.meta.url)),
53
+ `${normalizePath(swaggerUiPath)}/*.{js,css,html,png}`,
54
+ `!${normalizePath(swaggerUiPath)}/**/index.html`,
55
+ normalizePath(getFileFromRepo('axios/dist/axios.min.js')),
56
+ normalizePath(fileURLToPath(new URL('./<%- this.relativeDir(clientRootDir, clientSrcDir) %>swagger-ui/index.html', import.meta.url))),
56
57
  ],
57
58
  dest: 'swagger-ui',
58
59
  },