generator-jhipster 7.6.0 → 7.8.1

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 (432) hide show
  1. package/README.md +1 -4
  2. package/cli/commands.js +3 -0
  3. package/cli/environment-builder.js +53 -18
  4. package/cli/import-jdl.js +3 -0
  5. package/cli/index.mjs +20 -0
  6. package/cli/jhipster.js +19 -11
  7. package/cli/program.js +94 -38
  8. package/generators/app/esm.mjs +1 -3
  9. package/generators/app/index.js +11 -16
  10. package/generators/aws/esm.mjs +1 -3
  11. package/generators/azure-app-service/esm.mjs +1 -3
  12. package/generators/azure-spring-cloud/esm.mjs +1 -3
  13. package/generators/base/esm.mjs +1 -3
  14. package/generators/bootstrap/esm.mjs +1 -3
  15. package/generators/bootstrap/index.js +36 -86
  16. package/generators/bootstrap-application/esm.mjs +19 -0
  17. package/generators/bootstrap-application/generator.mjs +353 -0
  18. package/generators/bootstrap-application/index.mjs +19 -0
  19. package/generators/ci-cd/esm.mjs +1 -3
  20. package/generators/ci-cd/index.js +1 -1
  21. package/generators/ci-cd/prompts.js +1 -1
  22. package/generators/ci-cd/templates/github-actions.yml.ejs +6 -6
  23. package/generators/client/esm.mjs +5 -3
  24. package/generators/client/files-angular.js +9 -0
  25. package/generators/client/files-common.js +9 -9
  26. package/generators/client/files-react.js +25 -2
  27. package/generators/client/files-vue.js +7 -6
  28. package/generators/client/index.js +3 -2
  29. package/generators/client/needle-api/needle-client-react.js +11 -8
  30. package/generators/client/templates/angular/angular.json.ejs +2 -10
  31. package/generators/client/templates/angular/jest.conf.js.ejs +1 -1
  32. package/generators/client/templates/angular/package.json +29 -27
  33. package/generators/client/templates/angular/package.json.ejs +6 -2
  34. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.html.ejs +1 -1
  35. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.html.ejs +7 -7
  36. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +5 -5
  37. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +3 -3
  38. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.html.ejs +10 -10
  39. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.html.ejs +8 -8
  40. package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +2 -2
  41. package/generators/client/templates/angular/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +5 -5
  42. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.html.ejs +1 -1
  43. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +2 -2
  44. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.ts.ejs +2 -2
  45. package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +6 -6
  46. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.html.ejs +51 -49
  47. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +16 -16
  48. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +32 -32
  49. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.html.ejs +4 -4
  50. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +18 -18
  51. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +12 -12
  52. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.ts.ejs +4 -4
  53. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +4 -4
  54. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.html.ejs +8 -8
  55. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +1 -1
  56. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +1 -1
  57. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +4 -4
  58. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +5 -5
  59. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +1 -1
  60. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +11 -11
  61. package/generators/client/templates/angular/src/main/webapp/app/core/util/data-util.service.ts.ejs +1 -1
  62. package/generators/client/templates/angular/src/main/webapp/app/core/util/parse-links.service.ts.ejs +1 -1
  63. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +4 -2
  64. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.scss.ejs +0 -6
  65. package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.scss.ejs +0 -6
  66. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.html.ejs +3 -3
  67. package/generators/client/templates/angular/src/main/webapp/content/scss/_bootstrap-variables.scss.ejs +5 -5
  68. package/generators/client/templates/angular/src/main/webapp/content/scss/global.scss.ejs +29 -0
  69. package/generators/client/templates/angular/src/main/webapp/content/scss/vendor.scss.ejs +0 -4
  70. package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +31 -1
  71. package/generators/client/templates/common/package.json +7 -6
  72. package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +1 -7
  73. package/generators/client/templates/common/webpack/webpack.microfrontend.js.jhi.ejs +2 -3
  74. package/generators/client/templates/react/.eslintrc.json.ejs +1 -1
  75. package/generators/client/templates/react/jest.conf.js.ejs +1 -1
  76. package/generators/client/templates/react/package.json +44 -45
  77. package/generators/client/templates/react/package.json.ejs +1 -0
  78. package/generators/client/templates/react/src/main/webapp/app/app.scss.ejs +1 -1
  79. package/generators/client/templates/react/src/main/webapp/app/config/store.ts.ejs +53 -6
  80. package/generators/client/templates/react/src/main/webapp/app/config/translation-middleware.ts.ejs +58 -0
  81. package/generators/client/templates/react/src/main/webapp/app/entities/menu.tsx.ejs +45 -0
  82. package/generators/client/templates/react/src/main/webapp/app/entities/reducers.ts.ejs +25 -0
  83. package/generators/client/templates/react/src/main/webapp/app/entities/routes.tsx.ejs +47 -0
  84. package/generators/client/templates/react/src/main/webapp/app/index.tsx.ejs +7 -7
  85. package/generators/client/templates/react/src/main/webapp/app/main.tsx.ejs +19 -0
  86. package/generators/client/templates/react/src/main/webapp/app/modules/administration/logs/logs.tsx.ejs +1 -1
  87. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +2 -1
  88. package/generators/client/templates/react/src/main/webapp/app/modules/login/login-modal.tsx.ejs +5 -1
  89. package/generators/client/templates/react/src/main/webapp/app/routes.tsx.ejs +24 -7
  90. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-loading.tsx.ejs +15 -0
  91. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/entities.tsx.ejs +34 -6
  92. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/index.ts.ejs +9 -2
  93. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.spec.ts.ejs +9 -3
  94. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.ts.ejs +21 -5
  95. package/generators/client/templates/react/src/main/webapp/app/typings.d.ts.ejs +15 -0
  96. package/generators/client/templates/react/src/main/webapp/microfrontends/entities-menu.tsx.ejs +3 -0
  97. package/generators/client/templates/react/src/main/webapp/microfrontends/entities-routes.tsx.ejs +3 -0
  98. package/generators/client/templates/react/tsconfig.json.ejs +3 -3
  99. package/generators/client/templates/react/tsconfig.test.json.ejs +9 -1
  100. package/generators/client/templates/react/webpack/webpack.common.js.ejs +6 -13
  101. package/generators/client/templates/react/webpack/webpack.dev.js.ejs +7 -8
  102. package/generators/client/templates/react/webpack/webpack.microfrontend.js.jhi.react.ejs +99 -0
  103. package/generators/client/templates/react/webpack/webpack.prod.js.ejs +31 -21
  104. package/generators/client/templates/vue/package.json +30 -31
  105. package/generators/client/templates/vue/package.json.ejs +1 -1
  106. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +4 -3
  107. package/generators/client/templates/vue/src/main/webapp/app/entities/user/user.service.ts.ejs +0 -0
  108. package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +29 -1
  109. package/generators/client/templates/vue/src/main/webapp/app/shared/config/axios-interceptor.ts.ejs +2 -2
  110. package/generators/client/templates/vue/src/main/webapp/app/shared/config/config.ts.ejs +0 -4
  111. package/generators/client/templates/vue/src/main/webapp/app/shared/data/data-utils.service.ts.ejs +1 -1
  112. package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +2 -2
  113. package/generators/client/templates/vue/tsconfig.json.ejs +0 -3
  114. package/generators/client/templates/vue/webpack/webpack.common.js.ejs +6 -2
  115. package/generators/cloudfoundry/esm.mjs +1 -3
  116. package/generators/common/esm.mjs +2 -3
  117. package/generators/common/files.js +1 -2
  118. package/generators/common/index.js +6 -0
  119. package/generators/common/templates/.husky/{pre-commit → pre-commit.ejs} +4 -0
  120. package/generators/common/templates/README.md.jhi.ejs +3 -1
  121. package/generators/common/templates/package.json +4 -4
  122. package/generators/common/templates/sonar-project.properties.ejs +1 -1
  123. package/generators/cypress/esm.mjs +2 -3
  124. package/generators/cypress/files.js +2 -1
  125. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/settings-page.spec.ts.ejs +18 -14
  126. package/generators/database-changelog/esm.mjs +1 -3
  127. package/generators/database-changelog/index.js +1 -1
  128. package/generators/database-changelog-liquibase/esm.mjs +2 -3
  129. package/generators/docker-compose/esm.mjs +1 -3
  130. package/generators/docker-compose/index.js +9 -5
  131. package/generators/entities/esm.mjs +1 -3
  132. package/generators/entities/index.js +2 -2
  133. package/generators/entities-client/esm.mjs +1 -3
  134. package/generators/entity/esm.mjs +1 -3
  135. package/generators/entity/index.js +39 -28
  136. package/generators/entity/prompts.js +4 -1
  137. package/generators/entity-client/esm.mjs +2 -3
  138. package/generators/entity-client/index.js +8 -0
  139. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.html.ejs +1 -1
  140. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +2 -2
  141. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +20 -21
  142. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +1 -1
  143. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.html.ejs +14 -16
  144. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +3 -3
  145. package/generators/entity-client/templates/common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs +2 -1
  146. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-delete-dialog.tsx.ejs +3 -3
  147. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-detail.tsx.ejs +5 -4
  148. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-reducer.spec.ts.ejs +1 -1
  149. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +20 -19
  150. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.reducer.ts.ejs +2 -2
  151. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.tsx.ejs +21 -20
  152. package/generators/entity-client/templates/react/src/test/javascript/e2e/entities/entity-update-page-object.ts.ejs +1 -1
  153. package/generators/entity-client/templates/vue/src/test/javascript/e2e/entities/entity-update-page-object.ts.ejs +1 -1
  154. package/generators/entity-client/templates/vue/src/test/javascript/e2e/entities/entity.spec.ts.ejs +1 -1
  155. package/generators/entity-i18n/esm.mjs +2 -3
  156. package/generators/entity-i18n/templates/i18n/entity_fr.json.ejs +1 -1
  157. package/generators/entity-server/esm.mjs +2 -3
  158. package/generators/entity-server/files-couchbase.js +23 -2
  159. package/generators/entity-server/files.js +40 -6
  160. package/generators/entity-server/index.js +27 -2
  161. package/generators/entity-server/templates/couchbase/src/main/java/package/domain/Entity.java.jhi.spring_data_couchbase.ejs +11 -13
  162. package/generators/entity-server/templates/couchbase/src/main/java/package/repository/EntityRepository.java.ejs +30 -43
  163. package/generators/entity-server/templates/couchbase/src/main/resources/config/couchmove/changelog/entity.fts.ejs +5 -6
  164. package/generators/entity-server/templates/couchbase/src/main/resources/config/couchmove/changelog/entity.n1ql.ejs +5 -0
  165. package/generators/entity-server/templates/partials/it_patch_update.partial.java.ejs +2 -2
  166. package/generators/entity-server/templates/partials/save_template.ejs +1 -1
  167. package/generators/entity-server/templates/partials/update_template.ejs +77 -0
  168. package/generators/entity-server/templates/reactive/partials/save_template.ejs +1 -1
  169. package/generators/entity-server/templates/reactive/partials/update_template.ejs +41 -0
  170. package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +5 -5
  171. package/generators/entity-server/templates/src/main/java/package/common/get_template.ejs +1 -1
  172. package/generators/entity-server/templates/src/main/java/package/common/inject_template.ejs +17 -8
  173. package/generators/entity-server/templates/src/main/java/package/common/patch_template.ejs +5 -5
  174. package/generators/entity-server/templates/src/main/java/package/common/search_stream_template.ejs +1 -1
  175. package/generators/entity-server/templates/src/main/java/package/common/search_template.ejs +1 -1
  176. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +4 -3
  177. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.javax_lifecycle_events.ejs +31 -0
  178. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_persistable.ejs +54 -0
  179. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_reactive.ejs +1 -1
  180. package/generators/entity-server/templates/src/main/java/package/domain/EntityCallback.java.ejs +43 -0
  181. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs +36 -23
  182. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +24 -28
  183. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationships.java.ejs +37 -0
  184. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationshipsImpl.java.ejs +91 -0
  185. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +17 -25
  186. package/generators/entity-server/templates/src/main/java/package/repository/EntitySqlHelper_reactive.java.ejs +2 -2
  187. package/generators/entity-server/templates/src/main/java/package/repository/rowmapper/EntityRowMapper.java.ejs +3 -3
  188. package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +12 -27
  189. package/generators/entity-server/templates/src/main/java/package/service/EntityService.java.ejs +10 -2
  190. package/generators/entity-server/templates/src/main/java/package/service/criteria/EntityCriteria.java.ejs +8 -6
  191. package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +21 -5
  192. package/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs +61 -90
  193. package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +6 -4
  194. package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +33 -20
  195. package/generators/export-jdl/esm.mjs +1 -3
  196. package/generators/gae/esm.mjs +1 -3
  197. package/generators/generate-blueprint/constants.mjs +146 -0
  198. package/generators/generate-blueprint/esm.mjs +19 -0
  199. package/generators/generate-blueprint/files.mjs +81 -0
  200. package/generators/generate-blueprint/generator.mjs +363 -0
  201. package/generators/generate-blueprint/index.mjs +20 -0
  202. package/generators/generate-blueprint/templates/.eslintrc.json.ejs +41 -0
  203. package/generators/generate-blueprint/templates/.github/workflows/generator.yml.ejs +32 -0
  204. package/generators/generate-blueprint/templates/.mocharc.cjs.ejs +29 -0
  205. package/generators/{server/templates/couchbase/src/main/java/package/config/couchbase/package-info.java.ejs → generate-blueprint/templates/.prettierignore.jhi.blueprint.ejs} +4 -7
  206. package/generators/generate-blueprint/templates/README.md.ejs +75 -0
  207. package/generators/generate-blueprint/templates/cli/cli.mjs.ejs +35 -0
  208. package/generators/generate-blueprint/templates/cli/commands.cjs.ejs +25 -0
  209. package/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +98 -0
  210. package/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +42 -0
  211. package/generators/generate-blueprint/templates/generators/generator/index.mjs.ejs +19 -0
  212. package/generators/generate-blueprint/templates/generators/generator/templates/template-file.ejs +0 -0
  213. package/generators/generate-blueprint/templates/test/utils.mjs.ejs +17 -0
  214. package/generators/generator-base-blueprint.js +29 -0
  215. package/generators/generator-base-docker.js +1 -0
  216. package/generators/generator-base-entities.cjs +368 -0
  217. package/generators/generator-base-private.js +1 -1
  218. package/generators/generator-base.js +157 -23
  219. package/generators/generator-constants.js +22 -20
  220. package/generators/generator-list.js +2 -0
  221. package/generators/generator-transforms.js +0 -1
  222. package/generators/gradle/constants.cjs +1 -1
  223. package/generators/gradle/esm.mjs +19 -0
  224. package/generators/heroku/esm.mjs +1 -3
  225. package/generators/info/esm.mjs +1 -3
  226. package/generators/init/esm.mjs +19 -0
  227. package/generators/init/files.cjs +9 -3
  228. package/generators/init/index.cjs +5 -0
  229. package/generators/init/templates/.gitignore.jhi.ejs +5 -0
  230. package/generators/init/templates/{.lintstagedrc.js.ejs → .lintstagedrc.cjs.ejs} +0 -0
  231. package/generators/java/esm.mjs +19 -0
  232. package/generators/java/index.cjs +58 -2
  233. package/generators/kubernetes/esm.mjs +1 -3
  234. package/generators/kubernetes-helm/esm.mjs +1 -3
  235. package/generators/kubernetes-knative/esm.mjs +1 -3
  236. package/generators/languages/esm.mjs +2 -3
  237. package/generators/languages/templates/src/test/resources/i18n/messages_fr.properties.ejs +4 -1
  238. package/generators/maven/esm.mjs +19 -0
  239. package/generators/maven/files.cjs +0 -1
  240. package/generators/maven/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
  241. package/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +18 -2
  242. package/generators/maven/templates/mvnw +13 -7
  243. package/generators/maven/templates/mvnw.cmd +19 -13
  244. package/generators/maven/templates/pom.xml.jhi.ejs +1 -1
  245. package/generators/openapi-client/esm.mjs +1 -3
  246. package/generators/openapi-client/index.js +11 -4
  247. package/generators/openshift/esm.mjs +1 -3
  248. package/generators/page/esm.mjs +1 -3
  249. package/generators/project-name/esm.mjs +19 -0
  250. package/generators/server/cleanup.js +19 -3
  251. package/generators/server/esm.mjs +2 -2
  252. package/generators/server/files-couchbase.js +28 -31
  253. package/generators/server/files.js +115 -18
  254. package/generators/server/index.js +23 -17
  255. package/generators/server/needle-api/needle-server-gradle.js +38 -0
  256. package/generators/server/needle-api/needle-server-maven.js +1 -1
  257. package/generators/server/templates/.mvn/jvm.config +1 -0
  258. package/generators/server/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
  259. package/generators/server/templates/.mvn/wrapper/maven-wrapper.properties +18 -2
  260. package/generators/server/templates/build.gradle.ejs +7 -5
  261. package/generators/server/templates/couchbase/src/main/java/package/repository/CouchbaseSearchRepository.java.ejs +91 -0
  262. package/generators/server/templates/couchbase/src/main/java/package/repository/JHipsterCouchbaseRepository.java.ejs +47 -45
  263. package/generators/server/templates/couchbase/src/main/java/package/repository/PersistentTokenRepository_couchbase.java.ejs +2 -2
  264. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/authority/ROLE_ADMIN.json.ejs +3 -0
  265. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/authority/ROLE_USER.json.ejs +3 -0
  266. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/{user__admin.json.ejs → user/admin.json.ejs} +2 -2
  267. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/{user__user.json.ejs → user/user.json.ejs} +2 -2
  268. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.2__create_indexes.n1ql.ejs +34 -0
  269. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0__create_collections.n1ql.ejs +8 -0
  270. package/generators/server/templates/couchbase/src/test/java/package/CouchbaseTestContainerExtension.java.ejs +4 -3
  271. package/generators/server/templates/couchbase/src/test/java/package/repository/{JHipsterCouchbaseRepositoryTest.java.ejs → CouchbaseSearchRepositoryTest.java.ejs} +2 -2
  272. package/generators/server/templates/devcontainer/Dockerfile.ejs +25 -0
  273. package/generators/server/templates/devcontainer/devcontainer.json.ejs +64 -0
  274. package/generators/server/templates/gradle/profile_prod.gradle.ejs +4 -0
  275. package/generators/server/templates/gradle/wrapper/gradle-wrapper.jar +0 -0
  276. package/generators/server/templates/gradle.properties.ejs +8 -8
  277. package/generators/server/templates/mvnw +13 -7
  278. package/generators/server/templates/mvnw.cmd +19 -13
  279. package/generators/server/templates/npmw +14 -5
  280. package/generators/server/templates/pom.xml.ejs +65 -58
  281. package/generators/server/templates/settings.gradle.ejs +6 -4
  282. package/generators/server/templates/src/main/docker/app.yml.ejs +4 -6
  283. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +2 -1
  284. package/generators/server/templates/src/main/docker/mysql.yml.ejs +1 -0
  285. package/generators/server/templates/src/main/docker/zipkin.yml.ejs +25 -0
  286. package/generators/server/templates/src/main/java/package/config/AsyncConfiguration.java.ejs +6 -0
  287. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_couchbase.java.ejs +26 -16
  288. package/generators/{client/templates/react/src/main/webapp/app/entities/index.tsx.ejs → server/templates/src/main/java/package/config/KafkaSseConsumer.java.ejs} +8 -14
  289. package/generators/server/templates/src/main/java/package/config/KafkaSseProducer.java.ejs +30 -0
  290. package/generators/server/templates/src/main/java/package/config/LocaleConfiguration_reactive.java.ejs +1 -1
  291. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +12 -10
  292. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +2 -1
  293. package/generators/server/templates/src/main/java/package/domain/Authority.java.ejs +11 -0
  294. package/generators/server/templates/src/main/java/package/domain/PersistentToken.java.ejs +6 -6
  295. package/generators/server/templates/src/main/java/package/domain/User.java.ejs +9 -7
  296. package/generators/server/templates/src/main/java/package/repository/AuthorityRepository.java.ejs +1 -11
  297. package/generators/server/templates/src/main/java/package/repository/EntityManager.java.ejs +48 -38
  298. package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +48 -72
  299. package/generators/server/templates/src/main/java/package/security/jwt/JWTFilter.java.ejs +1 -1
  300. package/generators/server/templates/src/main/java/package/security/jwt/TokenProvider.java.ejs +1 -1
  301. package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +1 -1
  302. package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +8 -6
  303. package/generators/server/templates/src/main/java/package/web/filter/OAuth2ReactiveRefreshTokensWebFilter.java.ejs +0 -1
  304. package/generators/server/templates/src/main/java/package/web/rest/AccountResource.java.ejs +1 -1
  305. package/generators/server/templates/src/main/java/package/web/rest/KafkaResource.java.ejs +60 -108
  306. package/generators/server/templates/src/main/java/package/web/rest/KafkaResource_reactive.java.ejs +74 -0
  307. package/generators/server/templates/src/main/java/package/web/rest/LogoutResource_reactive.java.ejs +1 -1
  308. package/generators/server/templates/src/main/java/package/web/rest/PublicUserResource.java.ejs +2 -2
  309. package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +8 -0
  310. package/generators/server/templates/src/main/resources/config/application-prod.yml.ejs +6 -0
  311. package/generators/server/templates/src/main/resources/config/application.yml.ejs +28 -22
  312. package/generators/server/templates/src/test/java/package/CassandraKeyspaceIT.java.ejs +3 -4
  313. package/generators/server/templates/src/test/java/package/IntegrationTest.java.ejs +12 -4
  314. package/generators/server/templates/src/test/java/package/TechnicalStructureTest.java.ejs +18 -15
  315. package/generators/server/templates/src/test/java/package/config/CassandraTestContainer.java.ejs +122 -0
  316. package/generators/server/templates/src/test/java/package/config/EmbeddedCassandra.java.ejs +11 -0
  317. package/generators/server/templates/src/test/java/package/config/EmbeddedKafka.java.ejs +11 -0
  318. package/generators/server/templates/src/test/java/package/config/EmbeddedMongo.java.ejs +11 -0
  319. package/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +2 -0
  320. package/generators/server/templates/src/test/java/package/config/KafkaTestContainer.java.ejs +38 -0
  321. package/generators/server/templates/src/test/java/package/config/MongoDbTestContainer.java.ejs +67 -0
  322. package/generators/server/templates/src/test/java/package/config/TestContainersSpringContextCustomizerFactory.java.ejs +114 -0
  323. package/generators/server/templates/src/test/java/package/cucumber/CucumberIT.java.ejs +3 -10
  324. package/generators/server/templates/src/test/java/package/cucumber/stepdefs/StepDefs.java.ejs +8 -0
  325. package/generators/server/templates/src/test/java/package/cucumber/stepdefs/UserStepDefs.java.ejs +17 -3
  326. package/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIT.java.ejs +1 -4
  327. package/generators/server/templates/src/test/java/package/security/SecurityUtilsUnitTest_reactive.java.ejs +1 -1
  328. package/generators/server/templates/src/test/java/package/security/jwt/JWTFilterTest.java.ejs +5 -5
  329. package/generators/server/templates/src/test/java/package/security/oauth2/CustomClaimConverterIT.java.ejs +1 -1
  330. package/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +2 -4
  331. package/generators/server/templates/src/test/java/package/service/UserServiceIT.java.ejs +1 -4
  332. package/generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs +1 -1
  333. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +15 -8
  334. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_oauth2.java.ejs +1 -4
  335. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_skipUserManagement.java.ejs +1 -4
  336. package/generators/server/templates/src/test/java/package/web/rest/KafkaResourceIT.java.ejs +52 -123
  337. package/generators/server/templates/src/test/java/package/web/rest/KafkaResourceIT_reactive.java.ejs +99 -0
  338. package/generators/server/templates/src/test/java/package/web/rest/PublicUserResourceIT.java.ejs +7 -10
  339. package/generators/server/templates/src/test/java/package/web/rest/TestUtil.java.ejs +1 -6
  340. package/generators/server/templates/src/test/java/package/web/rest/UserJWTControllerIT.java.ejs +1 -4
  341. package/generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs +42 -47
  342. package/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIT.java.ejs +1 -4
  343. package/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIT_reactive.java.ejs +2 -5
  344. package/generators/server/templates/src/test/resources/META-INF/spring.factories.ejs +1 -1
  345. package/generators/server/templates/src/test/resources/config/application.yml.ejs +21 -20
  346. package/generators/server/templates/src/test/resources/testcontainers.properties.ejs +1 -0
  347. package/generators/spring-boot/esm.mjs +19 -0
  348. package/generators/spring-controller/esm.mjs +1 -3
  349. package/generators/spring-service/esm.mjs +1 -3
  350. package/generators/upgrade/esm.mjs +1 -3
  351. package/generators/upgrade-config/esm.mjs +1 -3
  352. package/generators/workspaces/esm.mjs +1 -3
  353. package/generators/workspaces/index.js +2 -1
  354. package/lib/constants/logo.cjs +30 -0
  355. package/lib/constants/priorities.cjs +216 -2
  356. package/lib/constants/priorities.mjs +29 -1
  357. package/lib/index.mjs +6 -0
  358. package/lib/support/mixin.cjs +5 -1
  359. package/lib/support/shared-data.cjs +34 -1
  360. package/package.json +33 -29
  361. package/utils/entity.js +21 -2
  362. package/utils/faker.js +3 -3
  363. package/utils/field.js +69 -52
  364. package/utils/relationship.js +15 -4
  365. package/utils/user.js +109 -0
  366. package/generators/app/generator.spec.mjs +0 -47
  367. package/generators/aws/generator.spec.mjs +0 -47
  368. package/generators/azure-app-service/generator.spec.mjs +0 -47
  369. package/generators/azure-spring-cloud/generator.spec.mjs +0 -47
  370. package/generators/base/generator.spec.mjs +0 -44
  371. package/generators/bootstrap/generator.spec.mjs +0 -44
  372. package/generators/ci-cd/generator.spec.mjs +0 -47
  373. package/generators/client/__workflow/devserver-angular.json +0 -13
  374. package/generators/client/__workflow/devserver-react.json +0 -13
  375. package/generators/client/__workflow/devserver-vue.json +0 -13
  376. package/generators/client/generator.spec.mjs +0 -47
  377. package/generators/cloudfoundry/generator.spec.mjs +0 -47
  378. package/generators/common/generator.spec.mjs +0 -47
  379. package/generators/cypress/generator.spec.mjs +0 -47
  380. package/generators/database-changelog/generator.spec.mjs +0 -47
  381. package/generators/database-changelog-liquibase/generator.spec.mjs +0 -47
  382. package/generators/docker-compose/generator.spec.mjs +0 -44
  383. package/generators/entities/generator.spec.mjs +0 -47
  384. package/generators/entities-client/generator.spec.mjs +0 -47
  385. package/generators/entity/generator.spec.mjs +0 -47
  386. package/generators/entity-client/generator.spec.mjs +0 -47
  387. package/generators/entity-i18n/generator.spec.mjs +0 -47
  388. package/generators/entity-server/generator.spec.mjs +0 -47
  389. package/generators/entity-server/templates/src/main/java/package/repository/search/SortToFieldSortBuilderConverter.java.ejs +0 -24
  390. package/generators/export-jdl/generator.spec.mjs +0 -44
  391. package/generators/gae/generator.spec.mjs +0 -47
  392. package/generators/gradle/__snapshots__/generator.spec.cjs.snap +0 -59
  393. package/generators/gradle/generator.spec.cjs +0 -71
  394. package/generators/heroku/generator.spec.mjs +0 -47
  395. package/generators/info/generator.spec.mjs +0 -44
  396. package/generators/init/__snapshots__/generator.spec.cjs.snap +0 -65
  397. package/generators/init/generator.spec.cjs +0 -112
  398. package/generators/java/__snapshots__/generator.spec.cjs.snap +0 -118
  399. package/generators/java/generator.spec.cjs +0 -87
  400. package/generators/kubernetes/generator.spec.mjs +0 -44
  401. package/generators/kubernetes-helm/generator.spec.mjs +0 -44
  402. package/generators/kubernetes-knative/generator.spec.mjs +0 -44
  403. package/generators/languages/generator.spec.mjs +0 -47
  404. package/generators/maven/__snapshots__/generator.spec.cjs.snap +0 -53
  405. package/generators/maven/generator.spec.cjs +0 -78
  406. package/generators/maven/templates/.mvn/wrapper/MavenWrapperDownloader.java +0 -117
  407. package/generators/openapi-client/generator.spec.mjs +0 -47
  408. package/generators/openshift/generator.spec.mjs +0 -44
  409. package/generators/page/generator.spec.mjs +0 -47
  410. package/generators/project-name/generator.spec.cjs +0 -43
  411. package/generators/server/__snapshots__/generator.spec.mjs.snap +0 -1931
  412. package/generators/server/generator.spec.mjs +0 -52
  413. package/generators/server/templates/.mvn/wrapper/MavenWrapperDownloader.java +0 -117
  414. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryFactory.java.ejs +0 -83
  415. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryFactoryBean.java.ejs +0 -40
  416. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryQuery.java.ejs +0 -44
  417. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomN1qlQueryCreator.java.ejs +0 -162
  418. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomN1qlRepositoryQueryExecutor.java.ejs +0 -104
  419. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/ROLE_ADMIN.json.ejs +0 -3
  420. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/ROLE_USER.json.ejs +0 -3
  421. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0__create_indexes.n1ql.ejs +0 -19
  422. package/generators/server/templates/src/main/java/package/config/KafkaProperties.java.ejs +0 -68
  423. package/generators/server/templates/src/test/java/package/AbstractCassandraTest.java.ejs +0 -125
  424. package/generators/server/templates/src/test/java/package/MongoDbTestContainerExtension.java.ejs +0 -37
  425. package/generators/server/templates/src/test/java/package/TestContainersSpringContextCustomizerFactory.java.ejs +0 -24
  426. package/generators/spring-boot/__snapshots__/generator.spec.cjs.snap +0 -80
  427. package/generators/spring-boot/generator.spec.cjs +0 -64
  428. package/generators/spring-controller/generator.spec.mjs +0 -47
  429. package/generators/spring-service/generator.spec.mjs +0 -47
  430. package/generators/upgrade/generator.spec.mjs +0 -44
  431. package/generators/upgrade-config/generator.spec.mjs +0 -44
  432. package/generators/workspaces/generator.spec.mjs +0 -47
