@eui/cli 21.0.0-alpha.3 → 21.0.0-alpha.5
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.
- package/.version.properties +1 -0
- package/bin/eui-cli.js +47 -0
- package/lib/build.js +155 -0
- package/lib/cli.js +123 -0
- package/lib/config.js +58 -0
- package/lib/generators.js +75 -0
- package/lib/install.js +45 -0
- package/lib/maven-build/build.xml +115 -0
- package/lib/maven-build/lib/ant-contrib-20061014.jar +0 -0
- package/lib/maven-build/pom.xml +64 -0
- package/lib/post-build.js +33 -0
- package/lib/skeletons/_angular/base/.browserslistrc +16 -0
- package/lib/skeletons/_angular/base/.editorconfig +16 -0
- package/lib/skeletons/_angular/base/.euirc.json +8 -0
- package/lib/skeletons/_angular/base/README.md +26 -0
- package/lib/skeletons/_angular/base/angular.json +158 -0
- package/lib/skeletons/_angular/base/gitignore_TO_REPLACE +51 -0
- package/lib/skeletons/_angular/base/mock/app/models/user.js +6 -0
- package/lib/skeletons/_angular/base/mock/app/routes/index.js +5 -0
- package/lib/skeletons/_angular/base/mock/app/routes/user_routes.js +44 -0
- package/lib/skeletons/_angular/base/mock/db/db.json +10 -0
- package/lib/skeletons/_angular/base/mock/server.js +23 -0
- package/lib/skeletons/_angular/base/package.json +38 -0
- package/lib/skeletons/_angular/base/proxy-mock.conf.json +6 -0
- package/lib/skeletons/_angular/base/proxy.conf.json +6 -0
- package/lib/skeletons/_angular/base/src/.eslintrc.json +121 -0
- package/lib/skeletons/_angular/base/src/app/app-starter.service.spec.ts +68 -0
- package/lib/skeletons/_angular/base/src/app/app-starter.service.ts +68 -0
- package/lib/skeletons/_angular/base/src/app/app.component.html +35 -0
- package/lib/skeletons/_angular/base/src/app/app.component.spec.ts +60 -0
- package/lib/skeletons/_angular/base/src/app/app.component.ts +35 -0
- package/lib/skeletons/_angular/base/src/app/app.config.ts +84 -0
- package/lib/skeletons/_angular/base/src/app/app.routes.ts +9 -0
- package/lib/skeletons/_angular/base/src/app/features/home/home.component.html +41 -0
- package/lib/skeletons/_angular/base/src/app/features/home/home.component.ts +17 -0
- package/lib/skeletons/_angular/base/src/app/features/home/home.routes.ts +6 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/components/page1/page1.component.html +7 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/components/page1/page1.component.ts +10 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/components/page2/page2.component.html +7 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/components/page2/page2.component.ts +10 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/module1.component.html +7 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/module1.component.ts +10 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/module1.routes.ts +10 -0
- package/lib/skeletons/_angular/base/src/app/features/module2/module2.component.html +7 -0
- package/lib/skeletons/_angular/base/src/app/features/module2/module2.component.ts +10 -0
- package/lib/skeletons/_angular/base/src/app/features/module2/module2.routes.ts +6 -0
- package/lib/skeletons/_angular/base/src/app/shared/testing/router.mock.ts +18 -0
- package/lib/skeletons/_angular/base/src/assets/config/env-json-config-dev.json +8 -0
- package/lib/skeletons/_angular/base/src/assets/config/env-json-config-prod.json +8 -0
- package/lib/skeletons/_angular/base/src/assets/config/env-json-config.json +7 -0
- package/lib/skeletons/_angular/base/src/assets/i18n/en.json +7 -0
- package/lib/skeletons/_angular/base/src/assets/i18n/fr.json +7 -0
- package/lib/skeletons/_angular/base/src/config/global.ts +33 -0
- package/lib/skeletons/_angular/base/src/config/index.ts +8 -0
- package/lib/skeletons/_angular/base/src/config/modules.ts +7 -0
- package/lib/skeletons/_angular/base/src/dummy.spec.ts +6 -0
- package/lib/skeletons/_angular/base/src/environments/environment.prod.ts +11 -0
- package/lib/skeletons/_angular/base/src/environments/environment.ts +15 -0
- package/lib/skeletons/_angular/base/src/favicon.ico +0 -0
- package/lib/skeletons/_angular/base/src/index.html +20 -0
- package/lib/skeletons/_angular/base/src/karma.conf.js +7 -0
- package/lib/skeletons/_angular/base/src/main.ts +20 -0
- package/lib/skeletons/_angular/base/src/styles.scss +1 -0
- package/lib/skeletons/_angular/base/src/tsconfig.app.json +18 -0
- package/lib/skeletons/_angular/base/src/tsconfig.spec.json +14 -0
- package/lib/skeletons/_angular/base/tsconfig.json +27 -0
- package/lib/skeletons/_angular/base-mobile/angular.json +156 -0
- package/lib/skeletons/_angular/base-mobile/ionic.config.json +5 -0
- package/lib/skeletons/_angular/base-mobile/ngsw-config.json +33 -0
- package/lib/skeletons/_angular/base-mobile/package.json +27 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app-routing.module.ts +18 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app-starter.service.ts +73 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app.component.html +47 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app.component.ts +81 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app.config.ts +81 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app.module.ts +44 -0
- package/lib/skeletons/_angular/base-mobile/src/app/core/components/.gitkeep +0 -0
- package/lib/skeletons/_angular/base-mobile/src/app/core/core.module.ts +89 -0
- package/lib/skeletons/_angular/base-mobile/src/app/core/reducers/index.ts +32 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/about-routing.module.ts +45 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.component.html +70 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.component.ts +19 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.module.ts +30 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/change-log/changelog.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/change-log/changelog.component.ts +102 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/help-support/help-support.component.html +20 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/help-support/help-support.component.ts +75 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/legal-notice/legal-notice.component.html +12 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/legal-notice/legal-notice.component.ts +8 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/licence-details/licence-details.component.html +48 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/licence-details/licence-details.component.ts +7 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/opensource-licences/opensource-licences.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/opensource-licences/opensource-licences.component.ts +31 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/privacy-statement/privacy-statement.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/privacy-statement/privacy-statement.component.ts +103 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/home/home-routing.module.ts +15 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.component.ts +9 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.module.ts +18 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page1/page1.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page1/page1.component.ts +8 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page2/page2.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page2/page2.component.ts +8 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1-routing.module.ts +18 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.component.html +15 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.component.ts +17 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.module.ts +21 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2-routing.module.ts +16 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.component.ts +7 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.module.ts +17 -0
- package/lib/skeletons/_angular/base-mobile/src/app/shared/shared.module.ts +16 -0
- package/lib/skeletons/_angular/base-mobile/src/app/shared/testing/router.mock.ts +18 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/docs/pdf-test.pdf +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/i18n/en.json +25 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/i18n/es.json +24 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/i18n/fr.json +25 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/i18n/tr.json +25 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-1024.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-114.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-120.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-128.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-144.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-152.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-16.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-180.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-192.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-32.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-36.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-384.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-48.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-512.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-57.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-60.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-72.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-76.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-96.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1125-2436.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1170-2532.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1179-2556.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1242-2208.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1242-2688.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1284-2778.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1290-2796.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1488-2266.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1536-2048.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1620-2160.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1640-2360.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1668-2224.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1668-2388.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-2048-2732.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-640-1136.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-750-1334.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-828-1792.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1125-2436.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1170-2532.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1179-2556.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1242-2208.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1242-2688.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1284-2778.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1290-2796.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1488-2266.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1536-2048.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1620-2160.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1640-2360.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1668-2224.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1668-2388.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-2048-2732.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-640-1136.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-750-1334.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-828-1792.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/images/app-icon.svg +10 -0
- package/lib/skeletons/_angular/base-mobile/src/config/global.ts +39 -0
- package/lib/skeletons/_angular/base-mobile/src/config/index.ts +8 -0
- package/lib/skeletons/_angular/base-mobile/src/config/modules.ts +7 -0
- package/lib/skeletons/_angular/base-mobile/src/index.html +76 -0
- package/lib/skeletons/_angular/base-mobile/src/main.ts +23 -0
- package/lib/skeletons/_angular/base-mobile/src/manifest.webmanifest +66 -0
- package/lib/skeletons/_angular/base-mobile/src/tsconfig.app.json +20 -0
- package/lib/skeletons/_angular/options/ecl-ec/angular.json +181 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/app.component.html +237 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/app.component.ts +65 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/app.config.ts +84 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/home/home.component.html +71 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/home/home.component.ts +20 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page1/page1.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page1/page1.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page2/page2.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page2/page2.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/module1.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/module1.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module2/module2.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module2/module2.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/config/global.ts +23 -0
- package/lib/skeletons/_angular/options/ecl-eu/angular.json +181 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/app.component.html +203 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/app.component.ts +65 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/app.config.ts +84 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/home/home.component.html +71 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/home/home.component.ts +20 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page1/page1.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page1/page1.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page2/page2.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page2/page2.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/module1.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/module1.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module2/module2.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module2/module2.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/shared/shared.module.ts +19 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/config/global.ts +23 -0
- package/lib/skeletons/web-maven/package.json +17 -0
- package/lib/skeletons/web-maven/pom.xml +55 -0
- package/lib/skeletons/web-maven/src/main/java/eu/europa/ec/digit/eui/angular2clistarter/servlet/SpringWebApplicationInitializer.java +22 -0
- package/lib/skeletons/web-maven/src/main/java/eu/europa/ec/digit/eui/angular2clistarter/spring/SpringRestConfiguration.java +24 -0
- package/lib/skeletons/web-maven/src/main/java/eu/europa/ec/digit/eui/angular2clistarter/spring/rest/UserDetailsResource.java +23 -0
- package/lib/skeletons/web-maven/src/main/resources/ecas-config-application-name.xml +7 -0
- package/lib/skeletons/web-maven/src/main/webapp/WEB-INF/dispatcher-servlet.xml +11 -0
- package/lib/skeletons/web-maven/src/main/webapp/WEB-INF/web.xml +38 -0
- package/lib/skeletons/web-maven/src/main/webapp/WEB-INF/weblogic.xml +16 -0
- package/lib/skeletons/web-maven/src/main/webapp/index.jsp +30 -0
- package/lib/skeletons/web-spring-boot/myapp-web/pom.xml +83 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/pom.xml +83 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/MyappApplication.java +46 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/domain/Address.java +65 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/domain/Building.java +44 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/repositories/BuildingRepository.java +11 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/BuildingResource.java +26 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/SwaggerConfig.java +16 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/support/HateoasPageableHandlerMethodArgumentResolver.java +45 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/support/HypermediaSupport.java +25 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/support/PageJsonSerializer.java +17 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/CachingPreventionFilter.java +29 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/CsrfPreventionFilter.java +35 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/FakeAuthenticationFilter.java +372 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/SecurityConfig.java +47 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/services/BuildingSearchCriteria.java +26 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/services/BuildingService.java +10 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/services/BuildingServiceImpl.java +26 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/resources/application.properties +0 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/resources/data.sql +11 -0
- package/lib/skeletons/web-spring-boot/pom.xml +30 -0
- package/lib/skeletons/web-symfony/myapp-web/angular.json +169 -0
- package/lib/skeletons/web-symfony/myapp-web/package.json +23 -0
- package/lib/skeletons/web-symfony/myapp-web/src/app/app-routing.module.ts +18 -0
- package/lib/skeletons/web-symfony/myapp-web/src/app/app.component.ts +77 -0
- package/lib/skeletons/web-symfony/myapp-web/src/app/features/products/components/products.component.html +160 -0
- package/lib/skeletons/web-symfony/myapp-web/src/app/features/products/components/products.component.scss +0 -0
- package/lib/skeletons/web-symfony/myapp-web/src/app/features/products/components/products.component.ts +104 -0
- package/lib/skeletons/web-symfony/myapp-web/src/app/features/products/models/product.model.ts +6 -0
- package/lib/skeletons/web-symfony/myapp-web/src/app/features/products/products-routing.module.ts +16 -0
- package/lib/skeletons/web-symfony/myapp-web/src/app/features/products/products.module.ts +16 -0
- package/lib/skeletons/web-symfony/myapp-web/src/app/features/products/services/products.service.ts +29 -0
- package/lib/skeletons/web-symfony/myapp-web/src/environments/environment.ts +17 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/.env +28 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/bin/console +42 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/composer.json +67 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/composer.lock +3572 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/bootstrap.php +21 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/bundles.php +12 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/config.yml +0 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/cache.yaml +19 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/dev/routing.yaml +3 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/doctrine.yaml +29 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/doctrine_migrations.yaml +5 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/framework.yaml +17 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/prod/doctrine.yaml +32 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/routing.yaml +4 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/sensio_framework_extra.yaml +3 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/test/framework.yaml +4 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/test/routing.yaml +3 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/twig.yaml +4 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/routes/annotations.yaml +3 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/routes/dev/twig.yaml +3 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/routes.yaml +3 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/config/services.yaml +27 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/public/index.php +27 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/src/Controller/ProductController.php +196 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/src/Entity/Product.php +99 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/src/Kernel.php +53 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/src/Migrations/Version20190604101623.php +31 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/src/Migrations/Version20190604101638.php +35 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/src/Repository/ProductRepository.php +51 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/symfony.lock +274 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/templates/base.html.twig +12 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/templates/lucky/number.html.twig +1 -0
- package/lib/skeletons/web-symfony/myapp-web-rest/templates/product/index.html.twig +20 -0
- package/lib/utils.js +13 -0
- package/package.json +1 -1
- package/sonar-project.properties +14 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { RouterModule } from '@angular/router';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
5
|
+
|
|
6
|
+
import { EclAllModule } from '@eui/ecl';
|
|
7
|
+
|
|
8
|
+
const MODULES = [
|
|
9
|
+
RouterModule,
|
|
10
|
+
EclAllModule,
|
|
11
|
+
TranslateModule,
|
|
12
|
+
CommonModule,
|
|
13
|
+
];
|
|
14
|
+
@NgModule({
|
|
15
|
+
imports: [...MODULES],
|
|
16
|
+
declarations: [],
|
|
17
|
+
exports: [...MODULES],
|
|
18
|
+
})
|
|
19
|
+
export class SharedModule {}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { GlobalConfig } from '@eui/core';
|
|
2
|
+
|
|
3
|
+
export const GLOBAL: GlobalConfig = {
|
|
4
|
+
appTitle: 'CSDR-app',
|
|
5
|
+
i18n: {
|
|
6
|
+
i18nService: {
|
|
7
|
+
defaultLanguage: 'en',
|
|
8
|
+
languages: ['en', 'fr'],
|
|
9
|
+
},
|
|
10
|
+
i18nLoader: {
|
|
11
|
+
i18nFolders: ['i18n-eui', 'i18n-ecl', 'i18n'],
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
user: {
|
|
15
|
+
defaultUserPreferences: {
|
|
16
|
+
dashboard: { },
|
|
17
|
+
lang: 'en',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
eui: {
|
|
21
|
+
theme: 'eu',
|
|
22
|
+
},
|
|
23
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "angular-app-web-maven-scripts",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"license": "EUPL-1.1",
|
|
5
|
+
"description": "eUI JEE Spring Maven module starter app scripts",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"angular-install": "cd src/main/angular && yarn install",
|
|
8
|
+
"angular-build": "cd src/main/angular && npm run build",
|
|
9
|
+
"angular-build-prod": "cd src/main/angular && npm run build-prod",
|
|
10
|
+
"build": "npm run angular-build && mvn clean package",
|
|
11
|
+
"build-prod": "npm run angular-build-prod && mvn clean package",
|
|
12
|
+
"start": "cd src/main/angular && npm start",
|
|
13
|
+
"start-proxy": "cd src/main/angular && npm run start-proxy"
|
|
14
|
+
},
|
|
15
|
+
"private": true,
|
|
16
|
+
"repository": {}
|
|
17
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
3
|
+
<modelVersion>4.0.0</modelVersion>
|
|
4
|
+
|
|
5
|
+
<groupId>eu.europa.ec.digit</groupId>
|
|
6
|
+
<artifactId>application-name</artifactId>
|
|
7
|
+
<version>0.1.0-SNAPSHOT</version>
|
|
8
|
+
<packaging>war</packaging>
|
|
9
|
+
|
|
10
|
+
<dependencies>
|
|
11
|
+
<dependency>
|
|
12
|
+
<groupId>org.springframework</groupId>
|
|
13
|
+
<artifactId>spring-webmvc</artifactId>
|
|
14
|
+
<version>6.0.10</version>
|
|
15
|
+
</dependency>
|
|
16
|
+
<dependency>
|
|
17
|
+
<groupId>eu.europa.ec.digit.uxatec.eui</groupId>
|
|
18
|
+
<artifactId>eui-angular2-servlet</artifactId>
|
|
19
|
+
<version>1.0.0</version>
|
|
20
|
+
</dependency>
|
|
21
|
+
<dependency>
|
|
22
|
+
<groupId>eu.europa.ec.digit.iam.ecas.client</groupId>
|
|
23
|
+
<artifactId>ecas-weblogic-10.3-authprovider</artifactId>
|
|
24
|
+
<version>4.10.1</version>
|
|
25
|
+
<scope>provided</scope>
|
|
26
|
+
</dependency>
|
|
27
|
+
<!-- This Jackson dependency is only necessary for older versions of WebLogic: -->
|
|
28
|
+
<!--
|
|
29
|
+
<dependency>
|
|
30
|
+
<groupId>com.fasterxml.jackson.core</groupId>
|
|
31
|
+
<artifactId>jackson-databind</artifactId>
|
|
32
|
+
<version>2.2.3</version>
|
|
33
|
+
</dependency>
|
|
34
|
+
-->
|
|
35
|
+
</dependencies>
|
|
36
|
+
|
|
37
|
+
<build>
|
|
38
|
+
<plugins>
|
|
39
|
+
<plugin>
|
|
40
|
+
<groupId>org.apache.maven.plugins</groupId>
|
|
41
|
+
<artifactId>maven-war-plugin</artifactId>
|
|
42
|
+
<version>3.4.0</version>
|
|
43
|
+
<configuration>
|
|
44
|
+
<failOnMissingWebXml>false</failOnMissingWebXml>
|
|
45
|
+
<webResources>
|
|
46
|
+
<resource>
|
|
47
|
+
<directory>src/main/angular/dist</directory>
|
|
48
|
+
</resource>
|
|
49
|
+
</webResources>
|
|
50
|
+
</configuration>
|
|
51
|
+
</plugin>
|
|
52
|
+
</plugins>
|
|
53
|
+
</build>
|
|
54
|
+
|
|
55
|
+
</project>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
package eu.europa.ec.digit.eui.angular2clistarter.servlet;
|
|
2
|
+
|
|
3
|
+
import eu.europa.ec.digit.eui.angular2clistarter.spring.SpringRestConfiguration;
|
|
4
|
+
import org.springframework.web.WebApplicationInitializer;
|
|
5
|
+
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
|
|
6
|
+
|
|
7
|
+
public class SpringWebApplicationInitializer extends AbstractAnnotationConfigDispatcherServletInitializer implements WebApplicationInitializer {
|
|
8
|
+
@Override
|
|
9
|
+
protected Class<?>[] getRootConfigClasses() {
|
|
10
|
+
return new Class[] { SpringRestConfiguration.class };
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@Override
|
|
14
|
+
protected Class<?>[] getServletConfigClasses() {
|
|
15
|
+
return new Class[] { SpringRestConfiguration.class };
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@Override
|
|
19
|
+
protected String[] getServletMappings() {
|
|
20
|
+
return new String[] { "/api/*" };
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
package eu.europa.ec.digit.eui.angular2clistarter.spring;
|
|
2
|
+
|
|
3
|
+
import org.springframework.context.annotation.Bean;
|
|
4
|
+
import org.springframework.context.annotation.ComponentScan;
|
|
5
|
+
import org.springframework.context.annotation.Configuration;
|
|
6
|
+
import org.springframework.web.servlet.config.annotation.CorsRegistry;
|
|
7
|
+
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
|
8
|
+
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
|
9
|
+
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
|
|
10
|
+
|
|
11
|
+
@Configuration
|
|
12
|
+
@EnableWebMvc
|
|
13
|
+
@ComponentScan(basePackages = "eu.europa.ec.digit.eui.angular2clistarter.spring.rest")
|
|
14
|
+
public class SpringRestConfiguration extends WebMvcConfigurerAdapter {
|
|
15
|
+
@Bean
|
|
16
|
+
public WebMvcConfigurer corsConfigurer() {
|
|
17
|
+
return new WebMvcConfigurerAdapter() {
|
|
18
|
+
@Override
|
|
19
|
+
public void addCorsMappings(CorsRegistry registry) {
|
|
20
|
+
registry.addMapping("/**").allowedOrigins("*").allowedMethods("*").allowedHeaders("*").allowCredentials(true);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
package eu.europa.ec.digit.eui.angular2clistarter.spring.rest;
|
|
2
|
+
|
|
3
|
+
import eu.cec.digit.ecas.client.jaas.UserDetailsAccessible;
|
|
4
|
+
import org.springframework.web.bind.annotation.RequestMapping;
|
|
5
|
+
import org.springframework.web.bind.annotation.RequestMethod;
|
|
6
|
+
import org.springframework.web.bind.annotation.RestController;
|
|
7
|
+
|
|
8
|
+
import javax.servlet.http.HttpServletRequest;
|
|
9
|
+
import java.security.Principal;
|
|
10
|
+
|
|
11
|
+
@RestController
|
|
12
|
+
@RequestMapping("user-details")
|
|
13
|
+
public class UserDetailsResource {
|
|
14
|
+
@RequestMapping(method = RequestMethod.GET)
|
|
15
|
+
public UserDetailsAccessible getIdentity(HttpServletRequest request) {
|
|
16
|
+
Principal principal = request.getUserPrincipal();
|
|
17
|
+
if (principal instanceof UserDetailsAccessible) {
|
|
18
|
+
return (UserDetailsAccessible) principal;
|
|
19
|
+
} else {
|
|
20
|
+
throw new RuntimeException("ECAS needs to be configured to expose the UserDetails: set the property requestingUserDetails (eu.cec.digit.ecas.client.filter.requestingUserDetails) to true.");
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<client-config xmlns="https://ecas.ec.europa.eu/cas/schemas/client-config/ecas/">
|
|
3
|
+
<requestingUserDetails>true</requestingUserDetails>
|
|
4
|
+
<redirectionInterceptors>
|
|
5
|
+
<redirectionInterceptor>eu.cec.digit.ecas.client.http.ajax.JsonAjaxRedirectionInterceptor</redirectionInterceptor>
|
|
6
|
+
</redirectionInterceptors>
|
|
7
|
+
</client-config>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<beans xmlns="http://www.springframework.org/schema/beans"
|
|
3
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
4
|
+
xmlns:mvc="http://www.springframework.org/schema/mvc"
|
|
5
|
+
xmlns:context="http://www.springframework.org/schema/context"
|
|
6
|
+
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
|
|
7
|
+
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
|
|
8
|
+
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">
|
|
9
|
+
<!-- Intentionally empty. -->
|
|
10
|
+
<!-- This file is here to work-around a bug in Spring + Weblogic where a default XML-based dispatcher servlet is expecting a /WEB-INF/dispatcher-servlet.xml file. -->
|
|
11
|
+
</beans>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
|
|
3
|
+
<!-- This is an example security constraint for a resource that requires only authentication but not authorization: -->
|
|
4
|
+
<security-constraint>
|
|
5
|
+
<web-resource-collection>
|
|
6
|
+
<web-resource-name>protected</web-resource-name>
|
|
7
|
+
<url-pattern>/*</url-pattern>
|
|
8
|
+
<http-method-omission>OPTIONS</http-method-omission>
|
|
9
|
+
</web-resource-collection>
|
|
10
|
+
<auth-constraint>
|
|
11
|
+
<description>
|
|
12
|
+
Requires users to be authenticated but
|
|
13
|
+
does not require them to be authorized.
|
|
14
|
+
</description>
|
|
15
|
+
<role-name>*</role-name>
|
|
16
|
+
</auth-constraint>
|
|
17
|
+
<user-data-constraint>
|
|
18
|
+
<description>
|
|
19
|
+
Encryption is not required for this area.
|
|
20
|
+
</description>
|
|
21
|
+
<transport-guarantee>NONE</transport-guarantee>
|
|
22
|
+
</user-data-constraint>
|
|
23
|
+
</security-constraint>
|
|
24
|
+
|
|
25
|
+
<welcome-file-list>
|
|
26
|
+
<welcome-file>/index.jsp</welcome-file>
|
|
27
|
+
</welcome-file-list>
|
|
28
|
+
|
|
29
|
+
<mime-mapping>
|
|
30
|
+
<extension>woff2</extension>
|
|
31
|
+
<mime-type>font/woff2</mime-type>
|
|
32
|
+
</mime-mapping>
|
|
33
|
+
|
|
34
|
+
<mime-mapping>
|
|
35
|
+
<extension>json</extension>
|
|
36
|
+
<mime-type>application/json</mime-type>
|
|
37
|
+
</mime-mapping>
|
|
38
|
+
</web-app>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
|
|
3
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
4
|
+
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3.0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.8/weblogic-web-app.xsd">
|
|
5
|
+
|
|
6
|
+
<session-descriptor>
|
|
7
|
+
<cookie-path>/application-name</cookie-path>
|
|
8
|
+
</session-descriptor>
|
|
9
|
+
|
|
10
|
+
<!-- We want to allow some resources to be accessed by authenticated users who do not possess any role -->
|
|
11
|
+
<container-descriptor>
|
|
12
|
+
<allow-all-roles>true</allow-all-roles>
|
|
13
|
+
</container-descriptor>
|
|
14
|
+
|
|
15
|
+
<context-root>/application-name</context-root>
|
|
16
|
+
</weblogic-web-app>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<%@ page pageEncoding="UTF-8" import="java.io.File" %>
|
|
2
|
+
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
|
3
|
+
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
|
4
|
+
<%
|
|
5
|
+
try {
|
|
6
|
+
File indexFile = new File(request.getServletContext().getResource("/index.html").getFile());
|
|
7
|
+
long lastModified = indexFile.lastModified();
|
|
8
|
+
// Ignore the milliseconds; there may be small differences because the time that is stored by the browser is in seconds (apparently):
|
|
9
|
+
if ((lastModified - request.getDateHeader("If-Modified-Since")) / 1000 <= 0) {
|
|
10
|
+
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
|
|
11
|
+
} else {
|
|
12
|
+
response.setDateHeader("Last-Modified", lastModified);
|
|
13
|
+
%>
|
|
14
|
+
<c:set var="baseHref" value="${fn:substring(url, 0, fn:length(url) - fn:length(pageContext.request.requestURI))}${pageContext.request.contextPath}" />
|
|
15
|
+
<c:set var="srcAttribute">src="${baseHref}/</c:set>
|
|
16
|
+
<c:set var="hrefAttribute">href="${baseHref}/</c:set>
|
|
17
|
+
<c:import url="index.html" var="html" charEncoding="UTF-8" />
|
|
18
|
+
<c:set var="html" value="${fn:replace(html, '<base href=\"/\">', '<base href=\"\">')}" />
|
|
19
|
+
<c:set var="html" value="${fn:replace(html, 'src=\"', srcAttribute)}" />
|
|
20
|
+
<c:set var="html" value="${fn:replace(html, 'href=\"', hrefAttribute)}" />
|
|
21
|
+
${html}
|
|
22
|
+
<%
|
|
23
|
+
}
|
|
24
|
+
} catch (Exception e) {
|
|
25
|
+
%>
|
|
26
|
+
No index.html file present.<br/>
|
|
27
|
+
You may have forgotten to build the Angular application before deploying to the server...
|
|
28
|
+
<%
|
|
29
|
+
}
|
|
30
|
+
%>
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
3
|
+
<modelVersion>4.0.0</modelVersion>
|
|
4
|
+
|
|
5
|
+
<artifactId>@app.name@-web</artifactId>
|
|
6
|
+
<version>0.1.0-SNAPSHOT</version>
|
|
7
|
+
<packaging>war</packaging>
|
|
8
|
+
|
|
9
|
+
<parent>
|
|
10
|
+
<groupId>@app.group.id@.@app.name@</groupId>
|
|
11
|
+
<artifactId>@app.name@</artifactId>
|
|
12
|
+
<version>0.1.0-SNAPSHOT</version>
|
|
13
|
+
</parent>
|
|
14
|
+
|
|
15
|
+
<properties>
|
|
16
|
+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
17
|
+
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
|
18
|
+
<java.version>21</java.version>
|
|
19
|
+
</properties>
|
|
20
|
+
|
|
21
|
+
<dependencies>
|
|
22
|
+
<dependency>
|
|
23
|
+
<groupId>javax.servlet</groupId>
|
|
24
|
+
<artifactId>javax.servlet-api</artifactId>
|
|
25
|
+
<version>4.0.1</version>
|
|
26
|
+
<scope>provided</scope>
|
|
27
|
+
</dependency>
|
|
28
|
+
</dependencies>
|
|
29
|
+
|
|
30
|
+
<build>
|
|
31
|
+
<plugins>
|
|
32
|
+
<plugin>
|
|
33
|
+
<groupId>org.codehaus.mojo</groupId>
|
|
34
|
+
<artifactId>exec-maven-plugin</artifactId>
|
|
35
|
+
<version>3.1.0</version>
|
|
36
|
+
<executions>
|
|
37
|
+
<execution>
|
|
38
|
+
<id>npm_package_install</id>
|
|
39
|
+
<phase>generate-sources</phase>
|
|
40
|
+
<goals>
|
|
41
|
+
<goal>exec</goal>
|
|
42
|
+
</goals>
|
|
43
|
+
<configuration>
|
|
44
|
+
<executable>yarn</executable>
|
|
45
|
+
<workingDirectory>src/main/angular</workingDirectory>
|
|
46
|
+
</configuration>
|
|
47
|
+
</execution>
|
|
48
|
+
<execution>
|
|
49
|
+
<id>ng_build</id>
|
|
50
|
+
<phase>generate-sources</phase>
|
|
51
|
+
<goals>
|
|
52
|
+
<goal>exec</goal>
|
|
53
|
+
</goals>
|
|
54
|
+
<configuration>
|
|
55
|
+
<executable>yarn</executable>
|
|
56
|
+
<workingDirectory>src/main/angular</workingDirectory>
|
|
57
|
+
<arguments>
|
|
58
|
+
<argument>build-prod</argument>
|
|
59
|
+
<argument>--prod</argument>
|
|
60
|
+
<argument>--aot</argument>
|
|
61
|
+
<argument>--base-href</argument>
|
|
62
|
+
<argument>/@app.name@/</argument>
|
|
63
|
+
</arguments>
|
|
64
|
+
</configuration>
|
|
65
|
+
</execution>
|
|
66
|
+
</executions>
|
|
67
|
+
</plugin>
|
|
68
|
+
|
|
69
|
+
<plugin>
|
|
70
|
+
<groupId>org.apache.maven.plugins</groupId>
|
|
71
|
+
<artifactId>maven-war-plugin</artifactId>
|
|
72
|
+
<version>3.4.0</version>
|
|
73
|
+
<configuration>
|
|
74
|
+
<webResources>
|
|
75
|
+
<resource>
|
|
76
|
+
<directory>src/main/angular/dist</directory>
|
|
77
|
+
</resource>
|
|
78
|
+
</webResources>
|
|
79
|
+
</configuration>
|
|
80
|
+
</plugin>
|
|
81
|
+
</plugins>
|
|
82
|
+
</build>
|
|
83
|
+
</project>
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
3
|
+
<modelVersion>4.0.0</modelVersion>
|
|
4
|
+
|
|
5
|
+
<artifactId>@app.name@-web-rest</artifactId>
|
|
6
|
+
<version>0.1.0-SNAPSHOT</version>
|
|
7
|
+
<packaging>jar</packaging>
|
|
8
|
+
|
|
9
|
+
<parent>
|
|
10
|
+
<groupId>@app.group.id@.@app.name@</groupId>
|
|
11
|
+
<artifactId>@app.name@</artifactId>
|
|
12
|
+
<version>0.1.0-SNAPSHOT</version>
|
|
13
|
+
</parent>
|
|
14
|
+
|
|
15
|
+
<properties>
|
|
16
|
+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
17
|
+
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
|
18
|
+
<java.version>21</java.version>
|
|
19
|
+
</properties>
|
|
20
|
+
|
|
21
|
+
<dependencies>
|
|
22
|
+
<dependency>
|
|
23
|
+
<groupId>org.springdoc</groupId>
|
|
24
|
+
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
|
|
25
|
+
<version>2.4.0</version>
|
|
26
|
+
</dependency>
|
|
27
|
+
<dependency>
|
|
28
|
+
<groupId>org.springframework.boot</groupId>
|
|
29
|
+
<artifactId>spring-boot-starter-web</artifactId>
|
|
30
|
+
<exclusions>
|
|
31
|
+
<exclusion>
|
|
32
|
+
<groupId>org.springframework.boot</groupId>
|
|
33
|
+
<artifactId>spring-boot-starter-tomcat</artifactId>
|
|
34
|
+
</exclusion>
|
|
35
|
+
</exclusions>
|
|
36
|
+
</dependency>
|
|
37
|
+
<!-- Add tomcat only if I want to run directly -->
|
|
38
|
+
<dependency>
|
|
39
|
+
<groupId>org.springframework.boot</groupId>
|
|
40
|
+
<artifactId>spring-boot-starter-tomcat</artifactId>
|
|
41
|
+
<scope>provided</scope>
|
|
42
|
+
</dependency>
|
|
43
|
+
<dependency>
|
|
44
|
+
<groupId>org.springframework.boot</groupId>
|
|
45
|
+
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
|
46
|
+
<exclusions>
|
|
47
|
+
<exclusion>
|
|
48
|
+
<groupId>org.apache.tomcat</groupId>
|
|
49
|
+
<artifactId>tomcat-jdbc</artifactId>
|
|
50
|
+
</exclusion>
|
|
51
|
+
</exclusions>
|
|
52
|
+
</dependency>
|
|
53
|
+
<dependency>
|
|
54
|
+
<groupId>org.springframework.security</groupId>
|
|
55
|
+
<artifactId>spring-security-web</artifactId>
|
|
56
|
+
<version>6.4.4</version>
|
|
57
|
+
</dependency>
|
|
58
|
+
<dependency>
|
|
59
|
+
<groupId>org.springframework.security</groupId>
|
|
60
|
+
<artifactId>spring-security-config</artifactId>
|
|
61
|
+
<version>6.4.4</version>
|
|
62
|
+
</dependency>
|
|
63
|
+
<dependency>
|
|
64
|
+
<groupId>com.h2database</groupId>
|
|
65
|
+
<artifactId>h2</artifactId>
|
|
66
|
+
<scope>runtime</scope>
|
|
67
|
+
</dependency>
|
|
68
|
+
<dependency>
|
|
69
|
+
<groupId>org.springdoc</groupId>
|
|
70
|
+
<artifactId>springdoc-openapi-starter-common</artifactId>
|
|
71
|
+
<version>2.8.5</version>
|
|
72
|
+
</dependency>
|
|
73
|
+
</dependencies>
|
|
74
|
+
|
|
75
|
+
<build>
|
|
76
|
+
<plugins>
|
|
77
|
+
<plugin>
|
|
78
|
+
<groupId>org.springframework.boot</groupId>
|
|
79
|
+
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
80
|
+
</plugin>
|
|
81
|
+
</plugins>
|
|
82
|
+
</build>
|
|
83
|
+
</project>
|
package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/MyappApplication.java
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
package @app.group.id@.@app.name@;
|
|
2
|
+
|
|
3
|
+
import @app.group.id@.@app.name@.resources.support.HateoasPageableHandlerMethodArgumentResolver;
|
|
4
|
+
import @app.group.id@.@app.name@.resources.support.PageJsonSerializer;
|
|
5
|
+
import org.springframework.boot.SpringApplication;
|
|
6
|
+
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
7
|
+
import org.springframework.boot.builder.SpringApplicationBuilder;
|
|
8
|
+
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
|
|
9
|
+
import org.springframework.context.annotation.Bean;
|
|
10
|
+
import org.springframework.data.domain.Page;
|
|
11
|
+
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
|
|
12
|
+
import org.springframework.web.WebApplicationInitializer;
|
|
13
|
+
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
|
|
14
|
+
import org.springframework.web.servlet.config.annotation.CorsRegistry;
|
|
15
|
+
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
|
16
|
+
|
|
17
|
+
import java.util.List;
|
|
18
|
+
|
|
19
|
+
@SpringBootApplication
|
|
20
|
+
public class MyappApplication extends SpringBootServletInitializer implements WebApplicationInitializer, WebMvcConfigurer {
|
|
21
|
+
@Override
|
|
22
|
+
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
|
|
23
|
+
return application.sources(MyappApplication.class);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@Override
|
|
27
|
+
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
|
|
28
|
+
argumentResolvers.add(new HateoasPageableHandlerMethodArgumentResolver());
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@Override
|
|
32
|
+
public void addCorsMappings(CorsRegistry registry) {
|
|
33
|
+
registry.addMapping("/**").allowedOrigins("*").allowedMethods("*").allowedHeaders("*").exposedHeaders("Content-Range").allowCredentials(true);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@Bean
|
|
37
|
+
public Jackson2ObjectMapperBuilder objectMapperBuilder() {
|
|
38
|
+
Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
|
|
39
|
+
builder.serializerByType(Page.class, new PageJsonSerializer());
|
|
40
|
+
return builder;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
public static void main(String[] args) {
|
|
44
|
+
SpringApplication.run(MyappApplication.class, args);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
package @app.group.id@.@app.name@.domain;
|
|
2
|
+
|
|
3
|
+
import jakarta.persistence.*;
|
|
4
|
+
|
|
5
|
+
@Entity(name = "t_address")
|
|
6
|
+
public class Address {
|
|
7
|
+
@Id
|
|
8
|
+
@SequenceGenerator(name="address_generator", sequenceName="seq_address")
|
|
9
|
+
@GeneratedValue(generator = "address_generator")
|
|
10
|
+
@Column(name = "address_id", nullable = false)
|
|
11
|
+
private Long addressId;
|
|
12
|
+
|
|
13
|
+
@Column(nullable = false)
|
|
14
|
+
private String street;
|
|
15
|
+
|
|
16
|
+
@Column(name = "postal_code", nullable = false)
|
|
17
|
+
private String postalCode;
|
|
18
|
+
|
|
19
|
+
@Column(nullable = false)
|
|
20
|
+
private String city;
|
|
21
|
+
|
|
22
|
+
@Column(nullable = false)
|
|
23
|
+
private String country;
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
public Long getAddressId() {
|
|
27
|
+
return addressId;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public void setAddressId(Long addressId) {
|
|
31
|
+
this.addressId = addressId;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
public String getStreet() {
|
|
35
|
+
return street;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
public void setStreet(String street) {
|
|
39
|
+
this.street = street;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public String getPostalCode() {
|
|
43
|
+
return postalCode;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public void setPostalCode(String postalCode) {
|
|
47
|
+
this.postalCode = postalCode;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
public String getCity() {
|
|
51
|
+
return city;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public void setCity(String city) {
|
|
55
|
+
this.city = city;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
public String getCountry() {
|
|
59
|
+
return country;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
public void setCountry(String country) {
|
|
63
|
+
this.country = country;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
package @app.group.id@.@app.name@.domain;
|
|
2
|
+
|
|
3
|
+
import jakarta.persistence.*;
|
|
4
|
+
import java.io.Serializable;
|
|
5
|
+
|
|
6
|
+
@Entity(name = "t_building")
|
|
7
|
+
public class Building implements Serializable {
|
|
8
|
+
@Id
|
|
9
|
+
@SequenceGenerator(name="building_generator", sequenceName="seq_building")
|
|
10
|
+
@GeneratedValue(generator = "building_generator")
|
|
11
|
+
private Long buildingId;
|
|
12
|
+
|
|
13
|
+
@Column(nullable = false)
|
|
14
|
+
private String name;
|
|
15
|
+
|
|
16
|
+
@OneToOne()
|
|
17
|
+
@JoinColumn(name = "address_id")
|
|
18
|
+
private Address address;
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
public Long getBuildingId() {
|
|
22
|
+
return buildingId;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
public void setBuildingId(Long buildingId) {
|
|
26
|
+
this.buildingId = buildingId;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
public String getName() {
|
|
30
|
+
return name;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public void setName(String name) {
|
|
34
|
+
this.name = name;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public Address getAddress() {
|
|
38
|
+
return address;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public void setAddress(Address address) {
|
|
42
|
+
this.address = address;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
package @app.group.id@.@app.name@.repositories;
|
|
2
|
+
|
|
3
|
+
import @app.group.id@.@app.name@.domain.Building;
|
|
4
|
+
import org.springframework.data.domain.Page;
|
|
5
|
+
import org.springframework.data.domain.Pageable;
|
|
6
|
+
import org.springframework.data.repository.PagingAndSortingRepository;
|
|
7
|
+
|
|
8
|
+
public interface BuildingRepository extends PagingAndSortingRepository<Building, Long> {
|
|
9
|
+
Page<Building> findAll(Pageable pageable);
|
|
10
|
+
Page<Building> findByNameContainingAllIgnoringCase(String name, Pageable pageable);
|
|
11
|
+
}
|