@@ -1,52 +0,0 @@
1
- /**
2
- * Copyright 2013-2022 the original author or authors from the JHipster project.
3
- *
4
- * This file is part of the JHipster project, see https://www.jhipster.tech/
5
- * for more information.
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the "License");
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * https://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- */
19
- import expect from 'expect';
20
- import lodash from 'lodash';
21
- import { basename, dirname } from 'path';
22
- import { fileURLToPath } from 'url';
23
-
24
- import testSupport from '../../test/support/index.cjs';
25
- import Generator from './index.js';
26
-
27
- const { snakeCase } = lodash;
28
- const { testBlueprintSupport } = testSupport;
29
-
30
- const __filename = fileURLToPath(import.meta.url);
31
- const __dirname = dirname(__filename);
32
-
33
- const generator = basename(__dirname);
34
-
35
- describe(`JHipster ${generator} generator`, () => {
36
- it('generator-list constant matches folder name', async () => {
37
- await expect((await import('../generator-list.js')).default[`GENERATOR_${snakeCase(generator).toUpperCase()}`]).toBe(generator);
38
- });
39
- it('should be exported at package.json', async () => {
40
- await expect((await import(`generator-jhipster/esm/generators/${generator}`)).default).toBe(Generator);
41
- });
42
- it('should support features parameter', () => {
43
- const instance = new Generator([], { help: true }, { bar: true });
44
- expect(instance.features.bar).toBe(true);
45
- });
46
- describe('blueprint support', () => testBlueprintSupport(generator));
47
- describe('exported files', () => {
48
- it('should match snapshot', async () => {
49
- expect((await import('./files.js')).serverFiles).toMatchSnapshot();
50
- });
51
- });
52
- });
@@ -1,117 +0,0 @@
1
- /*
2
- * Copyright 2007-present the original author or authors.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * https://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import java.net.*;
17
- import java.io.*;
18
- import java.nio.channels.*;
19
- import java.util.Properties;
20
-
21
- public class MavenWrapperDownloader {
22
-
23
- private static final String WRAPPER_VERSION = "0.5.6";
24
- /**
25
- * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
26
- */
27
- private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
28
- + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
29
-
30
- /**
31
- * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
32
- * use instead of the default one.
33
- */
34
- private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
35
- ".mvn/wrapper/maven-wrapper.properties";
36
-
37
- /**
38
- * Path where the maven-wrapper.jar will be saved to.
39
- */
40
- private static final String MAVEN_WRAPPER_JAR_PATH =
41
- ".mvn/wrapper/maven-wrapper.jar";
42
-
43
- /**
44
- * Name of the property which should be used to override the default download url for the wrapper.
45
- */
46
- private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
47
-
48
- public static void main(String args[]) {
49
- System.out.println("- Downloader started");
50
- File baseDirectory = new File(args[0]);
51
- System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
52
-
53
- // If the maven-wrapper.properties exists, read it and check if it contains a custom
54
- // wrapperUrl parameter.
55
- File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
56
- String url = DEFAULT_DOWNLOAD_URL;
57
- if(mavenWrapperPropertyFile.exists()) {
58
- FileInputStream mavenWrapperPropertyFileInputStream = null;
59
- try {
60
- mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
61
- Properties mavenWrapperProperties = new Properties();
62
- mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
63
- url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
64
- } catch (IOException e) {
65
- System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
66
- } finally {
67
- try {
68
- if(mavenWrapperPropertyFileInputStream != null) {
69
- mavenWrapperPropertyFileInputStream.close();
70
- }
71
- } catch (IOException e) {
72
- // Ignore ...
73
- }
74
- }
75
- }
76
- System.out.println("- Downloading from: " + url);
77
-
78
- File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
79
- if(!outputFile.getParentFile().exists()) {
80
- if(!outputFile.getParentFile().mkdirs()) {
81
- System.out.println(
82
- "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
83
- }
84
- }
85
- System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
86
- try {
87
- downloadFileFromURL(url, outputFile);
88
- System.out.println("Done");
89
- System.exit(0);
90
- } catch (Throwable e) {
91
- System.out.println("- Error downloading");
92
- e.printStackTrace();
93
- System.exit(1);
94
- }
95
- }
96
-
97
- private static void downloadFileFromURL(String urlString, File destination) throws Exception {
98
- if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
99
- String username = System.getenv("MVNW_USERNAME");
100
- char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
101
- Authenticator.setDefault(new Authenticator() {
102
- @Override
103
- protected PasswordAuthentication getPasswordAuthentication() {
104
- return new PasswordAuthentication(username, password);
105
- }
106
- });
107
- }
108
- URL website = new URL(urlString);
109
- ReadableByteChannel rbc;
110
- rbc = Channels.newChannel(website.openStream());
111
- FileOutputStream fos = new FileOutputStream(destination);
112
- fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
113
- fos.close();
114
- rbc.close();
115
- }
116
-
117
- }
@@ -1,83 +0,0 @@
1
- <%#
2
- Copyright 2013-2022 the original author or authors from the JHipster project.
3
-
4
- This file is part of the JHipster project, see https://www.jhipster.tech/
5
- for more information.
6
-
7
- Licensed under the Apache License, Version 2.0 (the "License");
8
- you may not use this file except in compliance with the License.
9
- You may obtain a copy of the License at
10
-
11
- https://www.apache.org/licenses/LICENSE-2.0
12
-
13
- Unless required by applicable law or agreed to in writing, software
14
- distributed under the License is distributed on an "AS IS" BASIS,
15
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- See the License for the specific language governing permissions and
17
- limitations under the License.
18
- -%>
19
- package <%= packageName %>.config.couchbase;
20
-
21
- import java.lang.reflect.Method;
22
- import java.util.Optional;
23
- import org.springframework.data.couchbase.core.CouchbaseOperations;
24
- import org.springframework.data.couchbase.repository.config.RepositoryOperationsMapping;
25
- import org.springframework.data.couchbase.repository.query.CouchbaseQueryMethod;
26
- import org.springframework.data.couchbase.repository.support.CouchbaseRepositoryFactory;
27
- import org.springframework.data.mapping.context.MappingContext;
28
- import org.springframework.data.projection.ProjectionFactory;
29
- import org.springframework.data.repository.core.NamedQueries;
30
- import org.springframework.data.repository.core.RepositoryMetadata;
31
- import org.springframework.data.repository.query.QueryLookupStrategy;
32
- import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
33
- import org.springframework.data.repository.query.RepositoryQuery;
34
-
35
- public class CustomCouchbaseRepositoryFactory extends CouchbaseRepositoryFactory {
36
-
37
- private MappingContext mappingContext;
38
- private RepositoryOperationsMapping couchbaseOperationsMapping;
39
-
40
- /**
41
- * Create a new factory.
42
- *
43
- * @param couchbaseOperationsMapping the template for the underlying actions.
44
- */
45
- public CustomCouchbaseRepositoryFactory(RepositoryOperationsMapping couchbaseOperationsMapping) {
46
- super(couchbaseOperationsMapping);
47
- this.couchbaseOperationsMapping = couchbaseOperationsMapping;
48
- this.mappingContext = this.couchbaseOperationsMapping.getMappingContext();
49
- }
50
-
51
- @Override
52
- protected Optional<QueryLookupStrategy> getQueryLookupStrategy(
53
- QueryLookupStrategy.Key key,
54
- QueryMethodEvaluationContextProvider contextProvider
55
- ) {
56
- return Optional.of(new CustomCouchbaseQueryLookupStrategy(contextProvider));
57
- }
58
-
59
- private class CustomCouchbaseQueryLookupStrategy implements QueryLookupStrategy {
60
-
61
- private final QueryMethodEvaluationContextProvider evaluationContextProvider;
62
-
63
- public CustomCouchbaseQueryLookupStrategy(QueryMethodEvaluationContextProvider evaluationContextProvider) {
64
- this.evaluationContextProvider = evaluationContextProvider;
65
- }
66
-
67
- @Override
68
- public RepositoryQuery resolveQuery(
69
- final Method method,
70
- final RepositoryMetadata metadata,
71
- final ProjectionFactory factory,
72
- final NamedQueries namedQueries
73
- ) {
74
- final CouchbaseOperations couchbaseOperations = couchbaseOperationsMapping.resolve(
75
- metadata.getRepositoryInterface(),
76
- metadata.getDomainType()
77
- );
78
-
79
- CouchbaseQueryMethod queryMethod = new CouchbaseQueryMethod(method, metadata, factory, mappingContext);
80
- return new CustomCouchbaseRepositoryQuery(couchbaseOperations, queryMethod, namedQueries);
81
- }
82
- }
83
- }
@@ -1,40 +0,0 @@
1
- <%#
2
- Copyright 2013-2022 the original author or authors from the JHipster project.
3
-
4
- This file is part of the JHipster project, see https://www.jhipster.tech/
5
- for more information.
6
-
7
- Licensed under the Apache License, Version 2.0 (the "License");
8
- you may not use this file except in compliance with the License.
9
- You may obtain a copy of the License at
10
-
11
- https://www.apache.org/licenses/LICENSE-2.0
12
-
13
- Unless required by applicable law or agreed to in writing, software
14
- distributed under the License is distributed on an "AS IS" BASIS,
15
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- See the License for the specific language governing permissions and
17
- limitations under the License.
18
- -%>
19
- package <%= packageName %>.config.couchbase;
20
-
21
- import org.springframework.data.couchbase.repository.config.RepositoryOperationsMapping;
22
- import org.springframework.data.couchbase.repository.support.CouchbaseRepositoryFactory;
23
- import org.springframework.data.couchbase.repository.support.CouchbaseRepositoryFactoryBean;
24
-
25
- public class CustomCouchbaseRepositoryFactoryBean extends CouchbaseRepositoryFactoryBean {
26
-
27
- /**
28
- * Creates a new {@link CouchbaseRepositoryFactoryBean} for the given repository interface.
29
- *
30
- * @param repositoryInterface must not be {@literal null}.
31
- */
32
- public CustomCouchbaseRepositoryFactoryBean(Class repositoryInterface) {
33
- super(repositoryInterface);
34
- }
35
-
36
- @Override
37
- protected CouchbaseRepositoryFactory getFactoryInstance(RepositoryOperationsMapping operationsMapping) {
38
- return new CustomCouchbaseRepositoryFactory(operationsMapping);
39
- }
40
- }
@@ -1,44 +0,0 @@
1
- <%#
2
- Copyright 2013-2022 the original author or authors from the JHipster project.
3
-
4
- This file is part of the JHipster project, see https://www.jhipster.tech/
5
- for more information.
6
-
7
- Licensed under the Apache License, Version 2.0 (the "License");
8
- you may not use this file except in compliance with the License.
9
- You may obtain a copy of the License at
10
-
11
- https://www.apache.org/licenses/LICENSE-2.0
12
-
13
- Unless required by applicable law or agreed to in writing, software
14
- distributed under the License is distributed on an "AS IS" BASIS,
15
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- See the License for the specific language governing permissions and
17
- limitations under the License.
18
- -%>
19
- package <%= packageName %>.config.couchbase;
20
-
21
- import org.springframework.data.couchbase.core.CouchbaseOperations;
22
- import org.springframework.data.couchbase.repository.query.CouchbaseQueryMethod;
23
- import org.springframework.data.couchbase.repository.query.CouchbaseRepositoryQuery;
24
- import org.springframework.data.repository.core.NamedQueries;
25
- import <%= packageName %>.config.couchbase.CustomN1qlRepositoryQueryExecutor;
26
-
27
- public class CustomCouchbaseRepositoryQuery extends CouchbaseRepositoryQuery {
28
-
29
- private CouchbaseOperations couchbaseOperations;
30
- private CouchbaseQueryMethod queryMethod;
31
- private NamedQueries namedQueries;
32
-
33
- public CustomCouchbaseRepositoryQuery(CouchbaseOperations operations, CouchbaseQueryMethod queryMethod, NamedQueries namedQueries) {
34
- super(operations, queryMethod, namedQueries);
35
- this.couchbaseOperations = operations;
36
- this.queryMethod = queryMethod;
37
- this.namedQueries = namedQueries;
38
- }
39
-
40
- @Override
41
- public Object execute(final Object[] parameters) {
42
- return new CustomN1qlRepositoryQueryExecutor(couchbaseOperations, queryMethod, namedQueries).execute(parameters);
43
- }
44
- }
@@ -1,162 +0,0 @@
1
- <%#
2
- Copyright 2013-2022 the original author or authors from the JHipster project.
3
-
4
- This file is part of the JHipster project, see https://www.jhipster.tech/
5
- for more information.
6
-
7
- Licensed under the Apache License, Version 2.0 (the "License");
8
- you may not use this file except in compliance with the License.
9
- You may obtain a copy of the License at
10
-
11
- https://www.apache.org/licenses/LICENSE-2.0
12
-
13
- Unless required by applicable law or agreed to in writing, software
14
- distributed under the License is distributed on an "AS IS" BASIS,
15
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- See the License for the specific language governing permissions and
17
- limitations under the License.
18
- -%>
19
- package <%= packageName %>.config.couchbase;
20
-
21
- import static org.springframework.data.couchbase.core.query.N1QLExpression.*;
22
-
23
- import java.util.Iterator;
24
- import org.springframework.core.convert.converter.Converter;
25
- import org.springframework.data.couchbase.core.CouchbaseOperations;
26
- import org.springframework.data.couchbase.core.convert.CouchbaseConverter;
27
- import org.springframework.data.couchbase.core.mapping.CouchbasePersistentProperty;
28
- import org.springframework.data.couchbase.core.query.Query;
29
- import org.springframework.data.couchbase.core.query.QueryCriteria;
30
- import org.springframework.data.domain.Sort;
31
- import org.springframework.data.mapping.PersistentPropertyPath;
32
- import org.springframework.data.mapping.context.MappingContext;
33
- import org.springframework.data.repository.query.ParameterAccessor;
34
- import org.springframework.data.repository.query.QueryMethod;
35
- import org.springframework.data.repository.query.parser.AbstractQueryCreator;
36
- import org.springframework.data.repository.query.parser.Part;
37
- import org.springframework.data.repository.query.parser.PartTree;
38
-
39
- public class CustomN1qlQueryCreator extends AbstractQueryCreator<Query, QueryCriteria> {
40
-
41
- private final CouchbaseOperations couchbaseOperations;
42
- private final ParameterAccessor accessor;
43
- private final MappingContext<?, CouchbasePersistentProperty> context;
44
- private final QueryMethod queryMethod;
45
- private final CouchbaseConverter converter;
46
-
47
- public CustomN1qlQueryCreator(
48
- final CouchbaseOperations operations,
49
- final PartTree tree,
50
- final ParameterAccessor accessor,
51
- QueryMethod queryMethod,
52
- CouchbaseConverter converter
53
- ) {
54
- super(tree, accessor);
55
- this.accessor = accessor;
56
- this.context = converter.getMappingContext();
57
- this.queryMethod = queryMethod;
58
- this.converter = converter;
59
- this.couchbaseOperations = operations;
60
- }
61
-
62
- static Converter<? super CouchbasePersistentProperty, String> cvtr = source ->
63
- new StringBuilder(source.getFieldName().length() + 2).append('`').append(source.getFieldName()).append('`').toString();
64
-
65
- @Override
66
- protected QueryCriteria create(final Part part, final Iterator<Object> iterator) {
67
- PersistentPropertyPath<CouchbasePersistentProperty> path = context.getPersistentPropertyPath(part.getProperty());
68
- CouchbasePersistentProperty property = path.getLeafProperty();
69
- return from(part, property, QueryCriteria.where(addMetaIfIdProperty(path, property)), iterator);
70
- }
71
-
72
- @Override
73
- protected QueryCriteria and(Part part, QueryCriteria base, Iterator<Object> iterator) {
74
- if (base == null) {
75
- return create(part, iterator);
76
- }
77
- PersistentPropertyPath<CouchbasePersistentProperty> path = context.getPersistentPropertyPath(part.getProperty());
78
- CouchbasePersistentProperty property = path.getLeafProperty();
79
- return from(part, property, base.and(addMetaIfIdProperty(path, property)), iterator);
80
- }
81
-
82
- private String addMetaIfIdProperty(
83
- final PersistentPropertyPath<CouchbasePersistentProperty> path,
84
- final CouchbasePersistentProperty property
85
- ) {
86
- return path.toDotPath(cvtr);
87
- }
88
-
89
- @Override
90
- protected QueryCriteria or(QueryCriteria base, QueryCriteria criteria) {
91
- return base.or(criteria);
92
- }
93
-
94
- @Override
95
- protected Query complete(QueryCriteria criteria, Sort sort) {
96
- return (criteria == null ? new Query() : new Query().addCriteria(criteria)).with(sort);
97
- }
98
-
99
- private QueryCriteria from(
100
- final Part part,
101
- final CouchbasePersistentProperty property,
102
- final QueryCriteria criteria,
103
- final Iterator<Object> parameters
104
- ) {
105
- final Part.Type type = part.getType();
106
-
107
- switch (type) {
108
- case GREATER_THAN:
109
- case AFTER:
110
- return criteria.gt(parameters.next());
111
- case GREATER_THAN_EQUAL:
112
- return criteria.gte(parameters.next());
113
- case LESS_THAN:
114
- case BEFORE:
115
- return criteria.lt(parameters.next());
116
- case LESS_THAN_EQUAL:
117
- return criteria.lte(parameters.next());
118
- case SIMPLE_PROPERTY:
119
- return criteria.eq(parameters.next());
120
- case NEGATING_SIMPLE_PROPERTY:
121
- return criteria.ne(parameters.next());
122
- case CONTAINING:
123
- return criteria.containing(parameters.next());
124
- case NOT_CONTAINING:
125
- return criteria.notContaining(parameters.next());
126
- case STARTING_WITH:
127
- return criteria.startingWith(parameters.next());
128
- case ENDING_WITH:
129
- return criteria.endingWith(parameters.next());
130
- case LIKE:
131
- return criteria.like(parameters.next());
132
- case NOT_LIKE:
133
- return criteria.notLike(parameters.next());
134
- case WITHIN:
135
- return criteria.within(parameters.next());
136
- case IS_NULL:
137
- return criteria.isNull();
138
- case IS_NOT_NULL:
139
- return criteria.isNotNull();
140
- case IS_EMPTY:
141
- return criteria.isNotValued();
142
- case IS_NOT_EMPTY:
143
- return criteria.isValued();
144
- case EXISTS:
145
- return criteria.isNotMissing();
146
- case REGEX:
147
- return criteria.regex(parameters.next());
148
- case BETWEEN:
149
- return criteria.between(parameters.next(), parameters.next());
150
- case IN:
151
- return criteria.in(parameters.next());
152
- case NOT_IN:
153
- return criteria.notIn(parameters.next());
154
- case TRUE:
155
- return criteria.TRUE();
156
- case FALSE:
157
- return criteria.FALSE();
158
- default:
159
- throw new IllegalArgumentException("Unsupported keyword!");
160
- }
161
- }
162
- }
@@ -1,104 +0,0 @@
1
- <%#
2
- Copyright 2013-2022 the original author or authors from the JHipster project.
3
-
4
- This file is part of the JHipster project, see https://www.jhipster.tech/
5
- for more information.
6
-
7
- Licensed under the Apache License, Version 2.0 (the "License");
8
- you may not use this file except in compliance with the License.
9
- You may obtain a copy of the License at
10
-
11
- https://www.apache.org/licenses/LICENSE-2.0
12
-
13
- Unless required by applicable law or agreed to in writing, software
14
- distributed under the License is distributed on an "AS IS" BASIS,
15
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- See the License for the specific language governing permissions and
17
- limitations under the License.
18
- -%>
19
- package <%= packageName %>.config.couchbase;
20
-
21
- import com.couchbase.client.java.query.QueryScanConsistency;
22
- import org.springframework.data.couchbase.core.CouchbaseOperations;
23
- import org.springframework.data.couchbase.core.ExecutableFindByQueryOperation;
24
- import org.springframework.data.couchbase.core.query.Query;
25
- import org.springframework.data.couchbase.repository.query.CouchbaseQueryMethod;
26
- import org.springframework.data.couchbase.repository.query.ReactiveN1qlRepositoryQueryExecutor;
27
- import org.springframework.data.couchbase.repository.query.StringN1qlQueryCreator;
28
- import org.springframework.data.repository.core.NamedQueries;
29
- import org.springframework.data.repository.query.ParameterAccessor;
30
- import org.springframework.data.repository.query.ParametersParameterAccessor;
31
- import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
32
- import org.springframework.data.repository.query.parser.PartTree;
33
- import org.springframework.expression.spel.standard.SpelExpressionParser;
34
-
35
- public class CustomN1qlRepositoryQueryExecutor {
36
-
37
- private final CouchbaseOperations operations;
38
- private final CouchbaseQueryMethod queryMethod;
39
- private final NamedQueries namedQueries;
40
-
41
- public CustomN1qlRepositoryQueryExecutor(
42
- final CouchbaseOperations operations,
43
- final CouchbaseQueryMethod queryMethod,
44
- final NamedQueries namedQueries
45
- ) {
46
- this.operations = operations;
47
- this.queryMethod = queryMethod;
48
- this.namedQueries = namedQueries;
49
- }
50
-
51
- /**
52
- * see also {@link ReactiveN1qlRepositoryQueryExecutor#execute(Object[] parameters) execute }
53
- *
54
- * @param parameters substitute values
55
- * @return with data
56
- */
57
- public Object execute(final Object[] parameters) {
58
- final Class<?> domainClass = queryMethod.getResultProcessor().getReturnedType().getDomainType();
59
- final ParameterAccessor accessor = new ParametersParameterAccessor(queryMethod.getParameters(), parameters);
60
-
61
- // this is identical to ReactiveN1qlRespositoryQueryExecutor,
62
- // except for the type of 'q', and the call to oneValue() vs one()
63
- Query query;
64
- ExecutableFindByQueryOperation.ExecutableFindByQuery q;
65
- if (queryMethod.hasN1qlAnnotation()) {
66
- query =
67
- new StringN1qlQueryCreator(
68
- accessor,
69
- queryMethod,
70
- operations.getConverter(),
71
- operations.getBucketName(),
72
- new SpelExpressionParser(),
73
- QueryMethodEvaluationContextProvider.DEFAULT,
74
- namedQueries
75
- )
76
- .createQuery();
77
- } else {
78
- final PartTree tree = new PartTree(queryMethod.getName(), domainClass);
79
- query = new CustomN1qlQueryCreator(operations, tree, accessor, queryMethod, operations.getConverter()).createQuery();
80
- }
81
- q =
82
- (ExecutableFindByQueryOperation.ExecutableFindByQuery) operations
83
- .findByQuery(domainClass)
84
- .consistentWith(buildQueryScanConsistency())
85
- .matching(query);
86
- if (queryMethod.isCountQuery()) {
87
- return q.count();
88
- } else if (queryMethod.isCollectionQuery()) {
89
- return q.all();
90
- } else {
91
- return q.oneValue();
92
- }
93
- }
94
-
95
- private QueryScanConsistency buildQueryScanConsistency() {
96
- QueryScanConsistency scanConsistency = QueryScanConsistency.NOT_BOUNDED;
97
- if (queryMethod.hasConsistencyAnnotation()) {
98
- scanConsistency = queryMethod.getConsistencyAnnotation().value();
99
- } else if (queryMethod.hasScanConsistencyAnnotation()) {
100
- scanConsistency = queryMethod.getScanConsistencyAnnotation().query();
101
- }
102
- return scanConsistency;
103
- }
104
- }
@@ -1,19 +0,0 @@
1
- CREATE INDEX type ON `${bucket}`(`_class`)
2
- WITH { "defer_build" : true };
3
- <%_ if (!skipUserManagement) { _%>
4
-
5
- CREATE INDEX user_mail ON `${bucket}`(email)
6
- WHERE `_class` = "<%= packageName %>.domain.<%= asEntity('User') %>"
7
- WITH { "defer_build" : true };
8
-
9
- <% if (authenticationTypeSession) { %>
10
-
11
- CREATE INDEX token_login ON `${bucket}`(login)
12
- WHERE `_class` = "<%= packageName %>.domain.PersistentToken"
13
- WITH { "defer_build" : true };
14
-
15
- CREATE INDEX token_date ON `${bucket}`(tokenDate)
16
- WHERE `_class` = "<%= packageName %>.domain.PersistentToken"
17
- WITH { "defer_build" : true };
18
- <%_ } _%>
19
- <%_ } _%>