From 0422579ae99d0f4f8e962fa29335a37cb008f21e Mon Sep 17 00:00:00 2001 From: revengel66 Date: Thu, 23 May 2024 14:27:28 +0300 Subject: [PATCH] lab3 --- .gradle/8.6/checksums/checksums.lock | Bin 0 -> 17 bytes .../8.6/dependencies-accessors/gc.properties | 0 .../8.6/executionHistory/executionHistory.bin | Bin 0 -> 59887 bytes .../executionHistory/executionHistory.lock | Bin 0 -> 17 bytes .gradle/8.6/fileChanges/last-build.bin | Bin 0 -> 1 bytes .gradle/8.6/fileHashes/fileHashes.bin | Bin 0 -> 21747 bytes .gradle/8.6/fileHashes/fileHashes.lock | Bin 0 -> 17 bytes .../8.6/fileHashes/resourceHashesCache.bin | Bin 0 -> 19517 bytes .gradle/8.6/gc.properties | 0 .../buildOutputCleanup.lock | Bin 0 -> 17 bytes .gradle/buildOutputCleanup/cache.properties | 2 + .gradle/buildOutputCleanup/outputFiles.bin | Bin 0 -> 18911 bytes .gradle/file-system.probe | Bin 0 -> 8 bytes .gradle/vcs-1/gc.properties | 0 HELP.md | 22 + bin/main/application.properties | 20 + .../com/example/demo/DemoApplication.class | Bin 0 -> 5352 bytes .../com/example/demo/core/api/PageDto.class | Bin 0 -> 3013 bytes .../example/demo/core/api/PageDtoMapper.class | Bin 0 -> 2691 bytes .../demo/core/configuration/Constants.class | Bin 0 -> 504 bytes .../configuration/MapperConfiguration.class | Bin 0 -> 661 bytes .../core/configuration/WebConfiguration.class | Bin 0 -> 1322 bytes .../demo/core/error/NotFoundException.class | Bin 0 -> 890 bytes .../example/demo/core/model/BaseEntity.class | Bin 0 -> 1011 bytes .../demo/orders/api/OrdersController.class | Bin 0 -> 5788 bytes .../example/demo/orders/api/OrdersDto.class | Bin 0 -> 2492 bytes .../demo/orders/model/OrdersEntity.class | Bin 0 -> 3481 bytes .../orders/repository/OrdersRepository.class | Bin 0 -> 621 bytes .../demo/orders/service/OrdersService.class | Bin 0 -> 4081 bytes .../products/api/ProductsController.class | Bin 0 -> 5339 bytes .../demo/products/api/ProductsDto.class | Bin 0 -> 1864 bytes .../products/api/ProductsGroupedDto.class | Bin 0 -> 855 bytes .../demo/products/model/ProductsEntity.class | Bin 0 -> 2390 bytes .../demo/products/model/ProductsGrouped.class | Bin 0 -> 253 bytes .../repository/ProductsRepository.class | Bin 0 -> 704 bytes .../products/service/ProductsService.class | Bin 0 -> 3885 bytes .../demo/types/api/TypesController.class | Bin 0 -> 4012 bytes .../com/example/demo/types/api/TypesDto.class | Bin 0 -> 1217 bytes .../demo/types/model/TypesEntity.class | Bin 0 -> 1522 bytes .../types/repository/TypesRepository.class | Bin 0 -> 356 bytes .../demo/types/service/TypesService.class | Bin 0 -> 3360 bytes .../demo/users/api/UsersController.class | Bin 0 -> 4222 bytes .../com/example/demo/users/api/UsersDto.class | Bin 0 -> 1414 bytes .../demo/users/model/UsersEntity.class | Bin 0 -> 2833 bytes .../users/repository/UsersRepository.class | Bin 0 -> 550 bytes .../demo/users/service/UsersService.class | Bin 0 -> 3904 bytes bin/test/application.properties | 14 + .../example/demo/ProductsServiceTests.class | Bin 0 -> 5234 bytes .../com/example/demo/TypesServiceTests.class | Bin 0 -> 3412 bytes .../demo/UsersOrdersServiceTests.class | Bin 0 -> 8161 bytes build.gradle | 43 + .../com/example/demo/DemoApplication.class | Bin 0 -> 5435 bytes .../com/example/demo/core/api/PageDto.class | Bin 0 -> 3138 bytes .../example/demo/core/api/PageDtoMapper.class | Bin 0 -> 2729 bytes .../demo/core/configuration/Constants.class | Bin 0 -> 504 bytes .../configuration/MapperConfiguration.class | Bin 0 -> 661 bytes .../core/configuration/WebConfiguration.class | Bin 0 -> 1352 bytes .../demo/core/error/NotFoundException.class | Bin 0 -> 924 bytes .../example/demo/core/model/BaseEntity.class | Bin 0 -> 1052 bytes .../demo/orders/api/OrdersController.class | Bin 0 -> 5949 bytes .../example/demo/orders/api/OrdersDto.class | Bin 0 -> 2566 bytes .../demo/orders/model/OrdersEntity.class | Bin 0 -> 3578 bytes .../orders/repository/OrdersRepository.class | Bin 0 -> 680 bytes .../demo/orders/service/OrdersService.class | Bin 0 -> 4204 bytes .../products/api/ProductsController.class | Bin 0 -> 5466 bytes .../demo/products/api/ProductsDto.class | Bin 0 -> 1927 bytes .../products/api/ProductsGroupedDto.class | Bin 0 -> 896 bytes .../demo/products/model/ProductsEntity.class | Bin 0 -> 2476 bytes .../demo/products/model/ProductsGrouped.class | Bin 0 -> 253 bytes .../repository/ProductsRepository.class | Bin 0 -> 704 bytes .../products/service/ProductsService.class | Bin 0 -> 3977 bytes .../demo/types/api/TypesController.class | Bin 0 -> 4116 bytes .../com/example/demo/types/api/TypesDto.class | Bin 0 -> 1258 bytes .../demo/types/model/TypesEntity.class | Bin 0 -> 1578 bytes .../types/repository/TypesRepository.class | Bin 0 -> 356 bytes .../demo/types/service/TypesService.class | Bin 0 -> 3452 bytes .../demo/users/api/UsersController.class | Bin 0 -> 4341 bytes .../com/example/demo/users/api/UsersDto.class | Bin 0 -> 1466 bytes .../demo/users/model/UsersEntity.class | Bin 0 -> 2915 bytes .../users/repository/UsersRepository.class | Bin 0 -> 550 bytes .../demo/users/service/UsersService.class | Bin 0 -> 4011 bytes build/resolvedMainClassName | 1 + build/resources/main/application.properties | 20 + .../compileJava/previous-compilation-data.bin | Bin 0 -> 47602 bytes data.mv.db | Bin 0 -> 73728 bytes data.trace.db | 2285 +++++++++++++++++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43462 bytes gradle/wrapper/gradle-wrapper.properties | 23 + gradlew | 249 ++ gradlew.bat | 92 + settings.gradle | 1 + .../com/example/demo/DemoApplication.java | 71 + .../com/example/demo/core/api/PageDto.java | 97 + .../example/demo/core/api/PageDtoMapper.java | 25 + .../demo/core/configuration/Constants.java | 12 + .../configuration/MapperConfiguration.java | 13 + .../core/configuration/WebConfiguration.java | 15 + .../demo/core/error/NotFoundException.java | 7 + .../example/demo/core/model/BaseEntity.java | 32 + .../demo/orders/api/OrdersController.java | 93 + .../example/demo/orders/api/OrdersDto.java | 67 + .../demo/orders/model/OrdersEntity.java | 105 + .../orders/repository/OrdersRepository.java | 14 + .../demo/orders/service/OrdersService.java | 71 + .../demo/products/api/ProductsController.java | 81 + .../demo/products/api/ProductsDto.java | 53 + .../demo/products/api/ProductsGroupedDto.java | 26 + .../demo/products/model/ProductsEntity.java | 75 + .../demo/products/model/ProductsGrouped.java | 9 + .../repository/ProductsRepository.java | 20 + .../products/service/ProductsService.java | 60 + .../demo/types/api/TypesController.java | 64 + .../com/example/demo/types/api/TypesDto.java | 28 + .../example/demo/types/model/TypesEntity.java | 47 + .../types/repository/TypesRepository.java | 8 + .../demo/types/service/TypesService.java | 52 + .../demo/users/api/UsersController.java | 68 + .../com/example/demo/users/api/UsersDto.java | 37 + .../example/demo/users/model/UsersEntity.java | 80 + .../users/repository/UsersRepository.java | 11 + .../demo/users/service/UsersService.java | 61 + src/main/resources/application.properties | 20 + .../example/demo/ProductsServiceTests.java | 86 + .../com/example/demo/TypesServiceTests.java | 63 + .../example/demo/UsersOrdersServiceTests.java | 141 + src/test/resources/application.properties | 14 + 126 files changed, 4498 insertions(+) create mode 100644 .gradle/8.6/checksums/checksums.lock create mode 100644 .gradle/8.6/dependencies-accessors/gc.properties create mode 100644 .gradle/8.6/executionHistory/executionHistory.bin create mode 100644 .gradle/8.6/executionHistory/executionHistory.lock create mode 100644 .gradle/8.6/fileChanges/last-build.bin create mode 100644 .gradle/8.6/fileHashes/fileHashes.bin create mode 100644 .gradle/8.6/fileHashes/fileHashes.lock create mode 100644 .gradle/8.6/fileHashes/resourceHashesCache.bin create mode 100644 .gradle/8.6/gc.properties create mode 100644 .gradle/buildOutputCleanup/buildOutputCleanup.lock create mode 100644 .gradle/buildOutputCleanup/cache.properties create mode 100644 .gradle/buildOutputCleanup/outputFiles.bin create mode 100644 .gradle/file-system.probe create mode 100644 .gradle/vcs-1/gc.properties create mode 100644 HELP.md create mode 100644 bin/main/application.properties create mode 100644 bin/main/com/example/demo/DemoApplication.class create mode 100644 bin/main/com/example/demo/core/api/PageDto.class create mode 100644 bin/main/com/example/demo/core/api/PageDtoMapper.class create mode 100644 bin/main/com/example/demo/core/configuration/Constants.class create mode 100644 bin/main/com/example/demo/core/configuration/MapperConfiguration.class create mode 100644 bin/main/com/example/demo/core/configuration/WebConfiguration.class create mode 100644 bin/main/com/example/demo/core/error/NotFoundException.class create mode 100644 bin/main/com/example/demo/core/model/BaseEntity.class create mode 100644 bin/main/com/example/demo/orders/api/OrdersController.class create mode 100644 bin/main/com/example/demo/orders/api/OrdersDto.class create mode 100644 bin/main/com/example/demo/orders/model/OrdersEntity.class create mode 100644 bin/main/com/example/demo/orders/repository/OrdersRepository.class create mode 100644 bin/main/com/example/demo/orders/service/OrdersService.class create mode 100644 bin/main/com/example/demo/products/api/ProductsController.class create mode 100644 bin/main/com/example/demo/products/api/ProductsDto.class create mode 100644 bin/main/com/example/demo/products/api/ProductsGroupedDto.class create mode 100644 bin/main/com/example/demo/products/model/ProductsEntity.class create mode 100644 bin/main/com/example/demo/products/model/ProductsGrouped.class create mode 100644 bin/main/com/example/demo/products/repository/ProductsRepository.class create mode 100644 bin/main/com/example/demo/products/service/ProductsService.class create mode 100644 bin/main/com/example/demo/types/api/TypesController.class create mode 100644 bin/main/com/example/demo/types/api/TypesDto.class create mode 100644 bin/main/com/example/demo/types/model/TypesEntity.class create mode 100644 bin/main/com/example/demo/types/repository/TypesRepository.class create mode 100644 bin/main/com/example/demo/types/service/TypesService.class create mode 100644 bin/main/com/example/demo/users/api/UsersController.class create mode 100644 bin/main/com/example/demo/users/api/UsersDto.class create mode 100644 bin/main/com/example/demo/users/model/UsersEntity.class create mode 100644 bin/main/com/example/demo/users/repository/UsersRepository.class create mode 100644 bin/main/com/example/demo/users/service/UsersService.class create mode 100644 bin/test/application.properties create mode 100644 bin/test/com/example/demo/ProductsServiceTests.class create mode 100644 bin/test/com/example/demo/TypesServiceTests.class create mode 100644 bin/test/com/example/demo/UsersOrdersServiceTests.class create mode 100644 build.gradle create mode 100644 build/classes/java/main/com/example/demo/DemoApplication.class create mode 100644 build/classes/java/main/com/example/demo/core/api/PageDto.class create mode 100644 build/classes/java/main/com/example/demo/core/api/PageDtoMapper.class create mode 100644 build/classes/java/main/com/example/demo/core/configuration/Constants.class create mode 100644 build/classes/java/main/com/example/demo/core/configuration/MapperConfiguration.class create mode 100644 build/classes/java/main/com/example/demo/core/configuration/WebConfiguration.class create mode 100644 build/classes/java/main/com/example/demo/core/error/NotFoundException.class create mode 100644 build/classes/java/main/com/example/demo/core/model/BaseEntity.class create mode 100644 build/classes/java/main/com/example/demo/orders/api/OrdersController.class create mode 100644 build/classes/java/main/com/example/demo/orders/api/OrdersDto.class create mode 100644 build/classes/java/main/com/example/demo/orders/model/OrdersEntity.class create mode 100644 build/classes/java/main/com/example/demo/orders/repository/OrdersRepository.class create mode 100644 build/classes/java/main/com/example/demo/orders/service/OrdersService.class create mode 100644 build/classes/java/main/com/example/demo/products/api/ProductsController.class create mode 100644 build/classes/java/main/com/example/demo/products/api/ProductsDto.class create mode 100644 build/classes/java/main/com/example/demo/products/api/ProductsGroupedDto.class create mode 100644 build/classes/java/main/com/example/demo/products/model/ProductsEntity.class create mode 100644 build/classes/java/main/com/example/demo/products/model/ProductsGrouped.class create mode 100644 build/classes/java/main/com/example/demo/products/repository/ProductsRepository.class create mode 100644 build/classes/java/main/com/example/demo/products/service/ProductsService.class create mode 100644 build/classes/java/main/com/example/demo/types/api/TypesController.class create mode 100644 build/classes/java/main/com/example/demo/types/api/TypesDto.class create mode 100644 build/classes/java/main/com/example/demo/types/model/TypesEntity.class create mode 100644 build/classes/java/main/com/example/demo/types/repository/TypesRepository.class create mode 100644 build/classes/java/main/com/example/demo/types/service/TypesService.class create mode 100644 build/classes/java/main/com/example/demo/users/api/UsersController.class create mode 100644 build/classes/java/main/com/example/demo/users/api/UsersDto.class create mode 100644 build/classes/java/main/com/example/demo/users/model/UsersEntity.class create mode 100644 build/classes/java/main/com/example/demo/users/repository/UsersRepository.class create mode 100644 build/classes/java/main/com/example/demo/users/service/UsersService.class create mode 100644 build/resolvedMainClassName create mode 100644 build/resources/main/application.properties create mode 100644 build/tmp/compileJava/previous-compilation-data.bin create mode 100644 data.mv.db create mode 100644 data.trace.db create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle create mode 100644 src/main/java/com/example/demo/DemoApplication.java create mode 100644 src/main/java/com/example/demo/core/api/PageDto.java create mode 100644 src/main/java/com/example/demo/core/api/PageDtoMapper.java create mode 100644 src/main/java/com/example/demo/core/configuration/Constants.java create mode 100644 src/main/java/com/example/demo/core/configuration/MapperConfiguration.java create mode 100644 src/main/java/com/example/demo/core/configuration/WebConfiguration.java create mode 100644 src/main/java/com/example/demo/core/error/NotFoundException.java create mode 100644 src/main/java/com/example/demo/core/model/BaseEntity.java create mode 100644 src/main/java/com/example/demo/orders/api/OrdersController.java create mode 100644 src/main/java/com/example/demo/orders/api/OrdersDto.java create mode 100644 src/main/java/com/example/demo/orders/model/OrdersEntity.java create mode 100644 src/main/java/com/example/demo/orders/repository/OrdersRepository.java create mode 100644 src/main/java/com/example/demo/orders/service/OrdersService.java create mode 100644 src/main/java/com/example/demo/products/api/ProductsController.java create mode 100644 src/main/java/com/example/demo/products/api/ProductsDto.java create mode 100644 src/main/java/com/example/demo/products/api/ProductsGroupedDto.java create mode 100644 src/main/java/com/example/demo/products/model/ProductsEntity.java create mode 100644 src/main/java/com/example/demo/products/model/ProductsGrouped.java create mode 100644 src/main/java/com/example/demo/products/repository/ProductsRepository.java create mode 100644 src/main/java/com/example/demo/products/service/ProductsService.java create mode 100644 src/main/java/com/example/demo/types/api/TypesController.java create mode 100644 src/main/java/com/example/demo/types/api/TypesDto.java create mode 100644 src/main/java/com/example/demo/types/model/TypesEntity.java create mode 100644 src/main/java/com/example/demo/types/repository/TypesRepository.java create mode 100644 src/main/java/com/example/demo/types/service/TypesService.java create mode 100644 src/main/java/com/example/demo/users/api/UsersController.java create mode 100644 src/main/java/com/example/demo/users/api/UsersDto.java create mode 100644 src/main/java/com/example/demo/users/model/UsersEntity.java create mode 100644 src/main/java/com/example/demo/users/repository/UsersRepository.java create mode 100644 src/main/java/com/example/demo/users/service/UsersService.java create mode 100644 src/main/resources/application.properties create mode 100644 src/test/java/com/example/demo/ProductsServiceTests.java create mode 100644 src/test/java/com/example/demo/TypesServiceTests.java create mode 100644 src/test/java/com/example/demo/UsersOrdersServiceTests.java create mode 100644 src/test/resources/application.properties diff --git a/.gradle/8.6/checksums/checksums.lock b/.gradle/8.6/checksums/checksums.lock new file mode 100644 index 0000000000000000000000000000000000000000..18dbccd4ebd62826b5ae5b0e3f777925d9451cee GIT binary patch literal 17 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 VYrh;_`gEJCN)4cb4BMAn{=c}FR|5b5 literal 0 HcmV?d00001 diff --git a/.gradle/8.6/executionHistory/executionHistory.lock b/.gradle/8.6/executionHistory/executionHistory.lock new file mode 100644 index 0000000000000000000000000000000000000000..5a83308d930051e042085e6f2e175cf027b0fd3d GIT binary patch literal 17 UcmZR6cz^q($Gdd*GC%+;07u^inE(I) literal 0 HcmV?d00001 diff --git a/.gradle/8.6/fileChanges/last-build.bin b/.gradle/8.6/fileChanges/last-build.bin new file mode 100644 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d GIT binary patch literal 1 IcmZPo000310RR91 literal 0 HcmV?d00001 diff --git a/.gradle/8.6/fileHashes/fileHashes.bin b/.gradle/8.6/fileHashes/fileHashes.bin new file mode 100644 index 0000000000000000000000000000000000000000..a433aed8624eea594e77a9f2cc953983d47473ac GIT binary patch literal 21747 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 Kf(ApKsPP{=(M$6H literal 0 HcmV?d00001 diff --git a/.gradle/8.6/fileHashes/fileHashes.lock b/.gradle/8.6/fileHashes/fileHashes.lock new file mode 100644 index 0000000000000000000000000000000000000000..b7a7c13c71c92b1656fcd19d27d6a833a10bc8ef GIT binary patch literal 17 UcmZQRHRV+Ps)G3m3=ohC06hW)82|tP literal 0 HcmV?d00001 diff --git a/.gradle/8.6/fileHashes/resourceHashesCache.bin b/.gradle/8.6/fileHashes/resourceHashesCache.bin new file mode 100644 index 0000000000000000000000000000000000000000..e1c789029b7e515bc60d75432cc883ba35b2205d GIT binary patch literal 19517 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 literal 0 HcmV?d00001 diff --git a/bin/main/com/example/demo/core/configuration/MapperConfiguration.class b/bin/main/com/example/demo/core/configuration/MapperConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..52046010ddb3c6581a5acdb5d1c15f7a372c6006 GIT binary patch literal 661 zcmbVJO-sW-5Ph50rcM2*^&1c3O$A->ph#8Ff~QnLrQmTJ*SebQhHa|;EIkPd{s4cJ zI7v&bAR=C7c4ptanR)a6@$v>>5A!Y@hV8&aTt0{>4kf>ok>P={l8nAm?XDGxGMYC; z97|gt&bi1lRBptb;GxiMe$u*;LBdejRazzc47runCPTh%E~SSYN~0J-fnmZ|S{`?! zmbB-h6-tJxZvqiEg;i=epkYKp9$+x)U^Puf4H#SAnSV%FvRl4njT`hz5y5=3Rt@IaX zTQr#Oq$_i-aS;>Gm)~znNx%NyUa(*(AT|a;r6jE8epe!my&v4uBI_X z(yuIgPb82)l>F;Zx0XG4tYi?tcW2?OgUnR d_$CH0Lp}n;V>}_E80P40j6!}&Hj3~W@CQwzf}j8Z literal 0 HcmV?d00001 diff --git a/bin/main/com/example/demo/core/error/NotFoundException.class b/bin/main/com/example/demo/core/error/NotFoundException.class new file mode 100644 index 0000000000000000000000000000000000000000..68345e0568d9b46798c4a6255f128cd1378c9811 GIT binary patch literal 890 zcmb7C%Wl&^6g`ti-G-F3p$$!W)TK>H%EN0&2#boYq9Ea@QdO~-IMZ}0+Y^n)5c*ea z03pE#@KK2CBoJ541}{AK-g6)4K7RfF{u96}G%REoo_Q*8#Fz&oUpNC1D92M;I6`Zs zovt#+Dh>y4#-11%sX_}mhV4uKfjd4Aht9h=G%^tXaE7Ip45eu^?AJSUzayVVQ8Q)e zsBqY9oG`4oau{+GYr*ik)q9!pdE37fo@uskBx?0~&Gy1Bm-jqKL7KOk`n|VQo%!TDO1_)-9|tl;+T+k0Q#r!>~FO#+Aw3 zx;!BE8}&wtylb?i77N(KT?>_K1*TXLTd2~&&Xo?hVR(`5a~6J<$~YUx!XjDRD9AtMH-^IvDtWXO9yzq(>rPcfcu zogpI!)PD+?Y@eZWox!KkUlx^=?~H`8 literal 0 HcmV?d00001 diff --git a/bin/main/com/example/demo/core/model/BaseEntity.class b/bin/main/com/example/demo/core/model/BaseEntity.class new file mode 100644 index 0000000000000000000000000000000000000000..f75523469c347ffdc3ef6255d43606b6791fb0c8 GIT binary patch literal 1011 zcma)4U2hUW6g>kA6hx?CY3m2|qgJSi``}}>i8j=bAV#UYnqhZBr|!<;?yM1il_nY! zAN&FSDC3>owHPGPm%Vd8&bjB_yFY$@`wrj{_DaYx>^XsNi}&20dBS#uAJ|S13fm7{ z;n`1kBzj6qJuksxSU=|inv}!;%#h%Fx*`!VwB}GF+oT=EX92SRDWZKiCg2I z7dXkZBl$t(Y1@pU_)sdT4;k{E?wFuQwBZW!*s9_(HW=yysl+h$NzVzVm65msv3O%1 zO5<1!d_swkkyP?!qcrzs-)bCaAb1CLO6w?RNeUQal$@%!K4{JL$NaEY|eA1N;JkM%g$3 literal 0 HcmV?d00001 diff --git a/bin/main/com/example/demo/orders/api/OrdersController.class b/bin/main/com/example/demo/orders/api/OrdersController.class new file mode 100644 index 0000000000000000000000000000000000000000..367c8686cc8100b2f9481deabf4f64f38c06deff GIT binary patch literal 5788 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 At^fc4 literal 0 HcmV?d00001 diff --git a/bin/main/com/example/demo/orders/api/OrdersDto.class b/bin/main/com/example/demo/orders/api/OrdersDto.class new file mode 100644 index 0000000000000000000000000000000000000000..2d0459e9a0acd5e5a2c7643c18ebf97d50806b99 GIT binary patch literal 2492 zcmb7E?Q+{h6g}%EcI>K68@CCeEd`QNJ87emloUuBV&W7WTstJed=I0@+n_|2Jd)gL zpMckanGzU&@Blm%!&zCeWz{WX&seL~o_qJ)bI-YkCRc-mi@B`^RYuWm-VV?M|qZ>VtzQg&h=eDI6JZHAF zVVcrs=;~;p^QAD38M1rZrSebpTJ>9jOxtst9mW1$m~No>XwBDKZd2MiNhqkl&1ym_ z1=f0Ec!8lmHEgRH)}))PEAR}<34Fcg2DOfDbI%)t8XP=t59%;(x)ezuACs@*1oB9F zjGq6$jUHPLVdJFHk>hNr`U!zCa+1BCbOOuP%ltxUdfjrYU_;w$(#xJ)qfMBwST zh-X+uJi~;_53zRiJ))95)G&=10-3A}JZnfFrxK-^Xus1ExH7=2>~?6CwH&svok3aP za=)1o4-Jp-8QEG+&`{f<6*%7vH|!@W ztC&3v`#4|`;pwP95x80?$K4mvq!;$xj%Uh8mh$_>-hH>EShF(~$C2KaZTPmNsbCJMPz;lS3+nWsVIm>T82kcrzj84iJTo--7T$}3H;7I#CcUuuJLdXZ=fbbo zxZ(9M!*mxFZLg?xMdgi#!Vn_GB$1m#i7evIFe1eykvVQR{|X|ig-X7=Jw=woIor7K z0>x7-CAr*=ahd2Ty4(|`#CRo2Hj1w%=`7MAcVcw1JzcU`3EM`?;{&EiHfS};MUQdm zclSel6a^17Xf;V>g}U625lQ!mq(kE>T|UOz5F+bIA`gZV*}x~mh^!}xtdYq2D~PDG zponauL|KO%LnTs)CsjFohMKRQ;?rNc+JAnEFHZi%mr1spF}5>N(J6ez1SvG|HOCy& LeS`1t!{+RNE0Ffe literal 0 HcmV?d00001 diff --git a/bin/main/com/example/demo/orders/model/OrdersEntity.class b/bin/main/com/example/demo/orders/model/OrdersEntity.class new file mode 100644 index 0000000000000000000000000000000000000000..297985fbcc34a8babb8a53ada051f87f3905adb4 GIT binary patch literal 3481 zcmb7GSyL2O6#jZv92#6u5|u?wB*U-_aY-3 zr{q0(@*$}bVp5e`dOkVs98R0IVJ}4yQqWZ+pS6m*Cw)pQ>8`AT z=t9xTm9w^jfzcWr@2=wIqAOZ*b%zw}yj-Tsf}Sx-#&ljkX_}U;*@k776m*WxY4cjq z){+avX_Rc;%<9Q8&0LzW#!a2td+JJ@w+wUG%9jf!MM9=l&=qX*fQ;l6G??XlUZb}l z(*uf>OL~zBszoms73f!FU&S4fD=`+%T8uzJ3!yA($-HLHBu7kJpV5o--c}c26ib`8LK3FeWJQEn^@bYRD=w|e$dOBRq68syWTNXK z*od_f#}O6H*h~{d;hN~H17RZz-I*BY$@5W=DDj%eH_%dX0w>vl1nmwP1zRf#cX*xF z?V&~t<8%}$1x-#LRW4MV!CAI!)-r9)kg2dE?yJ@K^qiixhq|Xke?-N35e{lOHfB@W z*0S?s+JZyP7{)Lj#RdAV=~ERKafv<*)6Te^!zLJsA&o0hOepBDiS(i5RFM&OH8@N$ zvTUOlF%`umn|al>OEMML@REYYoYVEI&QqduUBwODWT~8X9)CqbPt_r+>uT5?Lpv&& zT{nmtSZ`0H)t|sh_f%*lGlsogvErXQLK*kE#j~(_E9woiT4`41MildFVs(oo>?^1+ zVJQe0ERZ+a9H66?IWrW)EtH}lt=$?q=3V8I3L9n4CGnx4HGZuQ2}an``mM5-FU2s2 zJ1Um&s+XL+Rw8v;Dq%T3hvg%kD!8lSb-cmB$&$%TuZF)C+gmCY@iu3QKY<%f^3 z)9ko4_o4R@yz5w#vn#it@Cbrv|Q@xW-CoggS*L z?m15COKhn~aO`>#ja*y!=c#hG(qKR)t0&OJ^>O~~)UgY@X`dmXoxdFvJjhky8czIz z&YvC4z5I>Q0RySo@V5T`~rgHABe9wO}}tUkw2!nNi3p;a$gvXhVnRhtuAkp9U64@Huz8^(Qf z{Y0SvGY%)uz(Cy)4&kt;e4Nr^IO4!x1?wi^5Fs3PEVQ~(Rd5jxoFXKw17vVLkioh@ zp2Lu*JmUfB5Fmp+D>$0?6{iCD9?jn2TmV-EV9*I~o0F}hgmH|yInJV<@B!_p0`2e! z^@5|RNbUJpdrrrwE~)EGB<>@=g3%ATcCFy@3a-vSz{^s^`{-Yd#ZAjF$&~WN(^=&P zThKG@uS$H?fUqAp=Ti<>m9xls%4@0;Utg6`q8{@F8>t2xafl*x-~^}xWMDmzi*L1OoDHZ{EoTFAQPKUPlhDn>B%scc=`br?oq(c z-$@_9_G+dUan>{X52aAe+vzz>65oNs&iO_&gOPAxor%+r8#qK}|}bXnNXxdmKj9&T``-DG!a zoHx^CW0u{W!x0u@jHS4S8D=8u1hdBlTrFAwpW-uy)6RbzKIe=HK)Bk7P_$Y37nh^F Z3g8QV3gAm;a&G4CE1tjR4JYR}{{u_I`G5cb literal 0 HcmV?d00001 diff --git a/bin/main/com/example/demo/orders/repository/OrdersRepository.class b/bin/main/com/example/demo/orders/repository/OrdersRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..25c8dc1a4d4613dbebb3138202b95a34de5cd544 GIT binary patch literal 621 zcmb7COHRWu6nrk9&{CiXkT^owUB+@KFE-^LSScx|07BiD8XKcyCnz@-1 z9;`Cx&BTM?iO?|*?`9Y|57rr+7#s6Evr5NPD^h$k_MS`OL{sm|7V<}p!TwZf8EU*N zZ*#OGInZ(>865V<u*FuC-IH z^e;%XTgCX!z+kWc%RNxJqoKinc4?!|#1uBdp-L$J!QXa|tBn~ve{S9=*bkO3cd2X* q$H3^AN}(5JutH~zzD$c=-GdE6?FvDM@FsNUc#F90`ex^AqW1v{7{ks0 literal 0 HcmV?d00001 diff --git a/bin/main/com/example/demo/orders/service/OrdersService.class b/bin/main/com/example/demo/orders/service/OrdersService.class new file mode 100644 index 0000000000000000000000000000000000000000..658c25e2841adf7265531947a3f701b4864552c5 GIT binary patch literal 4081 zcmb7GYj+#f72Q{stwf$A#tBYLDNanlvK%wyMN8y_Ds}>Pm54^hX`rvMbgfK0nh`T2 zCx!y0PiT3y^u?q7%2&EpF%7KM_FLEL>Tl}mzIVpbIFjAugGTpp?m7FMv(LHr-~avM z?*Pu?&l#iyrmJ4Vl((!#(~)LPHayewYtj$QK>BNTRhnfztwgg7(gH&_tToGYEVpi! zmv6{wD3JAK(+lj-^VbDVm$uW{k&4w`X&);H47O-9Hbh|ETGW0A*mG(Yi}UorjP2Ut zIRTmLJ{kM8ll|^PJD8hX5=hT_HJL>p_88cWy#jr?$)(+3d<^tsK#hhCWUxzMU&(gm z$Ji|O#X9SE4+Pkc&n--rbb4B$?U*Gy z2)VtxV%J?OZ22@??3S3>)?R}iI&rElxS<`c7tT@N=#>^H4Y_0oHqjSd*9)!C_FRHL zQ}X<}88m&{t*`i2L*DfKRWtN0H?XQo#$Yn4gFx5rJ?K5j&5_zVQ0Tr0ZMX~HC zo$L-(q$`S)reqwbK^((l8B7bD?6Uv=>1e>jApv8>c5CO?mEQRp^Q?@ifmjfDDz|VK z@M2RvGO5CQ%D`znL54UC*^&yUrtyLT|8)aT;*7ung`w=qO&CSDrXU>3Eo|Xhxv8?t zG!8R&Gb)Z}N#!09?9g+iI)k#(+GUG!|VF^t$6j zyu=XF1-2D|WA_q3UO4g=ds`5}&3B*O4z0kRN@!JAFImmF=?=7-HJ!xO?t1FhyM3PS zDXCdr4wkBs6Dk2!12r&eS$3UgeXrJ1SL%se4~@-ecQX&Ma1gf~rHjq+I&A7bXsv>5r8gS5HUna0wk4<0ED4EB3H3LKh-J&Q`pZUzHba{gx;vpJ$lybPM>_3ti?3TFn8C*a z5A7_V?Yx40m=zIWx%FHA*PCefiH}Vy1! z^?5v`?UyN_6dla}759z(4PzU4FLq*2EL`D zF?}1)r4U2v(}@|;$0z7dj!DVW;VFVTreWo^mu4H5*@k5@`*XV!>^>_~l z(i&p=Hh!4GX!_2C7l?3%7S3V}=QOe?vg2)J<85T)F|q^9hQgB`%Bo&LR4Uz5#Gr~} z@JqaYZFr8=_LGh=1(xu%0mbq(e$HN>v literal 0 HcmV?d00001 diff --git a/bin/main/com/example/demo/products/api/ProductsController.class b/bin/main/com/example/demo/products/api/ProductsController.class new file mode 100644 index 0000000000000000000000000000000000000000..6e49298dd6131666d42546017ec99d85f1da0e3b GIT binary patch literal 5339 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 F#y1<+oHhUe literal 0 HcmV?d00001 diff --git a/bin/main/com/example/demo/products/model/ProductsEntity.class b/bin/main/com/example/demo/products/model/ProductsEntity.class new file mode 100644 index 0000000000000000000000000000000000000000..5e92be395a4aef59d7f67c4d82a2210838e2d728 GIT binary patch literal 2390 zcmb7GT~ixn6n@@(H*A3d#eM({iX|k#qEu@wqClag^3{f-saH$bfu)<>m~0&RDgFSx z;zDOi?Ko4%D=!>>lH>TC-6bR>IC{aJ_w1hYoacPK;g7$6`4zw?_%exz!gR?k>*lvc zxni68o>_MFO4Z$~m%N%@cK1wM-wM@b$FsbnBw`A;+k8rH)eP+yjhY$QD#W~_im8xW zYjcnfrxCX09Jt(9xc;=xNM&=!s#&|Xx!^diXLy$D)D&*59U3o;s%PjGvs$xip6QfK zecf=5w%tv~q<5yH#beiUmR!4Dc4!iFj50|jgu?2cLdvPzw!u(QmIVrZg!snLZNu5u z3trW7_USa#5x0REuT-rPL7ROaxOIZkH!){9mN%~u%}(qv{u1k&Mihe@`p~b?vt~Kw zM!mdiR=0(Rz_=yD-Z83{=;6zlcVMvwGwsFv*N&0ElWe=sMGa_AzUfVv(!|as)@fKn z90@ty(vU{CoJKYD;)+6Y-}I!d3X|E1{~nx5A5z2) zEv{zU4Fp8OZ}{WUViAskZ^1BuMQfDCq@)gv+JUs#@AqmF?6+SZdAfW zNf+FDwPdbXvP%7}_t&%(^P+Wb+(9?VwEdp(;aT_8>Aqob<@xyciZT6jE|iQ z{6lO>G)P)blAJIZkPCnXQPR>dvQ8OLe~Futv@& zHA}2J7hnZL#CsJ}9g-S3pVZxsNlim4Aw#jjmP!}Kl5a3mjOJeA{X#KDF;pnVDMkv# z1VyIs8Xq3huDNq_P1s|Nft%yM76JC3w3h8C=JG!v9y`wej_%wm%;)*{J>t>h{BKa} zldrHSVP9kAJLuF_CAzPTQu|y;_*y@;b>ZS`#ES}{sJ{g{&L6PAx-D`AmoUh?>Kc|g z!z--$L)^n7K3DOKx{O;UAl4X`A~vx_+QYoOo^W#_cuK1-#FE|WFU%+TDS`rDMX>Gf Qcn?p{sPFI#cl?Wg0JT--m;e9( literal 0 HcmV?d00001 diff --git a/bin/main/com/example/demo/products/model/ProductsGrouped.class b/bin/main/com/example/demo/products/model/ProductsGrouped.class new file mode 100644 index 0000000000000000000000000000000000000000..fa1ed39e012010606af2b8a35b6e154c10a6d435 GIT binary patch literal 253 zcmZXPO$x#=6olv1pK9H>@DK`O4j}IQ*$4{a0owFYDybZeJC5(ro^+M|S`K literal 0 HcmV?d00001 diff --git a/bin/main/com/example/demo/products/repository/ProductsRepository.class b/bin/main/com/example/demo/products/repository/ProductsRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..5a874c862586f64b8d68f5176ddb8480db45fce7 GIT binary patch literal 704 zcma)4%TB{E5L_2Zf$}I765^I4NC+1$912L#8aM8TI-%l)CuuBbC=yLmqeIuS88sr+nY7w; z>BS%xj6wyNCQxeg4yQ3!5p6uQMavdohQO{i5zSH~RrF|hBA&H*q9M0@9I<9x_=84Z zH4>J+q(Wt~BZhPY${U-0kHlFSQ(tDbN?@)jBgL&Vf&lwduW+yHteL zL&RJUoU$?zH!_nCu{csnTW+OR83F1~RMbv?sk(H+bP+Az;jzQt-8Y%fYFFOC(=9y6 zmN*F-=iX2wLt5LtJ!1juXT3vjr&6hSr$OWT!aKejKK2?xodx{>f_Qb-tPz-RYG)8q z#z?m|1pRS#``bMNuYDKCT2-AaYOL|U+w^~H`>LvAtiDzeI*s!|Uj50?0w({{R30 literal 0 HcmV?d00001 diff --git a/bin/main/com/example/demo/products/service/ProductsService.class b/bin/main/com/example/demo/products/service/ProductsService.class new file mode 100644 index 0000000000000000000000000000000000000000..bca5d037a0a4e349dfe40e7cab82b7d64bc26a45 GIT binary patch literal 3885 zcmbVO`*Raj6#i~no04v!mO?=b7AV*!3j!hp&=$%=LW`tUz~?r(4NEt>ad%T%@h!gJ zZ~qLP(PCjn{mmK2zsd2tyPIVD97;RMX74@ceCP3M5UGVFprI&od*e1ViJOO9vy zjyo%GB(t*Jnq1ZNrK)OLpy8NloBj!bW8L>{rDt5A{-l$aDb%4!LlT-mU3bs;ItZ-S z@BkVFHe^g&j+BcN(j7A6wgS z(6$}l@J+{N2uCxHThP6dYubfL*C@&xjyt9Mu3>vdPRZy-Ra_sdEgKdMH@ecukJ{F3 z9qA*Q(1GnqY!f(qpOx0|2s#Cllct>yGPJppfPhx#eCetpq?@o4T}kX>3TvdR>}uGJ zJpxT$$ugA!*~b)A3j_YgaLqDq*?y>mY zvEs!oUX53Efh9V=7yFXX1=?2t)36_HMDZQP2NINI5g3ZFf;40tyO8c#D-l$64rzEC zhgmn3;Gx-bd4cY@<*;vQyXM?zNs)lnZe@v&Xm|`q1@yR5M7vU|550pVr^6EF_}udJu*6Etizccv@sfs@@d{0N6%zx?@MI+mJ>$y8goYf*KIO&;2d_X| zWk>~8h$^T=Cp8pQg%z9zHCMQ~jdLLwT|ODW|MvrIIabu;Eaa`jPAcvP7cl zgw*5==S~zW8Nee&`cjd|)9@-dixy~B*h9@WIx;*{lD20~%gO~oV7L-g^^m*wGwh7( zluI(tLrgg^qoJ&3W20phC-O$uK7qj{Tw11(ImeZ{bX~{QM;!mOQ?~Qfp5oYeU0`5I z@mJGH;U?ZxJ@=MCSKNVkoT+jt9$v)ISilPuRnx@9?|n0bTwOPQ1Volk8kUvi znV;U!fLn{(A!2F^K2_7;3k|b)jdGu>vu3TNX~9?QlykN%-Js^uOX53$-L)CMAl8K$ zOyY;iT_fo8gS4mqQh`-Ln;R)nhfQ2dP^z8JCa!MbXX{lwL<7JOw*;SC zdVfXpJRTO9#}4}UJ06|KfWXgzvVv|1t2fWCPgOrY-$ zo&e^M{tJVP?Qe^P)Lsp#9Vc;$n4CR9dK8lKXA7Sy3WH%PkdD5;(R>$YuC$)Jjq`s- zkRu61NOiF!?qm{oF`>I-h#ghL4qQT(2xGKb2eF<%pT&3-WE}by*Xk+M-`h8b=SBwl z=Wt~XFRG_82dSRd=3psT2If(7C9LOW)(YrlFnx5TpH&*bcHSseU3){jRhRmsBoHfb zE+v?f6L=@^MghFb_xJcw0H4s?&+sL_#y4D1Bja0qj~}u1e=7D6 A{Qv*} literal 0 HcmV?d00001 diff --git a/bin/main/com/example/demo/types/api/TypesController.class b/bin/main/com/example/demo/types/api/TypesController.class new file mode 100644 index 0000000000000000000000000000000000000000..6d36d962f7ee51e7bc45e1580ab9137798660878 GIT binary patch literal 4012 zcmbVPYgZFj6x}x>5g0&Ht3}0H6$=3!ZGARK3;3+TQm|>Q_Aw+E7@5q(nH!Ya$6spK zs&wgxu72+7Z|ds4Ga*bKgRzU1uWZU^R=MIx zvn0!&sWvMzFs+Jh-q))+&sDzXIMPp}OJM(FYr`@f%Uv};TYfByO27zDEJ=UEE=qwj z`2>|gBoV2tiRT3R%3eu2^H!xIeSwj@=dYUKRyo`<=XYLHx_ioYZ8a@0KlVm;c2zrG z5a^ntonGugzkwbM2<#afFZ6&B8`z6(y~-F!W1qla-gf1^YI#}u_pN1zF=z5#(Q*ow zZ|mpUW|vyC1A)mTKifde0QV~Iy7B}*PmC`FCqnUtt8BHI8-J|{s?4QvSm0zra_Y`d zvKL2jER7L?BfBKSz`Hn3n3yJk%VYUwV&q~wbB+}RbhAZ<36)_CWMWbft?>%%Q(hGN zZa~FjO2(*FeHy0)#u9*P5hnyCov_g){~O$3z^hWtI1WiORs*D}Y{$&ofnxf5mh4s6 zQdOUKR_F64$aU*nv$-&bY3pEM4uTSLInuDKMx%w^cLJ~EKQ6l;V&Ihz7^6KkZ7`A+-VreA1%rRo+n8s^Q~BG-p$ ze3Hh;0*7{-Y;Zvnen#L*jp_+{;yG`J|fs|d+bhu~W20jy*iWmRx z-nUc_dBqYoa0u_P)y5h`sE0rmNexAt`Pb)KH@Qx6yVyAdUQjOrfzHn@$|qGBs9CSH zN#qVQv~|l@mdS+KrLYvuf?kFQJTPz)r!=S!4J_f2Kp`>SRtyt^ZWZMX+sF`o$v2Rr zyIP@pMEp@pT081KiO$q(Qs?PSy3j(ko&b%|vVm_=6j^pvSgggp+0l@n+di^6heO}_ zv*)4_kmWe*d5S&Es?1BZ=9Pk8czBWq@B0%wH@WR@c(ANzXE%q*o-d^eE&9YYhD z;Vm5b3&X#1C$iE_InZgX`Cuej*F3=e6MUc2U9!Et(NN!Lv%b*;eeYw8dW0TN=+{K( z#U#$~SNn06zZ#lbw5Yurq0fU`Fkj+B4yvzk6?lnjDSpigG@HzZCXMJ|Ed;@v@+J*w z0|TJ}fm;tD0^G(O?it#bPx-kUARn5ZslnBs)wUaP?y8b#^{Zz3?U4l2s zeP(StsxN3r8|%|R7P$CQKk##dLOL}=p{*>9eYJ(J+t|Ahvo}WO*CuuTh z&4O+EyI9QMb0;2iMq^u#nKvHKXm1usBhAN56nS=iD>r-aFf0zkmD$@B+(46tX3zBc?zf0nlPTVQk3MvS6%G9S%65q|)}^u$yI1VMAvveJ zYxJ$^sJs`eTE+-&2n^Sa)s3TQPbWKyP4bfBK!v+1G2ZV4 z``stQ(&w|%|1&14%I|Bp!J$-YzLv9jWn&qD!0j^fC=iymVb$7Yl-F7$Nh9mhXctYV zPoC(08D$I-N}@J&>>^bM>B&ml@lg`!H^!GZcy^;6dvOBg4Qq9>7OFJWX%PzoPp))3 zIwLM(NnrU(nY>o*>wy`T)5i}Y#~+(RuSjo@_8Ol7jS{YNi{*0lTOKk*JIsfWDl#w6 zCDo8TUwcG~aCT`K=M}tYO-N|1u^_iO&lZSdHPvcG} zd4=d4a|(+~-!OH4bSaBgSYkC}7;mFG$9rk*;sx&FUJoHNmxYY?6f%psUP5Lr3z_6` bQ~wa+Tg^Wg%x9%Pz(d*+BQ-4I(aVWHTR#Z% literal 0 HcmV?d00001 diff --git a/bin/main/com/example/demo/types/model/TypesEntity.class b/bin/main/com/example/demo/types/model/TypesEntity.class new file mode 100644 index 0000000000000000000000000000000000000000..d81360cb4081d47f7ab565dc890db3c79e852b68 GIT binary patch literal 1522 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 LI^M)9yhi_j%aVw@ literal 0 HcmV?d00001 diff --git a/bin/main/com/example/demo/users/api/UsersDto.class b/bin/main/com/example/demo/users/api/UsersDto.class new file mode 100644 index 0000000000000000000000000000000000000000..2b8960c497fa2425c6817c99453dc7d5af16e75c GIT binary patch literal 1414 zcmb7ET~8B16ur~Z7Rq9gPb(-&K?(??#`vNV5hTGhKmbX6GQ)PP1KXKqcZ%?@G|`y& z;1BRe8P9ANp-qY5VQ2Qo=p{YLQHoK?H+3#gMZFP7UX^vjn~@A7 zE*grzb8qX`kD~92w2UKM;S5cqcRs8QL?jWrgp{2&K=iS30vA*MXsL z_s#11hwZJ(dq$bS)Rbm4bV>G}4OJ|B9?4@7TES05psKNE?nAc?h0-?STgJYI1;-%0 z(|*YPvqt+tdmAE(KAR90WnU<*>?Z{qW@8)v(=rIm)TG_S?n7mFtn=Q*E$Soa_b5YIz@ipxxZH_y zT6;lKX*o91#*=vFm`WabGyp7^671+@vIOer`a!po_~J^-9u2zEew3c)8Rhp(GxX(# za#jqS-@;{g2u9wf)-qfRz#^j@Ei-z0ts9kGiyS>-v~;aXG_rN2=su*U@e!pd%?)=FGwm8u^Ns6pdkY z6b?F$(Q5(d78MaOx=j-p+l#-^)MOVHztiN!*7-O)jH8ak z3}Y=+vb~emGJ(;(*qTlu)15-by9$}1*=|CnJB3VOyU8nrILn=V54sAO>l8B8RmgmI iA#n<1 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 literal 0 HcmV?d00001 diff --git a/bin/test/com/example/demo/TypesServiceTests.class b/bin/test/com/example/demo/TypesServiceTests.class new file mode 100644 index 0000000000000000000000000000000000000000..7a1927912602b673d0510b30e0163f4cbcb966f8 GIT binary patch literal 3412 zcmb7GZBr9h6n-uQf^jPp6^m#UMFbR=TD5A>iinjqLKOt9eOrj1)Y|t> zzjmfyI@4cZI~7q|`@Pc-;Zy%jr_bG8lhuHulYz}WIrp6BdCoca?%)62e+b|hzKf$u zU`N`?>hh|Q%~?{<$gHD}F63l>M7nckT8_%RmyaVR&@f}n8MWXLnU{bZS_GL>=}BtSkOf zyiFD@ zF;+)sAW^|HEj?xCy<{V&>wt!XI7B}qot8PyO8*LME1M!3YqDUc)imh+oQOhJy2-UT zjH7WJAuGQsrIZ?y=oN^wRTNTz?P1+~kIF!*$HVSZ11_*-74qs=KkW$(eK^U<$eY*L z{T!3Q1Ww^}90SazX0@_)`|@l9f1WkGfipZW4Bs+vrC?YblbVjfLDftxcvHh$NYO%7 z2Qv{-{o^L(u9jEpJ*7d2eMJFEba4e_)R*zl+?dN&2fWsqb(6*)9Z>a&`d(Bq@yDEfSNsc(a z5qSCOuI%|hJ8Wm-YTg1>{P14pD$bR9*7;UmPJAjG-!5oFi~PWMr2`tVo-1GjEmft^8);F23iMEWl3j~v>gxI(%@5FWsd4LFY+J;RJLo8x zm`Rz&ONPCnp`5;n!GLDOu$eC&E$GA+9L3fMoMZ_OUrZu!_JwfzXj5?3t1OGqyYAyv z;2vJ9LOD%>PCzR|?TCb4UkZKfvCzlE&=)DP3f*2C#=eKw1(wjyrO#457csbqvr9Nv z&bH1kPCND8ja}%7WNa^G99=Qvzm!7>A{#HHRL*jOvwIgYJ`}O}qF?X@y?iwGB*NyH za&3;4&^2CAi*e%Y4!?X*2Heiq8DKAAcN5?~Y+|?c@NOmmnmrm2Yez20)Qcr zYE1Bxrc8|(p^p-J6NVsZt7e3Qn4~Sn=u;~a{*k|_(hNtKEn<4SMy*-Rh~kg6S?Wo` z^jD?W!@niWmZ@!KhlB4m^*DlUe2wWrFKHbk#N$4lrXYPtr-wcYuxO}KV@+DB<4@2> zfz%Wzm4OJ$8G;FFjYQMJXlkNzDjG>%;r=SP{xsF|Tb^r=zZBA#!@LU4#i!KlIzGoO Pd_jxa_$9u^w`l$!)b)MU literal 0 HcmV?d00001 diff --git a/bin/test/com/example/demo/UsersOrdersServiceTests.class b/bin/test/com/example/demo/UsersOrdersServiceTests.class new file mode 100644 index 0000000000000000000000000000000000000000..9549889f2013af700977baebc06602f84026aaa2 GIT binary patch literal 8161 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 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/core/api/PageDtoMapper.class b/build/classes/java/main/com/example/demo/core/api/PageDtoMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..3a18f78ebe4bd1ece9350847ecf4d27c5aeddca2 GIT binary patch literal 2729 zcmbVOdv_B>6#q>dx=k{rrM#^m<(Wcd6%>)ys-&&7rls0g1Qneo({$-(C+u#@Llk@= zzTe-#51{{m;5mK(kDtloy}Job1lt_jljP2w-+kY?Gk^Yl?+*aa;inYZ&~70iu?`&q zJr~rnvR&ns?9=lXbRiVz7G49r>R6zDIQvaK(xa>dnlQJ0NfFut}`#j$5p zNsopm1q6S*eJ0Hn+4W4Z`zMeMTbk%hQ_Ge;O8j>?q^RAKAOL^TPu@jF8tW%YWdqrTl zCK^StQ1uF-V?2AjM%1FO0dmOr<0# zYM%*KctqkTo)YM)E6kcI*E*4zh}9gEc!t#^@2g?4XC+Rs*m@GnR(+q8a3q~>n&O&d z;he-2rsKFG;aav5naMb=8Hrc$D!J(duTxmfCTiL)%# z;RHDqm*fqJHyLhGDwxL(o|kw#Qog8yX?-~=osyVmT#9g~Vm3pI5}KiDg3kDQ*)i29 z`jW&V!#TqQuWwnnAaG#KBR@sGu6-(F))cisch2#2+yr?w?-HjsX9~)lQ@+FN8Z!|t zI@B8jxfb;g(V+?rO&Ed2OsjGo`~tQ=Cye)T{1$Ia9 z=n8SXWwWI1oGQ;371>Y=st_8VZjdx3c4hTf<5g4>id{OTyrQdvy*Xo+s+C&rN4n|e zqno#p(8jBzgLc5~>h!+&k`Pp=&aEYa#H{R;YBckm9xuhF(k-~2EFI*~vUWujyZf(JvZ zBr3Rwc2*#^5vHAZw|<9p_70L$g9q;-C2$u#0*B82hAn6A;Ze|fR~vop7r2c9#yrl{ zlT1C$)N!UL9k(&U)Qe1wGW8NuFEe$TsadAZFm;Zpx0rf|sRC0AgTIh3?cf-Wkk{;a zC%Q05udrk2rdzQGlk|qlqZj9~kw*R|_}GkV*n*q%EaF&q#qkh7pcO@i5LJr56F0Do zOO%<*O{gpPQCIJy-X+vE;wRfk4M+j-9(~&IJ}JK*Q8(}b{c>V&5${8MM4xYnlOoQy J_#QuE`#+`m?hOC{ literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/core/configuration/Constants.class b/build/classes/java/main/com/example/demo/core/configuration/Constants.class new file mode 100644 index 0000000000000000000000000000000000000000..cf3bcaa26bf570300fbf9fa5d844d26501a410ef GIT binary patch literal 504 zcmb7B$xZ@65Pi)eBeJ{e$(x!;Ym6tCgy3LEMnqW-UM9`ZLX)8fhZ*Bx0i0tyjTqu7Br-^1fuS%GPlCHb5BN=QB%Od^;Y?{2Trk9U z_qr(<3vrePGEiVJxR@w@R6b-V zUYfN^$7i4FBWd?S_kf?fn>dae8%SJdR&9>;dR4G}WBiyd=RfKR??B{@j9ywG=KO-0hVnVo4lGK(Fg=%;}=HnE5_7?uddkRhC#!+FBRIb0%UEV>Ql o73w&q%qS=KU%_6!B~~d$XN+QkWY_4G`5|E)8-y5%M#Hwg01TsV?f?J) literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/core/configuration/MapperConfiguration.class b/build/classes/java/main/com/example/demo/core/configuration/MapperConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..11aa632bb9caefe76cd154665553c875320af9a2 GIT binary patch literal 661 zcmbVJO-n*S6g{J+ruJoDMvG{tK@GGh!U{@gr3Dp2%keeZ*n2ZFKFgm~E1{qt(2t7l zJgp2OqFLOTd*_@p_so5LdwKzIfILWbnN(keV; zh!;!s6w(Z<#+fb*$=t+gz{r4 zG-+inOwW4qL^*?nAO2&@jf7$6ue#qpvy64P5xW%wb3>+>qm0weXrI^^fIUXnQxx4b zkj6B{+z@~n%u)u-Ax|QXyd8-V?is180VW@)7Q+`mJH}6s`16Eu>I)HeF^Wt0s4fHV Dd{wF3 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/core/configuration/WebConfiguration.class b/build/classes/java/main/com/example/demo/core/configuration/WebConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..fcf79f2745eaa08077155060fa59462dd0b5d999 GIT binary patch literal 1352 zcmcIkTTc@~6#j;`Y^k;2Dkxr1!Ao0|^%h>LM6K1A76^;Q#s@QPhcdX`X{J*yKg$

%?d*-o2w>~q>Y!)r;x%02kA5}BEztvbj#~@vV?)we06}d;A@S7Y)_+!~t)20^v19TTy1T7^J7C`>ELy^sQ*4hy*|LsB2t?dwtTs2=;dU+1=QjL_uf{6;S{vMs8zD=8euM{kbX z$6h*>I_lk36|VMzfI^V+RZlm>duf9_{eNPYY@0F64$}>>ET76k?QFz>8SZD>;e(1P z;4W^{XkjD~Ng6MtEs*AsWF!;$?_l4e<9oE)V_*XJX-)Sp-~k?z#*jr0vFPV7G^fVM zwy@|rN0@MaVzL%1V*R*M2&_E|xEXzUYK;}Vjl@nKk|FwO1`nH?1SuY6Hs zqCdbNWjtJzZRm^H?C!aI=bUf8GrxX+{|Vp)>gz}_)GLwwQJSGG`}S!idT-0f4wbRb z)Hv+hO3xfIk&%fkq!sE2EY@IISkEDYEJJ>oKlFJNF>DNkab+;_ z#W4>A!&bG{UV>bsWjJVLk;8_C>pA36xHM%BU|2g-I^c%kS#`DiG!~lEYFs&_h#MBR zawwt9u)AdOZX6mJh*uL&jEqzvjcdwKnifOpigC5Bg>8l>o(dc>;nTA@eGw?fQ(8De zYo(oIWsasA#(EyaTg}vI#CW$A=}_x3qz+Y|bjr77D2~TLPv{Qs`4lO(mB;-q*K+DF zf+;hUq_WfgFER~=wCD4S3x>@YhdC*RgzVE2Vu=|!hVo?wpGJRKlw;UglV+#WXwj6y zYhi|}|CVc7z7d+JW?VT4xfyFZ(#vM&d8~A?yViyBC>}AvMLnGBnSv%1U#TOfrpf+&aB!W DZP@dP literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/core/model/BaseEntity.class b/build/classes/java/main/com/example/demo/core/model/BaseEntity.class new file mode 100644 index 0000000000000000000000000000000000000000..660765d58f9a3ce3ceaa1720a55a268b82ebb5e1 GIT binary patch literal 1052 zcma)4T~8B16g|^!TUsk1C?9^HC_;;g``{x=qNJE6rG6CqYKGlO8QhP$J2m33(nMq8 zgFnC@WjwQ6X;O&sW$xU$=bn4+z4Pn$kDmaZV5^1#iWN9@lu#C!Kan4#8^~zjzBoEj zo)IWN){!>50>wtNU&Rcn71Zjugu1|{7l*F;D8pf(TwjH;>&1z3!`N4W`%I>)6&Y<# z1q#|Hd1u1jiKD@e!0PJ}5uxhqR38QEX%xjq8XZTezzX5-WMZT{R7t8+qashaZJ%iy z7lxjzNF~xJzb}K4B5Wo#)*n#7KQmbG@N}4E^jfdpw7PpOf$AWqixYu`V|}EOh+J<| z^?qc92y9&_qBo9@#l#79IFSsQQ2(3T&D>cT1hJQO+tZ&^kqZ&T?s0ema~&P2?kHs0 zL&?cdLxz$~#iPVi``Rj;n{51{-8BElg(EtU!=dtfBd*m8WSZ_c>-<&)+dmxpv1l*T zYodr*+BwGN6|P_biz%++8sC@fW!WApZLBiQu^*U;*O~B$R?wEVze9ZCrGOhe?Oz8; z94z7{Z?+CWxP>)ZOK_VAOR!ICu{BGu{oora6P8(42Q@fYLKVvy(^8HeGucXc7k7v( z2|Bj5b=>7?>0R1f-&a&V^C8z~<%59p+63;MY1Z^qf&x)TidJm>Ex?^`up>ywd_r{R4AxY!T>Hojmip zr_WmXV$M8gc;=Yx6BYDX&#?-N>4CX6bf7bi zE)7XMATXG*^SXK6kg$5z%-g!{WKGA_jiRMbsp6l<2CmPvw{VsvsV1UBfsi7AS33L=4J6p9s6b26a9qx2Upc4T}WUb4r=I^0l^7c1#i|fGD{a7BV$UFDGi4( z$jI=;uh^^@7^ro19K!Wy-;4qHF@g5CFaZKQ$4K!d_QW${~(P{gkn~rc8 z%^9wnjg$AcbBLXAQ=_%-e4dTqFU5+xJIJq3hh=x&|;|g^{<^o6i?-y!d zE`c#T701&W#&JQQy|S<+If1quA9F^o#E4|xxRAgECgXTk!xW|khH8WeR(W}a_$xhJ zRIL=@Y%VA8K>vk6WEE=@mg}XrVg|EuT-5L!=E_{c*9=qFb4(-8I4V0xz4TjkCL+E} zCz%dEpy7FZkV}axEw>^tSx1|3Voqe$jG&%j|BzN{184I#|tv3UliD` zB&%g2@Oa?s1~}3ASI)PeO zsOrFF4Hm9YH_ztc6?m?(Zgmjq1aghYgjJSu8uBPG?R&N#)f*bCI7yCgY^M$>DN#|w zRWJv)W*8wJ1NjoQY81G2Fz(x+r=f&p8Y~sF%HUG1bN;Ucu4`D4LD9+`$dogFxv?kf zuGDlby?4uS=?!p^3)ciD0U zhHIJBL{((z^5ipVdYA1icS0l2xjV$@Vs79eh254-$CDeUfZ(s!Uoq;WQN44f$<}vW zGP0_C7{1%4_EGNb0oN{x8NmCU$ip9~R;zr?VXdaxdU!Z$IH@|}$HbeJtMOpNLDlO+ zV5Vl1sT~@+)3>;8kBR0cm1<-#Gg9RC7)(r^EmfWohzDo_hws-Cx0qRLv0!*5haS1{ zKWBcjmQYRn$gFaj{@FQGqJ#40oaI^!#IuEh?HMxpGlq_-@OI@XYH>k^)-~H%(yy8G z`n*-h>PFaCf6DaasZXAY1s{=9PaEFl@;V`UbAd$okggHfJj{%FwPd=U zVndj=zHXq*8rHDKyHZAKpwG&kqMq<`3IT>@zk{dwx)Vd4du$(VXP@9II zVK`T91NSpjErtrUUUf%3GJIH<>q@^N|KIelugrcUw(aq_W)%H>#_h!G0tccV3vMLQ zOGMDr(SpTJTQXyor0v6BP$rg=Krm)F+JmeAb{5W5LLHw!?GmR&HpO z+P|VUgF!y0r;S23XS(|)YMg{dPqy8~)>X8p4z1$B)Zi+1q=r_p>vaY3 zQU32mEB`;rVSVW0O}q#DY3Km<;vnIGln;oH;p40kS`iYeBq>RneezoZnsAHdZB6VT zVZla_-6sg{vn%k~#J0}V8)!eYhP`(t2iI^w++icpq;Y2ti_qgx@y=B^GheTkWd*Y07p6yYXZw9U(%S zd+;j0K%4FKy0jiEPwZ7%61+Emk#Qv__F`bYkLDhvx$|py=1shhpE2&?{a{|W6yv{_ z1Slg-PZ?oG~{3MWbmXng?xnJw#d^3JSiZT3F`6S8G?^yqRIQ$RzBkLOLZ!jwE;7|B7-eQYP M>wm@Dcn3TG1GgW2^Z)<= literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/orders/api/OrdersDto.class b/build/classes/java/main/com/example/demo/orders/api/OrdersDto.class new file mode 100644 index 0000000000000000000000000000000000000000..30ba7562e3278ff942ca650e99e8f22f074503e8 GIT binary patch literal 2566 zcmb7_ds7=#7{;HIk}OG=(w0I*inW$XfR?QkTNOkip$dkJfYExLLvl(NHoMI3rqg}` zzmCpSboz%Mzz^m4oXxVikg8-R=VbT2{my$i`Rngje**XzKjx6a1p|F1(#Qy0K9tX- z~+0jFGXSG=RX=}6mSfId~97#Wv7LQ@G0K~GYL<@b%oCemW z7j8Bjhi2oQ$Jl#u+5pL9SJ;~ZgJs)Qn~nOu^7kau#I`DX zRq0fuZ|mpyWncKz=HVyL_Ij@Y((!_3lMd;lo{nfVMN<`)dqag!z1p_)WnHlbbe)SD zCZ4G|w#@m)f+2GZ8IPL4{la-2XfCq_p(o62dDM^Dc&_zt-QO$C0UPe<@6!>Z3aw+6 zk@hT{YUqFl-RNm+o95O8QcM?3@o64gQf;20`EH}mv+sHhzp5VDx`LOIn`~C+p66I| zUFEMhG6+;);9G%to!$T4|8Wx=_+H@dxh#p;901(p<(XpZ^>O8043>yb1Kj8NeP7`L z9#X{1m8%wI`1%9xAM)D|F@)$Tr7yQwW01Sn_=uVd>sX9bhmdNja!mv&ebxP|Uk${6 z6s}A3XmJ60{K_9Ge8N?WLHcE`+JFiu;#2OthA_gl)A%KfUnp!h&i6E4L5W)0 zc!|4CQ)YVRHyEwZ`hO1?W5DZ?hmodM9A2X}le$W+G%rtX0*~-n52k@`rW-w(KF1nk zoM9U1X1YbDiPtdcY6`?mgAvnulBYR}bPoHcUt-_{SGut#+pzkRJb#g-sz~b;?X$6c zxtnZ;eRHRcESqF2i*i)Jn5-O;ZD5lgyDOOQ#t=e`lW7-wy_m+jnHI>j_!=fXHwn{t#Pk&kvD+f2SywR63gl04 tfq&h!|`zMIAD zc}d=ry!eouBgEvK|(}Drp>IAOgT9-nRU`;CV9%pn}fD%xl01kqn2&C#|1(i zos%`FMvaD;j#}sfiFHn#T-wa#eK(_OQgoy(=A3jPr=Z#xNGGo}Y$syY{XU$w+jCS=p8nBhPXH9p!kQLb4(OF?S;1p&u zrt;XN<1swW#PZUtKG2&WC#6xi%p6y_)TW~yJ7`nLn>n(wK0W!N znA;`!?k5(*F6`FugpMb%N1$UJFB@zWs9|~@zXDr|87f%grrTGG4s>cr=;%VXKwME( z{3=kLa%|VI?7To@M@8PFGxKK3?dzPD`+IdH<>ru)PRH;R_G>tx;~)+(;5zE*)3V)3 zBU2zrRLW2chjB#1GdiA?)#zQ9*+VN%cg$}rXQj*-j^dbx<2s(h2^OFn+AF0%ZCcf| z9DG3TIi;f?0|MGD32O9)Om!eY2^vnX^6GIQ6?az05Y7oyS?N;YmE49MdzM-o#)yXV zIz};8q(o8dc_6ppIU_$O(A04yfMYT=h>JSLG2vy~pE2^>)KDy@3Z)j6t|xU|#tYOx zi5ViG`c-x%NYgs5;40;B-Yggy`r8{&-~c$&vUjfOxQ>?uVv2mfTlX{2qg7Agozam3 zaccA>B`?q&78A(Jr}EyVK}ERf7xerO4FS8~-B_<6$2E;>0Q!&ng|aDiP9 zHJn&ll-R=qCnp9u^z)n-*fea}=J`T)#>`DfXz~|HnaZ8&ZW+ zS$fBvlbsbCcM7?bdD@aC+){b%_DV`O(wKh<32YCRj+6ik8TG1+o$SUcYB$0suYYRT z=4>lx4#!1~H}l9LKMj}fyb*&f3PlTE=e|WP$6NgQTX`$fVU@gieS|lN?<&K`INwt9KFo$L;HyfRgjs<#DRT*S-pdI{j832l(C{J zqcVPvmxIjzkn+&vS(WfceY_G|gtsdPA&+uC*J5g2i|I%pruXo^k7?G&)Fv^tcCBD% z;#cgg!gr|iCp}fTEU|`EruB-;qr`d)^*D}JoT$LuR>Iuo%k2ZTQ?x2#3BFx{=l?+; z{0Kcs?%ETH`-rb#-yM$H3Z7m;-@*f&l-0hE#&TL7S^e0Cfr`}HOCsXc6u?Wo?7*wl z*^13&1>V7jJ};|k6<=GcVWJ+X$U9ofJE{~Vis?!X33&qsU}|2AX)F-aNBB4hQ-%IL zN+yWu(gv8kzV-FvY5Eh2&C|~rmQYNmyML^vd2dP410eR7SYT!+T~ZGyo= zY=(kO5oDTwf=!&q4P3=6PtBA{XNL#5R7?kV@hQ1!#YKF^L#hf=&T&MvI`J2#X#XYWU(o~4;jjM(tQs7b literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/orders/repository/OrdersRepository.class b/build/classes/java/main/com/example/demo/orders/repository/OrdersRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..61712d71c5d597be795619a0f0a6f5f435638211 GIT binary patch literal 680 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 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/products/api/ProductsDto.class b/build/classes/java/main/com/example/demo/products/api/ProductsDto.class new file mode 100644 index 0000000000000000000000000000000000000000..af385aafb628a93edb748074d53775917f5b8cc8 GIT binary patch literal 1927 zcmb7F?M@Rx6uq<1mewLzpb7{IA_5gw5%B{=5Hx|5LVz^!ml?Jr3~YCs-6?^$(nMq8 z4LR^L1{*lmRmN(DKA%SVU|SMH7lN5s#?l7c}1Gr z;bKj>j0{-ffn4N|r@Y`Vw&~j^iq>r0e*M%)Bn(GxwG7PRq7=#I0lB zbxd9dnHyN6j*9Tq8Q9|7vV@P&`Rj#_tpsskNbbB}S^KnA$bUrtP}VW`6gN+}ElYtc z(}FbRap|Co1y{YpX&fVNsJV_k^s1?ri7Rjwsi`@-AfXsJFP*Wz}Ods45%hwbW6qEWe^QCBjF&UqlzI*gK;(7ieLVqg_) z`nAm-U2D_cWD(xl6zb3|ZF3K1z=0xn5^TCrnlXvs^WPnKzFl)xZ&RYsTZ}q@4iSBg z*+PKMmjI*?_^t^N8ZST~O%2hUrS8qtu3Pmi@j>b)b~jv?8C@Tv^t$5+Z`J0$FZ={8 zGMc-VVMEs?2-kP|T9I&i&9O9s>uBKo+cDzO6Qes=bz<(vcR!Dy}=sO-Fx-j3v?tLIfHfS_}_K*Q69%HO;82UAE?WiPp@jAmehAbv#hB-F% zgVA@wM^!dR? zHBDWCrYH0?qEFqen#LnF&C)Z}{ZF5|TQyBVQ|=N?+8uRGnLyJVJ&&U8ZKa(7t$7Kp oHglae8_>?vi-=NtTT7jdDAk~spfKnay~dmZ%>w><-!Aw61=R?2sQ>@~ literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/products/api/ProductsGroupedDto.class b/build/classes/java/main/com/example/demo/products/api/ProductsGroupedDto.class new file mode 100644 index 0000000000000000000000000000000000000000..a886c72daf83ff01cdf8f8d60d0a97e08d5c190d GIT binary patch literal 896 zcmb7?-EPxB5QWdW`Nt(8X`Av}dY2RlqjFj34HXC}KqXM_H})!Z6=yBSMm!csAf#UK z0DY*6GmceK6E2XYSd3Es%z)S46;9#SUii;|03Y~NPS$i`*pL!oA=f+PJ zYA?chm>w%^42I(-8fezha&Zf;!ZY7Sp82AqcxJr7MAnNF8)SaE@N^t{r$zE6u~}?_ zlhi6S3&q=j)kc5HjqH4SB=)ymw9!$h#!2WKh3<;z#AcJ3IZ~*+vH`!fN8#MO&!UM* zK52dtwe|IEtdmgkVzZK-g$sql(f{JIk~=kN(T5;+2g4Pf9GaTN4NY%QmJG*i_MJ)3 zY;dX*9huZ51Zw2od6!!^e6Ra#+qL5 zeE93~H;$QW6`VC{jCYtl=c;7);3w3#T-IfjYXb0|(5A;XcPYXawwWpHpwB1<9@nM8 zchtXf!+{uxKUjI);a%LNN)8`$l|r?HCqGaxmv57^lRNAzRYiGmm!1^v@oZHw5vKci mz*uJ5EHm}iGCjnjbxfOOraqZ=|G^~ly=H3XOnZzD9{&bC+M}8P literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/products/model/ProductsEntity.class b/build/classes/java/main/com/example/demo/products/model/ProductsEntity.class new file mode 100644 index 0000000000000000000000000000000000000000..8d4599ff92be98feb64cf016b7d951fbdf2dc2e8 GIT binary patch literal 2476 zcmb7ETT>fl7=FHFlMU&HGuRU?wOEo3uvDs5p_P`NsGQm$3S2E=2bOMj<7VT?Pw@w+ zH(cmUTRWZ6@yZLY{6UW6^X)FMf#B$5vft@_pZ9r>fBgOSR{(dgo<|C46^e!ovH~}% zUd^z+F>7_lGPbRnXH-4kGHTwo|kFYJ7c?ca91E*EUk4QhYl5a4dF#``&i58Z=^{mH2oFrUd(SOF&;Zr6?Z`wN~XmQkj+(J2iBnTR?Hm8nt^D_ROzM z!!g|*qZ0VGyAw+FYUo41K&I~7)e~Y5yyli;O{*9b=swn7-rBROfi!Vm!v$OvNZH$z zNEle~2%pDg45_%H;VOm&dP0O|U^_;H&>**6v#~2MSlmn~N3YYR`8)>ju7>Lv5ytDxG;@`hjWGEx%zm0?Vyh#-i!&uX@X_H7zjQR^q8= zyK|n?thp4)%2Jb2&ACm-F=->s4uQbswz@}p${c$`pliW)t)*sd%ko#HvaCn1YC3DC zZ_9IhsRX+=8Bd;$=)blI`8_M1);X&?63LB&ow$iZT3Ta8FIvH_x4mNeOjE$vF=>s% zypR76gAy!9%{Yex$%0GRli*QBv`EApLlD_7QA9ad<^@^=4;yELW5?UtYwh{?k?r9H zyOu9ds03#9#iCh{W1p{hO}}bAvSoJqT4&IN?A^0+9nTzrOKnRbglC3whbhE0mUfE8 zljfHbkwx?|PyIZ7!gZQ!R|7M+vw^#EkM3CF9M@0zj~_U<+CAiX$zjd!EYYU83a%Ob zXNaG;N#P#9a;}5JOTk6l=T4HK5a#fJs|0vRiCOL)t_s(F380r>LDk1zp`eeyLeDYY zAT_{wr(g&jxPng3ygm$v*m|TNV@pRPr{zvMCz$`lAW zt=qU-IO*!`wyrK>DOO%$8OSt^sJ~!fJ*~gQJC${Xi&|OFa4A&Qvs`*AZ*b{=a>>-r zB(O)0inNU7*xx_7%6Yu0m%m3wIVk^*PW?5mmHGb;ne;*VH{=$_UgJG!_6b)rC}~M49rljS?g4ihl2S=#kUevr{W8Sr9m8Wb@e}^$ zvB9&f$l-|EQ9W&91ZVYkQ~?>aQ~ZTl6}edvHUf)ng)b?rhTqS_G10~I N8qZ%4fn(y!e*ntu_wE1y literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/products/model/ProductsGrouped.class b/build/classes/java/main/com/example/demo/products/model/ProductsGrouped.class new file mode 100644 index 0000000000000000000000000000000000000000..fa1ed39e012010606af2b8a35b6e154c10a6d435 GIT binary patch literal 253 zcmZXPO$x#=6olv1pK9H>@DK`O4j}IQ*$4{a0owFYDybZeJC5(ro^+M|S`K literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/products/repository/ProductsRepository.class b/build/classes/java/main/com/example/demo/products/repository/ProductsRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..9b05de1bfff1ae3f17682a7cd08faf4971cd3675 GIT binary patch literal 704 zcma)4%}xR_5T2rlfImn~jJG{%Vk~;`fRZRwJgfm1f8xm$wr+~M?WWrzyn)Z;!3Xf6 zjFo?5NIXp1&P>0V@06?yDuwt=HxRz>w zn`56hb!A`~L7_`~6o*sCnBLAJ#MLA6l~0r`_~>Mo`fNuPyNHgzRU%=~i2 zV(xlIXdbb9p73_a&V`VgYA!{B0J{qrb>m;GZVXcci((VU>C2MKBgvjnt238>j bS^G*s4)XTQ+vu9L^#nGip-m_ZQ?|YVc&_39 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/products/service/ProductsService.class b/build/classes/java/main/com/example/demo/products/service/ProductsService.class new file mode 100644 index 0000000000000000000000000000000000000000..c17eecc4491f2c33e0cdb0544117f5d579c6779b GIT binary patch literal 3977 zcmbtWX>-$76g|%gapH)OnkCQzWeGGZf(A+;Q=oKF?3W-SOGc7I(tV-( zzPJCPooPb@Gi|?hrqkcl>3NcDE7)X!en@0J-Q~P<&%N*c{qN1+0UXAUDJ0O4M5Bfk zXcB0@V$2%4W!TgDnaL|M=L<9)GHug8BGAy)J<)<@v?P(z&*~%__dn`O*O;^QNt!|7T6rb3amWel}16&29Ip1Sae)Pez+_!&=o?fiFh%> zTpNVIw_s}$+ca!Pr$EOYk}-?#WK56g(o2A=wSecH8XiHHK(nH1cz!f5&=ui{No6pO zZb*@pCak6Ry#;Y8vd@zZ<0=w?4p@Nf_Rz-#*wr~3LNjxU7Ev5#` zlGBDY5YuKI<&MTv0u8&ujIRPmmj`sW++nR6SFcbm_lM}T4_S$fBIT|YcOfFZVy7=pK zV};_E0ol;Te13hS#QJBmdos?YXZh@hit<{0LT(43IsjO3SbMm;U8fHzo@1wiXE_Igh zXss(XkNTI6ny`9gt{P<6aeQ78jAGa+UOV2qeW*p_XH^qEP$$EO8s5O0?f6(7llQs- z2Kh9F&+vH?UugIeUoANRO?%dvk$NUzjev|PwnlKxYi0XZ-~Ndc899acPa1aKl3r)V zab`-z`1FcKd#q=cII7boZhrS4!<5VW#t+#j@=?RGvb^!J2->J^OE;Le(o5o7fgROL z!4e=#x0l5C--oF7tmI)Zj^@5v$R{+pNjAb)hw`V1{q>3!(~G{Jnw~Dn0}X=%lL(KTLDM=lY&s zkX*z{fkmw5jqW#WSj58uKk-|btSPh$l4#NIFo_-5I4JVj$}d;>=U#-z2QMp8qEif` z_R*md^)6yZ0=+lU4J@GlPYm3iXH#r59hJ>=z(D*3gcf=5EtRUEkIm{Em%Z%Cp(N=~s7eP@hUFC0q zSMX|t;yN)ja;>kYcL7h1_4h5{=mJit=cxspQO|P=m{6$t7g0qO^1hB@;8hzrjx z7I86wzG{g=-3>7KUbOSZtDtNNy(&=B5tJrsS^-FunJO2pnw%G>h^f8gO{p=Z(k|kK zTKydil7;$9Mae?_yMZgHCVJ lDS@|x=*sRLzF+5`vipR%-^Kg*2w!t0#g%XH9e%)u{{ZN$FjxQp literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/types/api/TypesController.class b/build/classes/java/main/com/example/demo/types/api/TypesController.class new file mode 100644 index 0000000000000000000000000000000000000000..19a5a08ee62cf8f87ef634bb2d219c26cbe2537d GIT binary patch literal 4116 zcmb_fYje|95Ixrv6{>o#s7zm`NEyoJ33G5jgU+%$P^kmShp%0osuIQF^^O;eu*rr}G%dQ@5 zRZL$uDwh6GUd_2q;JLPKdIFkywq$ynR?!qVQ%ErO!#6?)wb%0!ctFD-h6MV`ZppOg zjY>tj9WA)tny!}0YDu4OJkDp36*!TARHu18aC@;2Z)dPy!vVY_aA+5&l!8bCQ)7i@ zx$=>fIot64{CH#~l$4wf3XCOiQh|iA-*5se*y_b$jAn2|!@D>tFp*%_PBkWP%?xI2 zTOd1DBT@}4TQ69Cknh8BoXFs$hEq5#FrZ?oKc=l8c&1UN7BSm!RbNsM^I4YBn1*rW z1iC4|y(MsWEGe~h!5ek4Bai}KtvbcPavl9!&qrhdc z2|P&DsMS6ZsxBv8DwJuBdzxEyZ{UW-vl~#%IuWClj#TGk4KtXfU`3Wlz}>w3f5g)s z>$-*;xJj&PrKGS{TawXvF5WQC+Zyi3DoC^8m@>}!#5mh+!2GVgX?$6rYmUuIV6b30 z=Dlip#q=H;D>hfM1-EF}%Z6vk``Thxux|MRlS%Q`QySS{Z0hr7u zTa;qPaooU=U4n63Py+iE&vMpQWq40rZ$p1-uIMY4Q__w4yZS9NkY5bGN0+hAz58}< z3MyrlC}^aoD{JoSO~bA-&~E*?ReB+CJWjfj>cn^AO2XF2PxNv;RS|Hku2_E+2NPvB}3^PbkTfLHT_`LEp5^6 ztB#vMEXq!`=)ABNsu3xsI+pOdYAB78>|JuJUeUa1$<4p7X?Qv-KYRSfb?kkSLdAN( zo0uw@8_WjOICuW+xp25+`Oms;z>la=2^)()1WrSzqY0@^I&FrZ!EQ_q;p$)-{LEId znZZ*H&%m+acw?BdoK1Jb)C)#=rDPDqST%})>+z*NcCg0X-%-q(QON1G;goFCKUr|y zjcO%2mT_>AO(3#`V}?@s|MoD1+}$=RNDX$*u>u9mg>}H8+}m20yUZwrJ8W zybOL6II{bz?D?S53Ln|O&# zZt^Aif8|mN1s=2L;_(oVhtY#k4B!anxpFi#!#&*R9UUkbp{^uQ3JbjMNpV>|lQyO)k@?*bXN>|x#mUN4N5qlj1joe06y0jW=~_gdj#9MV#3G)eE?8ud m!ehlc%c~9E+jW~V9Nx=P^C_B(C-Cq+S9-bf953(_M*amDl3oV@ literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/types/api/TypesDto.class b/build/classes/java/main/com/example/demo/types/api/TypesDto.class new file mode 100644 index 0000000000000000000000000000000000000000..7e3980df02059c46072bf11f425e82f425292cd2 GIT binary patch literal 1258 zcmb7DT~8B16g^YgF4R_#0t$X2pe+dVVti4F2%2DOAwZh=WQOes1KZtZcOdYuG|`y& z;1BRe8P9CXM}fqU&EC5+_v_qy?*94v>oxq|?Wsd00~PMbwe3Ca zTY>y56B@fH&{wH82GEZI4}~IbpeQiqM=hz3RI43m+0?B_+T*rPq-q)5TgUd8+49Qwb;8gW*9)CqO5>PeVB_7=%ICFu z?UO*2fcI5wl{{2|X{NBGPiQt)CbWsHNA@kJxzD)!y?wax^z@Qlj+&goV9kWOe$d+1 z@s?u0ZYq(lf`*EXJ9jU$cGs|rnY4@lFu>xu9c@?1!f?ewKA||}fySg`ELSetstpqN zQQO_9xvpYz#5uF7$87bKv5}s9r<{4r*l`#=pR;RsSqq!dLG0`I#&uXa*_8!{O`y0M zhB{sjRFde#!>qvbYw_GA%fmB)`D;aTK{`ZZlIxk_Ka%0YU5CIeo=Viie9Iam7^R8p zOX*B`UXM}V=GzZZMtaKemVXxI9o|c7L7kiZ3Gs~|8H`gpGvHx@(p91Z?&2Ob*9H$L zdxO8j`%2^a;G0(lKg1(?x!^@=*G_(R?gzZH((eBUTgsuFW*F;ub;~Z1dt*nwCbWrq)(I0DC^+0gFUX` zr}PIvU-HmOl%h(l`qYR1rmEtM?JS#+N`2V5zB6~uJ@?)-`}e=U{Q=-B+^?a8vIEP7 zjf%jPZq)bGGuht_l((h&k=Ko4<@KX26?k`LqV9*<*Utqi^M2^-1%Yy-xjup_MjX^! z9D^&+cn?HB-&IM0^2mJe!&ss0D}l+?9r?ZV0vT?59Uc4O_MC$;fr)q9UvKWHt~Qw_ zTpY)wK*`@?#L&&vi1%tZi75wl7pHJq;CP0RYCrIDghasV$)qPxZ+tg&IX|6iuGBD! z4_utVS%K=d(#wHNceaMOPehjFIlCSYWiHW%tRN+%1Zzb)q!xst3L) zb7Dxt*NwpbtGl_(S%2KwYhWTT!5@R76T8!Lm|>4(W(*y zgKgQvXMg_udj9}$iIWT?gY!}X@v99@%~Wv^N`1pEDL2ykB-+!%dT{^SXE-!CUD{_$ zwT+JM9+zCE3}b@}QAcf~KDsBhfnP*dRM}*Aao5^aTbjXS;a#+;Q#N=j_PKfSf9AaS zLn=tc^^ea@Og{Db&b~sT%dc{S=|Va!`PSFNMQ3~Vv-N?4s=>h!N5dz95wcA_#$;2c E-?#yE8UO$Q literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/types/service/TypesService.class b/build/classes/java/main/com/example/demo/types/service/TypesService.class new file mode 100644 index 0000000000000000000000000000000000000000..734656df1139b354cee3b932b82a3e2f76353aa4 GIT binary patch literal 3452 zcmbVOZBrXn6n<`?*^+E&nzm3BE3LFb0^PRQstrW}!D0i{24h>bdPy!}%Vuxf-B9rT z_5bLMQfX(@Z_YUWCdYGkH)PX52mAn=yL(=q^PK0L-M{~R{5yc__%VSPIy7|ZID|Mu z>H%NphQ;lQvAFy|lsty`xM`c-1VhKraIp)A(WN1wBMF@$Tar~nZ18H$5=L26rQvPX zglo9MSvO04#a9~I{q9$F_lg=i?Sbh)RrcvO2d&eo4L^qCVNa;9+G{dC>M_|xa zOuIa3Sqwcx!}(^lbDnVcvLz_T37pi>qoWt67}D(~3`w_UnaY7mVd!fFs(Yqo6q=86 z2|S1AHT3Iv0jC*G`>}j0*K-7~8U_DSsMl)JQB()FiJYMTT3f_>A?EfV1bhHzG@RA( z5(XK1_ee%rJefCLN|$Z{uI~8^pV#p+h8PYjs-`yQ$_zsxo`^7VQ6!5s&y+T|a%oak zMn@JSq?d}IBu3OVFYQW;<4WBwDOW>rV41=p&Mv^va8bu4TyF61m)l4}{7YxXa>dfB zBOj6sqGYuPjCMKDbWX!7RMQ^nsmijj0_n}zp6P9BxXN%gq65nk6>d#Bm3md!-pocx z_~jqQYYg3i&w%L;*mcWF;0ms(*~&4Tj50x;Hx(B}rRnQBCh!JBr_0v`!}+LT2zi$( z5;TjGit8zc@u*A4@_y?h%E$1Qjv36-d{EOCc$H9`XsE+)dWct<-q10p>e1Z5R8??O zM;`N}E#gjid^n#EyLv4IZeH1IGQ(Yu~4rr3uj5~1X5vMmbg{qj;YS!%}#ICbg7)Z zlI^wxiMG_d@K$B{7I%ndS|Su8PNe%gsjFaCZ0^+^$~n>C-xt4{&hfo6wMjNNL5ccq z*Ga!sQ8ZnXP*2*n^tc)}%6Kg=or>Ysln7T8kcZM)GdzdeE)NEh@0c4)&D%8Mv>0f2 zl^1PmvxBCcF~m$-5viv;L1mT5P>G?qXG7YN5AVN7%0Tl+6UvY|h}V&V$4hJTycRYx zUaysXoGVd%`EuHS*aP9##Rm1$4R!^CZt?1JnGcc-1}`#9w!zpX__Jn)dXy;0x>FLf zrjqZm=zI8r+GMo;c2$5&f)rA{#EtN^trR;YrAMzOUJIn_ra-T~*8LEU_|Z5#wU_ET z)?lUJujhlJry!dNe1^|8e4*n@eATjkO?zFg2_x@QMu7MVDc1j_NYXqtPya+&44ne} zH@IE4ggcm*a;;vAu8?rcMWo!~sA!Cu@Bd+t^4Y%86(2^P=9X2UFAZvfK4;s)@t2-( zHGIo(uK7x80n%EYhVL6+9{wWV&6EZy-~wl;cQG~9NUJYA`lZqDLnzSQB|6R0RXtB+ z9)V@Dze4+&PBFYk|GS~~!7+4_Zx@cENT;5_8t>x{oygCR%5ax{AEFmIT^R0RkX%*x zDKcktJ(c+d+BS|bY~wh6N&JSsZM?|v6Fm!(#eKV8KZzdrgh@W|Z9c?DbWPHe`}Ftm zJ$ynJdR2yrZc-RkN3Tkh-Nv~XvX3zgY+>|Ij6I#FKT=HZPBFdUSf;RHF`VMiGI zNa3;%Wgzg{fszhe5-05{0I>!mjpl^OQwg=7h!>^0D^!nCUGfPQ?xx2`+P9inm4hlw ssW}i@($4{Ms?xm}Y`^QuPSUv++HDZBPvK%6U(=lgJ^cpX;Rp2n2R7D`?*IS* literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/users/api/UsersController.class b/build/classes/java/main/com/example/demo/users/api/UsersController.class new file mode 100644 index 0000000000000000000000000000000000000000..dfe404b2a8fcd7725e58126d6d2e7746d3e8fdf4 GIT binary patch literal 4341 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 K^pGCE9QzB;Y9?v` literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/users/model/UsersEntity.class b/build/classes/java/main/com/example/demo/users/model/UsersEntity.class new file mode 100644 index 0000000000000000000000000000000000000000..dd24515db90df5cc27dc6b0be696b028dca8a9cb GIT binary patch literal 2915 zcmb7GYf}?f7=BJ}3(0~Jfff~o+G0r1cxi1FMS*%j6R`%dU~fyZO%^x1F}tz#r}PKd ze(^&)Q`ELor=R+vzp2ydbIxucKr+(~!|pkI-uHc;_j>ZzKfk^Ka0O43h#;yVrX!Ao zz*O0-=gn`8dc!vJ6|?T<%Wl)m*WHR~=NAmmyzcmx|4blp*>Ws@P9U0@Ue(YiaB$Oj zYUEqKW#?}hUae&MNoa`nBL!WGP{n_bt4H<#7Qc%$e4rC0oI&zp1h*(rkcjy*ehA)ZJ$ZI&G z<1EhYN^f9+iHX&iXo1npqYmXZ@KO>d@xG1^aDnk>=oW3}K;RH#x5Gw#BvuL^>9~kX z%qT^dNN8x6+%~1lI?I-ImoT5S44d{&cJaCcpiO68VqDWPkA;9vAt;>TT`*zkNZF5d zT$i#b^0^mQkHFad7CWGBu3Db8VVm=g(=so(@C|bK`-HpxN132tC$q@w5$hNpai<45_za(OC+&SfL}{-^X(@krkG*Veix@Lo7~Ziw zNESuc0kUMi>OK(KwKLXf8(5n)HTtrsXFx|XsG8CH5lZeXman-g72aAFM3LS_W%F@ literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/demo/users/repository/UsersRepository.class b/build/classes/java/main/com/example/demo/users/repository/UsersRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..b25c4fd39e07ab1172daf0c647d5ed6d0347158b GIT binary patch literal 550 zcmbu7-AcqT5QR_HpSr7p7e0qUZ>tL;dR0&?K0s_@$l7GeG*$Q2yzl{hsKx9GS{D`y z-Xt>v`OeIld@kNU09@cO!${z?A}`IG@=a}|HlAeH8g3<FDIxjXD<4K$P+mq`MU7Y7Vy@Gb+28hF6ODNG8C?ct1GLa%HGbXV8`T<;O_L->|~qKPR?v%a3+u!5FvyNxwp zHq|Z9U$^QqlvdqqO53%r%7$82ueO!8m+{tEl;YyzRQUjUQB_atlFkY&7x$$aRce1; zBJ-AsM{q`9SXcl2=3-r-n4~zx^-?;yS6ZR%xzZ^W*eGXBJch^F0u9ADt+Z;{a~nGp z*V=APt6I9Oj;(wq_1pN4fhSFzL#aclsDd3Qq?G4hbON<%j-wjVS@0X}rgFoJw`(d2e;5k_M`E25c5uRN zJ5Cn!xS+?y_XUooGeI(wC#9*XZqrL9p2jl*gMr*o0uQAH6Ue(nk>z;#fzI`_0&{7V zB+L7ak13zSl8MW>!lJWiWv^ko0{3(nA5}d8tYv>_Vp#_?93--ObH&7S+CYv5uF4=F z`|EoDc@r;a;T(lK`#R?9CSJr#Y%pe9g^YSfdOA^84ZI>S+ZRgB^OdE1-}9}@UUue5iJ_v#7ea}5A54Jcr1;nCm5c@U0R`;!bzyxG$4!iuF3}L!!3_z2# zx+hWkGdi{ZSdNcTk+a{Oac_Hr&vK6;fkjHQC9CXR(86Cp!^o0Gri8t_O9&hP`=Ah_l5 z7ZdN`uR9JB+uiWil~s;XMnH0nofO^oa_sZo>hp9K6QvmcGt#X)Dwr&L-g>*09&O3E zPEmP>;tKPU7T^EJ*yUI2rVp#c@&)NQ6 z=UNz@NV|!$k>Xt7Bx{$^(*^~7{pQ;+-w$DxyEU#Z@u|OOr{9N|p7|e)ce%=-&i^CO zbLwsk@_IXhqflHOi>0xK23ORJtP0%V`yn20dq^dT5p5lVfd#B%nv5mt5+qj!| zq7N{>jc*G4m)~M%Ly_Eg7s?pg*dUZ7pKaRPCGK0eoj8?zYNr!3pW^UGn7>x| z-upQJaRT9D28ri^R7H!-*%YfglR_}jMKFO)yha4C)9L`kkq(s21d1+HlkWmQ!A}zu zuM@){_fAdEY+>>8?CC9(w{TTID_f{)G_%_vn&)SGX*fn2f_Lm8oFSM;Nv*S_>thk9 z>DXKs)TtybbP>VJQ0spDj6erEwbH5T$M|BmJTDNVW=J8zxTGFfdBvi literal 0 HcmV?d00001 diff --git a/build/resolvedMainClassName b/build/resolvedMainClassName new file mode 100644 index 0000000..b481589 --- /dev/null +++ b/build/resolvedMainClassName @@ -0,0 +1 @@ +com.example.demo.DemoApplication \ No newline at end of file diff --git a/build/resources/main/application.properties b/build/resources/main/application.properties new file mode 100644 index 0000000..62ab433 --- /dev/null +++ b/build/resources/main/application.properties @@ -0,0 +1,20 @@ +# Server +spring.main.banner-mode=off +server.port=8080 + +# Logger settings +# Available levels are: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF +logging.level.com.example.demo=DEBUG + +# JPA Settings +spring.datasource.url=jdbc:h2:file:./data +spring.datasource.username=sa +spring.datasource.password=password +spring.datasource.driver-class-name=org.h2.Driver +spring.jpa.hibernate.ddl-auto=create +spring.jpa.open-in-view=false +# spring.jpa.show-sql=true +# spring.jpa.properties.hibernate.format_sql=true + +# H2 console +spring.h2.console.enabled=true \ No newline at end of file diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin new file mode 100644 index 0000000000000000000000000000000000000000..8b8bc5542e76538a398d33fb3e11391478561d84 GIT binary patch literal 47602 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.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.getConnectionUrl(H2ConsoleAutoConfiguration.java:94) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) + at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395) + at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:261) + at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:261) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) + at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) + at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.logDataSources(H2ConsoleAutoConfiguration.java:86) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.lambda$h2Console$0(H2ConsoleAutoConfiguration.java:69) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.withThreadContextClassLoader(H2ConsoleAutoConfiguration.java:78) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.h2Console(H2ConsoleAutoConfiguration.java:69) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:644) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:636) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1335) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1165) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:210) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:201) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:96) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:85) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:266) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:240) + at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:52) + at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4880) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866) + at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:845) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866) + at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:240) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.core.StandardService.startInternal(StandardService.java:433) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:921) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.startup.Tomcat.start(Tomcat.java:437) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:126) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:105) + at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:499) + at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:218) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:188) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:162) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:618) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) + at com.example.demo.DemoApplication.main(DemoApplication.java:39) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 96 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 90 more +2024-04-20 21:37:00.680147+04:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:276) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) + at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) + at org.hibernate.boot.model.relational.Database.(Database.java:45) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:191) + at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) + at com.example.demo.DemoApplication.main(DemoApplication.java:39) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 61 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 55 more +2024-04-20 21:37:35.622227+04:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.getConnectionUrl(H2ConsoleAutoConfiguration.java:94) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) + at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395) + at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:261) + at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:261) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) + at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) + at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.logDataSources(H2ConsoleAutoConfiguration.java:86) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.lambda$h2Console$0(H2ConsoleAutoConfiguration.java:69) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.withThreadContextClassLoader(H2ConsoleAutoConfiguration.java:78) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.h2Console(H2ConsoleAutoConfiguration.java:69) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:644) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:636) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1335) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1165) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:210) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:201) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:96) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:85) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:266) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:240) + at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:52) + at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4880) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866) + at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:845) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866) + at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:240) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.core.StandardService.startInternal(StandardService.java:433) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:921) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.startup.Tomcat.start(Tomcat.java:437) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:126) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:105) + at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:499) + at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:218) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:188) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:162) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:618) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) + at com.example.demo.DemoApplication.main(DemoApplication.java:39) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 96 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 90 more +2024-04-20 21:37:36.939049+04:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:276) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) + at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) + at org.hibernate.boot.model.relational.Database.(Database.java:45) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:191) + at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) + at com.example.demo.DemoApplication.main(DemoApplication.java:39) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 61 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: C:/4 semestr/IP/IP-Labs-4-semestr/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 55 more +2024-05-07 12:00:37.830000+03:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:276) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) + at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) + at org.hibernate.boot.model.relational.Database.(Database.java:45) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:191) + at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) + at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1454) + at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:553) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) + at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:378) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:383) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:378) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) + at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:377) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:290) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:289) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:279) + at java.base/java.util.Optional.orElseGet(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:278) + at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95) + at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91) + at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60) + at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98) + at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:757) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 138 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 132 more +2024-05-07 12:08:02.812883+03:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:276) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) + at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) + at org.hibernate.boot.model.relational.Database.(Database.java:45) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:191) + at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) + at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1454) + at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:553) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) + at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:378) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:383) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:378) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) + at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:377) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:290) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:289) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:279) + at java.base/java.util.Optional.orElseGet(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:278) + at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95) + at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91) + at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60) + at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98) + at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:757) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 138 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 132 more +2024-05-07 12:11:16.128521+03:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:276) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) + at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) + at org.hibernate.boot.model.relational.Database.(Database.java:45) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:191) + at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) + at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1454) + at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:553) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) + at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:378) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:383) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:378) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) + at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:377) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:290) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:289) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:279) + at java.base/java.util.Optional.orElseGet(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:278) + at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95) + at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91) + at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60) + at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98) + at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:757) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 138 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 132 more +2024-05-07 12:24:39.671562+03:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:276) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) + at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) + at org.hibernate.boot.model.relational.Database.(Database.java:45) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:191) + at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) + at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1454) + at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:553) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) + at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:378) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:383) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:378) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) + at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:377) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:290) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:289) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:279) + at java.base/java.util.Optional.orElseGet(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:278) + at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95) + at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91) + at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60) + at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98) + at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:757) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 138 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 132 more +2024-05-07 13:58:21.410653+03:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:276) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) + at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) + at org.hibernate.boot.model.relational.Database.(Database.java:45) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:191) + at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) + at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1454) + at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:553) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) + at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:378) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:383) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:378) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) + at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:377) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:290) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:289) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:279) + at java.base/java.util.Optional.orElseGet(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:278) + at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95) + at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91) + at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60) + at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98) + at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:757) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 138 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 132 more +2024-05-07 13:59:10.965031+03:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:276) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) + at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) + at org.hibernate.boot.model.relational.Database.(Database.java:45) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:191) + at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) + at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1454) + at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:553) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) + at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:378) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:383) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:378) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) + at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:377) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:290) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:289) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:279) + at java.base/java.util.Optional.orElseGet(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:278) + at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95) + at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91) + at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60) + at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98) + at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:757) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 138 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 132 more +2024-05-07 15:01:00.622650+03:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:276) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) + at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) + at org.hibernate.boot.model.relational.Database.(Database.java:45) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:191) + at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) + at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1454) + at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:553) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) + at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:378) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:383) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:378) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) + at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:377) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:290) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:289) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:279) + at java.base/java.util.Optional.orElseGet(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:278) + at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95) + at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91) + at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60) + at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98) + at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:757) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 138 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 132 more +2024-05-07 15:01:22.964891+03:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:276) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) + at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) + at org.hibernate.boot.model.relational.Database.(Database.java:45) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:191) + at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) + at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1454) + at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:553) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) + at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:378) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:383) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:378) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) + at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:377) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:290) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:289) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:279) + at java.base/java.util.Optional.orElseGet(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:278) + at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95) + at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91) + at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60) + at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98) + at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:757) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 138 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 132 more +2024-05-17 14:55:42.726304+03:00 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Синтаксическая ошибка в выражении SQL "[*]USER_ID SELECT * FROM USER_ID"; ожидалось "UPDATE" +Syntax error in SQL statement "[*]USER_ID SELECT * FROM USER_ID"; expected "UPDATE"; SQL statement: +USER_ID SELECT * FROM USER_ID [42001-224] +2024-05-17 14:55:48.732316+03:00 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Таблица "USER_ID" не найдена +Table "USER_ID" not found; SQL statement: +SELECT * FROM USER_ID [42102-224] +2024-05-17 15:09:27.889512+03:00 jdbc[14]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Синтаксическая ошибка в выражении SQL "SELECT o.USER_ID, SUM(o.SUM) AS TOTAL_SUM\000d\000aFROM orders AS o\000d\000a[*]from TypeEntity t left join UsersEntity u on o.type = t and o.user.id = ?1\000d\000aGROUP BY USER_ID\000d\000aORDER BY TOTAL_SUM DESC\000d\000aLIMIT 5" +Syntax error in SQL statement "SELECT o.USER_ID, SUM(o.SUM) AS TOTAL_SUM\000d\000aFROM orders AS o\000d\000a[*]from TypeEntity t left join UsersEntity u on o.type = t and o.user.id = ?1\000d\000aGROUP BY USER_ID\000d\000aORDER BY TOTAL_SUM DESC\000d\000aLIMIT 5"; SQL statement: +SELECT o.USER_ID, SUM(o.SUM) AS TOTAL_SUM +FROM orders AS o +from TypeEntity t left join UsersEntity u on o.type = t and o.user.id = ?1 +GROUP BY USER_ID +ORDER BY TOTAL_SUM DESC +LIMIT 5 [42000-224] +2024-05-17 15:52:29.562546+03:00 jdbc[25]: null +org.h2.message.DbException: Незакрытое приложением соединение уничтожено сборщиком мусора +The connection was not closed by the application and is garbage collected [90018-224] + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.closeOld(JdbcConnection.java:218) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:135) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:733) + at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:712) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) + at java.base/java.lang.Thread.run(Thread.java:1583) +Caused by: org.h2.jdbc.JdbcSQLNonTransientConnectionException: Незакрытое приложением соединение уничтожено сборщиком мусора +The connection was not closed by the application and is garbage collected [90018-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:690) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 16 more +2024-05-17 17:49:11.274896+03:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:276) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) + at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) + at org.hibernate.boot.model.relational.Database.(Database.java:45) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:191) + at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) + at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1454) + at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:553) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) + at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:378) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:383) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:378) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) + at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:377) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:290) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:289) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:279) + at java.base/java.util.Optional.orElseGet(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:278) + at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95) + at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91) + at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60) + at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98) + at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:757) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 138 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: C:/Users/New/Desktop/studing/IP/LABS/IP-Labs-4-semestr/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 132 more +2024-05-23 13:46:43.238222+03:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:276) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) + at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) + at org.hibernate.boot.model.relational.Database.(Database.java:45) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:191) + at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) + at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1454) + at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:553) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) + at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:378) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:383) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:378) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) + at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:377) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:290) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:289) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:279) + at java.base/java.util.Optional.orElseGet(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:278) + at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95) + at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91) + at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60) + at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98) + at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:757) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 138 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 132 more +2024-05-23 13:47:40.723097+03:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.getConnectionUrl(H2ConsoleAutoConfiguration.java:94) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) + at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395) + at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:261) + at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:261) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) + at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) + at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.logDataSources(H2ConsoleAutoConfiguration.java:86) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.lambda$h2Console$0(H2ConsoleAutoConfiguration.java:69) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.withThreadContextClassLoader(H2ConsoleAutoConfiguration.java:78) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.h2Console(H2ConsoleAutoConfiguration.java:69) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:644) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:636) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1335) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1165) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:210) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:201) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:96) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:85) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:266) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:240) + at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:52) + at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4880) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866) + at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:845) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866) + at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:240) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.core.StandardService.startInternal(StandardService.java:433) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:921) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) + at org.apache.catalina.startup.Tomcat.start(Tomcat.java:437) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:126) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:105) + at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:499) + at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:218) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:188) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:162) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:618) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) + at com.example.demo.DemoApplication.main(DemoApplication.java:41) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 96 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 90 more +2024-05-23 13:47:42.590742+03:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:276) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) + at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) + at org.hibernate.boot.model.relational.Database.(Database.java:45) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:191) + at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) + at com.example.demo.DemoApplication.main(DemoApplication.java:41) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 61 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 55 more +2024-05-23 14:07:35.174865+03:00 database: flush +org.h2.message.DbException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.(Store.java:133) + at org.h2.engine.Database.(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:125) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:100) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:276) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:107) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) + at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) + at org.hibernate.boot.model.relational.Database.(Database.java:45) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:223) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.(InFlightMetadataCollectorImpl.java:191) + at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:170) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1432) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) + at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) + at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) + at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1454) + at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:553) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137) + at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225) + at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152) + at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) + at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191) + at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130) + at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) + at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:378) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:383) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:378) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) + at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source) + at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:377) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:290) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:289) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:279) + at java.base/java.util.Optional.orElseGet(Unknown Source) + at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:278) + at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at java.base/java.util.ArrayList.forEach(Unknown Source) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102) + at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95) + at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91) + at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60) + at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98) + at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:757) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Внутренняя ошибка: "org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7]" [50000-224] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 138 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: D:/studing/IP/LABS/ip laba smirnov/data.mv.db [2.2.224/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.(MVStore.java:286) + ... 132 more diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..d64cd4917707c1f8861d8cb53dd15194d4248596 GIT binary patch literal 43462 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 literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..97f9ad6 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,23 @@ +# +# Copyright 2012-2024 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +networkTimeout=10000 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..1aa94a4 --- /dev/null +++ b/gradlew @@ -0,0 +1,249 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..93e3f59 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..0a383dd --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'demo' diff --git a/src/main/java/com/example/demo/DemoApplication.java b/src/main/java/com/example/demo/DemoApplication.java new file mode 100644 index 0000000..55d4c41 --- /dev/null +++ b/src/main/java/com/example/demo/DemoApplication.java @@ -0,0 +1,71 @@ +package com.example.demo; + +import java.util.Date; +import java.util.List; +import java.util.Objects; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +import com.example.demo.orders.model.OrdersEntity; +import com.example.demo.orders.service.OrdersService; +import com.example.demo.products.model.ProductsEntity; +import com.example.demo.products.service.ProductsService; +import com.example.demo.types.model.TypesEntity; +import com.example.demo.types.service.TypesService; +import com.example.demo.users.model.UsersEntity; +import com.example.demo.users.service.UsersService; + +@SpringBootApplication +public class DemoApplication implements CommandLineRunner { + private final Logger log = LoggerFactory.getLogger(DemoApplication.class); + + private final UsersService userService; + private final TypesService typesService; + private final ProductsService productsService; + private final OrdersService ordersService; + + public DemoApplication(TypesService typesService, ProductsService productsService, + UsersService userService, OrdersService ordersService) { + + this.userService = userService; + this.typesService = typesService; + this.productsService = productsService; + this.ordersService = ordersService; + } + + public static void main(String[] args) { + SpringApplication.run(DemoApplication.class, args); + } + + @Override + public void run(String... args) throws Exception { + if (args.length > 0 && Objects.equals("--populate", args[0])) { + + log.info("Создание пользователей"); + final var user1 = userService.create(new UsersEntity("Anton", "1234")); + userService.create(new UsersEntity("Dasha", "4567")); + + log.info("Создание категорий"); + final var type1 = typesService.create(new TypesEntity("Компьютера")); + final var type2 = typesService.create(new TypesEntity("Приставки")); + + log.info("Создание продуктов"); + final var product1 = productsService.create(new ProductsEntity(type1, "Компьютер 1", 55232.00)); + final var product2 = productsService.create(new ProductsEntity(type1, "Компьютер 2", 70300.00)); + final var product3 = productsService.create(new ProductsEntity(type2, "Компьютер 3", 150000.00)); + + log.info("Создание заказов"); + + final var orders = List.of( + new OrdersEntity(product1, 3, new Date()), + new OrdersEntity(product2, 2, new Date()), + new OrdersEntity(product3, 1, new Date()), + new OrdersEntity(product1, 4, new Date())); + orders.forEach(order -> ordersService.create(user1.getId(), order)); + } + } +} diff --git a/src/main/java/com/example/demo/core/api/PageDto.java b/src/main/java/com/example/demo/core/api/PageDto.java new file mode 100644 index 0000000..88f4dd2 --- /dev/null +++ b/src/main/java/com/example/demo/core/api/PageDto.java @@ -0,0 +1,97 @@ +package com.example.demo.core.api; + +import java.util.ArrayList; +import java.util.List; + +public class PageDto { + private List items = new ArrayList<>(); + private int itemsCount; + private int currentPage; + private int currentSize; + private int totalPages; + private long totalItems; + private boolean isFirst; + private boolean isLast; + private boolean hasNext; + private boolean hasPrevious; + + public List getItems() { + return items; + } + + public void setItems(List items) { + this.items = items; + } + + public int getItemsCount() { + return itemsCount; + } + + public void setItemsCount(int itemsCount) { + this.itemsCount = itemsCount; + } + + public int getCurrentPage() { + return currentPage; + } + + public void setCurrentPage(int currentPage) { + this.currentPage = currentPage; + } + + public int getCurrentSize() { + return currentSize; + } + + public void setCurrentSize(int currentSize) { + this.currentSize = currentSize; + } + + public int getTotalPages() { + return totalPages; + } + + public void setTotalPages(int totalPages) { + this.totalPages = totalPages; + } + + public long getTotalItems() { + return totalItems; + } + + public void setTotalItems(long totalItems) { + this.totalItems = totalItems; + } + + public boolean isFirst() { + return isFirst; + } + + public void setFirst(boolean isFirst) { + this.isFirst = isFirst; + } + + public boolean isLast() { + return isLast; + } + + public void setLast(boolean isLast) { + this.isLast = isLast; + } + + public boolean isHasNext() { + return hasNext; + } + + public void setHasNext(boolean hasNext) { + this.hasNext = hasNext; + } + + public boolean isHasPrevious() { + return hasPrevious; + } + + public void setHasPrevious(boolean hasPrevious) { + this.hasPrevious = hasPrevious; + } +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/core/api/PageDtoMapper.java b/src/main/java/com/example/demo/core/api/PageDtoMapper.java new file mode 100644 index 0000000..e8d3dd0 --- /dev/null +++ b/src/main/java/com/example/demo/core/api/PageDtoMapper.java @@ -0,0 +1,25 @@ +package com.example.demo.core.api; + +import java.util.function.Function; + +import org.springframework.data.domain.Page; + +public class PageDtoMapper { + private PageDtoMapper() { + } + + public static PageDto toDto(Page page, Function mapper) { + final PageDto dto = new PageDto<>(); + dto.setItems(page.getContent().stream().map(mapper::apply).toList()); + dto.setItemsCount(page.getNumberOfElements()); + dto.setCurrentPage(page.getNumber()); + dto.setCurrentSize(page.getSize()); + dto.setTotalPages(page.getTotalPages()); + dto.setTotalItems(page.getTotalElements()); + dto.setFirst(page.isFirst()); + dto.setLast(page.isLast()); + dto.setHasNext(page.hasNext()); + dto.setHasPrevious(page.hasPrevious()); + return dto; + } +} diff --git a/src/main/java/com/example/demo/core/configuration/Constants.java b/src/main/java/com/example/demo/core/configuration/Constants.java new file mode 100644 index 0000000..4bd6a8d --- /dev/null +++ b/src/main/java/com/example/demo/core/configuration/Constants.java @@ -0,0 +1,12 @@ +package com.example.demo.core.configuration; + +public class Constants { + public static final String SEQUENCE_NAME = "hibernate_sequence"; + + public static final String API_URL = "/api/1.0"; + + public static final String DEFAULT_PAGE_SIZE = "5"; + + private Constants() { + } +} diff --git a/src/main/java/com/example/demo/core/configuration/MapperConfiguration.java b/src/main/java/com/example/demo/core/configuration/MapperConfiguration.java new file mode 100644 index 0000000..a5ad6f3 --- /dev/null +++ b/src/main/java/com/example/demo/core/configuration/MapperConfiguration.java @@ -0,0 +1,13 @@ +package com.example.demo.core.configuration; + +import org.modelmapper.ModelMapper; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class MapperConfiguration { + @Bean + ModelMapper modelMapper() { + return new ModelMapper(); + } +} diff --git a/src/main/java/com/example/demo/core/configuration/WebConfiguration.java b/src/main/java/com/example/demo/core/configuration/WebConfiguration.java new file mode 100644 index 0000000..762e85a --- /dev/null +++ b/src/main/java/com/example/demo/core/configuration/WebConfiguration.java @@ -0,0 +1,15 @@ +package com.example.demo.core.configuration; + +import org.springframework.context.annotation.Configuration; +import org.springframework.lang.NonNull; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class WebConfiguration implements WebMvcConfigurer { + @Override + public void addCorsMappings(@NonNull CorsRegistry registry) { + registry.addMapping("/**") + .allowedMethods("GET", "POST", "PUT", "DELETE"); + } +} diff --git a/src/main/java/com/example/demo/core/error/NotFoundException.java b/src/main/java/com/example/demo/core/error/NotFoundException.java new file mode 100644 index 0000000..a61d118 --- /dev/null +++ b/src/main/java/com/example/demo/core/error/NotFoundException.java @@ -0,0 +1,7 @@ +package com.example.demo.core.error; + +public class NotFoundException extends RuntimeException { + public NotFoundException(Class clazz, Long id) { + super(String.format("%s with id [%s] is not found or not exists", clazz.getSimpleName(), id)); + } +} diff --git a/src/main/java/com/example/demo/core/model/BaseEntity.java b/src/main/java/com/example/demo/core/model/BaseEntity.java new file mode 100644 index 0000000..68b584e --- /dev/null +++ b/src/main/java/com/example/demo/core/model/BaseEntity.java @@ -0,0 +1,32 @@ +package com.example.demo.core.model; +import com.example.demo.core.configuration.Constants; + +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.MappedSuperclass; +import jakarta.persistence.SequenceGenerator; + +@MappedSuperclass +public abstract class BaseEntity { + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = Constants.SEQUENCE_NAME) + @SequenceGenerator(name = Constants.SEQUENCE_NAME, sequenceName = Constants.SEQUENCE_NAME, allocationSize = 1) + protected Long id; + + protected BaseEntity() { + } + + protected BaseEntity(Long id) { + this.id = id; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } +} diff --git a/src/main/java/com/example/demo/orders/api/OrdersController.java b/src/main/java/com/example/demo/orders/api/OrdersController.java new file mode 100644 index 0000000..b02b87b --- /dev/null +++ b/src/main/java/com/example/demo/orders/api/OrdersController.java @@ -0,0 +1,93 @@ +package com.example.demo.orders.api; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +import org.modelmapper.ModelMapper; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import com.example.demo.core.configuration.Constants; +import com.example.demo.orders.model.OrdersEntity; +import com.example.demo.orders.service.OrdersService; +import com.example.demo.products.model.ProductsEntity; +import com.example.demo.products.service.ProductsService; + +import jakarta.validation.Valid; + +@RestController +@RequestMapping(Constants.API_URL + "/user/{user}/order") +public class OrdersController { + private final OrdersService ordersService; + private final ProductsService productsService; + private final ModelMapper modelMapper; + private SimpleDateFormat formater = new SimpleDateFormat("dd.MM.yyyy"); + + public OrdersController(OrdersService ordersService, ProductsService productsService, ModelMapper modelMapper) { + this.ordersService = ordersService; + this.productsService = productsService; + this.modelMapper = modelMapper; + } + + public Date StringConvertDate(String date) { + + try { + return formater.parse(date); + } catch (ParseException e) { + e.printStackTrace(); + return null; + } + } + + public String DateConvertString(Date date) { + return formater.format(date); + } + + private OrdersDto toDto(OrdersEntity entity) { + // String dateEntity = DateConvertString(entity.getDate()); + // entity.setDate(dateEntity); + return modelMapper.map(entity, OrdersDto.class); + } + + private OrdersEntity toEntity(OrdersDto dto) { + final OrdersEntity entity = modelMapper.map(dto, OrdersEntity.class); + entity.setProduct(productsService.get(dto.getProductId())); + return entity; + } + + @GetMapping + public List getAll(@PathVariable(name = "user") Long userId, + @RequestParam(name = "productId", defaultValue = "0") ProductsEntity product) { + return ordersService.getAll(userId).stream().map(this::toDto).toList(); + } + + @GetMapping("/{id}") + public OrdersDto get(@PathVariable(name = "user") Long userId, @PathVariable(name = "id") Long id) { + return toDto(ordersService.get(userId, id)); + } + + @PostMapping + public OrdersDto create(@PathVariable(name = "user") Long userId, @RequestBody @Valid OrdersDto dto) { + return toDto(ordersService.create(userId, toEntity(dto))); + } + + @PutMapping("/{id}") + public OrdersDto update(@PathVariable(name = "user") Long userId, @PathVariable(name = "id") Long id, + @RequestBody OrdersDto dto) { + return toDto(ordersService.update(userId, id, toEntity(dto))); + } + + @DeleteMapping("/{id}") + public OrdersDto delete(@PathVariable(name = "user") Long userId, @PathVariable(name = "id") Long id) { + return toDto(ordersService.delete(userId, id)); + } +} diff --git a/src/main/java/com/example/demo/orders/api/OrdersDto.java b/src/main/java/com/example/demo/orders/api/OrdersDto.java new file mode 100644 index 0000000..da10b61 --- /dev/null +++ b/src/main/java/com/example/demo/orders/api/OrdersDto.java @@ -0,0 +1,67 @@ +package com.example.demo.orders.api; + +import java.util.Date; + +import com.example.demo.products.model.ProductsEntity; +import com.fasterxml.jackson.annotation.JsonProperty; + +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotNull; + +public class OrdersDto { + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + private Long id; + @NotNull + private ProductsEntity product; + @NotNull + @Min(1) + private Integer count; + @NotNull + private Date date; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public ProductsEntity getProduct() { + return product; + } + + public void setProduct(ProductsEntity product) { + this.product = product; + } + + public Long getProductId() { + return product.getId(); + } + + public void setProductId(Long productId) { + productId = product.getId(); + } + + public Integer getCount() { + return count; + } + + public void setCount(Integer count) { + this.count = count; + } + + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + public Double getSum() { + return count * product.getPrice(); + } + +} diff --git a/src/main/java/com/example/demo/orders/model/OrdersEntity.java b/src/main/java/com/example/demo/orders/model/OrdersEntity.java new file mode 100644 index 0000000..a6cfd91 --- /dev/null +++ b/src/main/java/com/example/demo/orders/model/OrdersEntity.java @@ -0,0 +1,105 @@ +package com.example.demo.orders.model; + +import java.util.Date; +import java.util.Objects; + +import com.example.demo.core.model.BaseEntity; +import com.example.demo.products.model.ProductsEntity; +import com.example.demo.users.model.UsersEntity; + +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table; + +@Entity +@Table(name = "orders") +public class OrdersEntity extends BaseEntity { + @ManyToOne + @JoinColumn(name = "productId", nullable = false) + private ProductsEntity product; + + @ManyToOne + @JoinColumn(name = "userId", nullable = false) + private UsersEntity user; + + @Column(nullable = false) + private Integer count; + + private Double sum; + + @Temporal(TemporalType.DATE) + private Date date; + + public OrdersEntity() { + } + + public OrdersEntity(ProductsEntity product, Integer count, Date date) { + this.product = product; + this.count = count; + this.sum = getSum(); + this.date = date; + } + + public ProductsEntity getProduct() { + return product; + } + + public void setProduct(ProductsEntity product) { + this.product = product; + } + + public UsersEntity getUser() { + return user; + } + + public void setUser(UsersEntity user) { + this.user = user; + if (!user.getOrders().contains(this)) { + user.getOrders().add(this); + } + } + + public Double getSum() { + sum = count * product.getPrice(); + return sum; + } + + public Integer getCount() { + return count; + } + + public void setCount(Integer count) { + this.count = count; + } + + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + @Override + public int hashCode() { + return Objects.hash(id, product, count); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null || getClass() != obj.getClass()) + return false; + final OrdersEntity other = (OrdersEntity) obj; + return Objects.equals(other.getId(), id) + && Objects.equals(other.getProduct(), product) + && Objects.equals(other.getUser().getId(), user.getId()) + && Objects.equals(other.getCount(), count) + && Objects.equals(other.getDate(), date); + } +} diff --git a/src/main/java/com/example/demo/orders/repository/OrdersRepository.java b/src/main/java/com/example/demo/orders/repository/OrdersRepository.java new file mode 100644 index 0000000..1f374db --- /dev/null +++ b/src/main/java/com/example/demo/orders/repository/OrdersRepository.java @@ -0,0 +1,14 @@ +package com.example.demo.orders.repository; + +import java.util.List; +import java.util.Optional; + +import org.springframework.data.repository.CrudRepository; + +import com.example.demo.orders.model.OrdersEntity; + +public interface OrdersRepository extends CrudRepository { + Optional findOneByUserIdAndId(long userId, long id); + + List findByUserId(long userId); +} diff --git a/src/main/java/com/example/demo/orders/service/OrdersService.java b/src/main/java/com/example/demo/orders/service/OrdersService.java new file mode 100644 index 0000000..9b17efc --- /dev/null +++ b/src/main/java/com/example/demo/orders/service/OrdersService.java @@ -0,0 +1,71 @@ +package com.example.demo.orders.service; + +import java.util.List; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.example.demo.core.error.NotFoundException; +import com.example.demo.orders.model.OrdersEntity; +import com.example.demo.orders.repository.OrdersRepository; +import com.example.demo.users.model.UsersEntity; +import com.example.demo.users.service.UsersService; + +@Service +public class OrdersService { + private final OrdersRepository repository; + private final UsersService userService; + + public OrdersService(OrdersRepository repository, UsersService userService) { + this.repository = repository; + this.userService = userService; + } + + @Transactional(readOnly = true) + public List getAll(long userId) { + userService.get(userId); + return repository.findByUserId(userId); + } + + @Transactional(readOnly = true) + public OrdersEntity get(long userId, Long id) { + userService.get(userId); + return repository.findOneByUserIdAndId(userId, id) + .orElseThrow(() -> new NotFoundException(OrdersEntity.class, id)); + } + + @Transactional + public OrdersEntity create(long userId, OrdersEntity entity) { + if (entity == null) { + throw new IllegalArgumentException("Entity is null"); + } + final UsersEntity existsUser = userService.get(userId); + entity.setUser(existsUser); + return repository.save(entity); + } + + @Transactional + public OrdersEntity update(long userId, Long id, OrdersEntity entity) { + userService.get(userId); + final OrdersEntity existsEntity = get(userId, id); + existsEntity.setProduct(entity.getProduct()); + existsEntity.setCount(entity.getCount()); + existsEntity.setDate(entity.getDate()); + return repository.save(existsEntity); + } + + @Transactional + public OrdersEntity delete(long userId, Long id) { + userService.get(userId); + final OrdersEntity existsEntity = get(userId, id); + repository.delete(existsEntity); + return existsEntity; + } + + // @Transactional(readOnly = true) + // public List getTotal(long userId) { + // //userService.get(userId); + // return repository.getOrdersTotalByUser(userId); + // } + +} diff --git a/src/main/java/com/example/demo/products/api/ProductsController.java b/src/main/java/com/example/demo/products/api/ProductsController.java new file mode 100644 index 0000000..0f393bb --- /dev/null +++ b/src/main/java/com/example/demo/products/api/ProductsController.java @@ -0,0 +1,81 @@ +package com.example.demo.products.api; + +import java.util.List; + +import org.modelmapper.ModelMapper; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import com.example.demo.core.configuration.Constants; +import com.example.demo.products.model.ProductsEntity; +import com.example.demo.products.model.ProductsGrouped; +import com.example.demo.products.service.ProductsService; +import com.example.demo.types.service.TypesService; + +import jakarta.validation.Valid; + +@RestController +@RequestMapping(Constants.API_URL + "/Products") +public class ProductsController { + private final ProductsService productsService; + private final TypesService typesService; + private final ModelMapper modelMapper; + + public ProductsController(ProductsService productsService, TypesService typesService, + ModelMapper modelMapper) { + this.productsService = productsService; + this.typesService = typesService; + this.modelMapper = modelMapper; + } + + private ProductsDto toDto(ProductsEntity entity) { + return modelMapper.map(entity, ProductsDto.class); + } + + private ProductsGroupedDto toGroupedDto(ProductsGrouped entity) { + return (ProductsGroupedDto) this.modelMapper.map(entity, ProductsGroupedDto.class); + } + + private ProductsEntity toEntity(ProductsDto dto) { + final ProductsEntity entity = modelMapper.map(dto, ProductsEntity.class); + entity.setType(typesService.get(dto.getTypeId())); + return entity; + } + + @GetMapping + public List getAll(@RequestParam(name = "typeId", defaultValue = "0") Long typeId) { + return productsService.getAll().stream().map(this::toDto).toList(); + } + + @GetMapping("/{id}") + public ProductsDto get(@PathVariable(name = "id") Long id) { + return toDto(productsService.get(id)); + } + + @PostMapping + public ProductsDto create(@RequestBody @Valid ProductsDto dto) { + return toDto(productsService.create(toEntity(dto))); + } + + @PutMapping("/{id}") + public ProductsDto update(@PathVariable(name = "id") Long id, @RequestBody ProductsDto dto) { + return toDto(productsService.update(id, toEntity(dto))); + } + + @DeleteMapping("/{id}") + public ProductsDto delete(@PathVariable(name = "id") Long id) { + return toDto(productsService.delete(id)); + } + + @GetMapping({ "/total" }) + public List getMethodName() { + return this.productsService.getExpensiveProducts().stream().map(this::toGroupedDto).toList(); + } +} diff --git a/src/main/java/com/example/demo/products/api/ProductsDto.java b/src/main/java/com/example/demo/products/api/ProductsDto.java new file mode 100644 index 0000000..ab28e04 --- /dev/null +++ b/src/main/java/com/example/demo/products/api/ProductsDto.java @@ -0,0 +1,53 @@ +package com.example.demo.products.api; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; + +public class ProductsDto { + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + private Long id; + @NotBlank + private String name; + @NotNull + @Min(1) + private Long typeId; + @NotNull + @Min(1) + private Double price; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getTypeId() { + return typeId; + } + + public void setTypeId(Long typeId) { + this.typeId = typeId; + } + + public Double getPrice() { + return price; + } + + public void setPrice(Double price) { + this.price = price; + } + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + +} diff --git a/src/main/java/com/example/demo/products/api/ProductsGroupedDto.java b/src/main/java/com/example/demo/products/api/ProductsGroupedDto.java new file mode 100644 index 0000000..defe8cc --- /dev/null +++ b/src/main/java/com/example/demo/products/api/ProductsGroupedDto.java @@ -0,0 +1,26 @@ +package com.example.demo.products.api; + +public class ProductsGroupedDto { + private Long productId; + private Double price; + + public ProductsGroupedDto() { + } + + public Long getProductId() { + return this.productId; + } + + public void setProductId(Long productId) { + this.productId = productId; + } + + public Double getPrice() { + return this.price; + } + + public void setPrice(Double price) { + this.price = price; + } + +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/products/model/ProductsEntity.java b/src/main/java/com/example/demo/products/model/ProductsEntity.java new file mode 100644 index 0000000..0639439 --- /dev/null +++ b/src/main/java/com/example/demo/products/model/ProductsEntity.java @@ -0,0 +1,75 @@ +package com.example.demo.products.model; + +import java.util.Objects; + +import com.example.demo.core.model.BaseEntity; +import com.example.demo.types.model.TypesEntity; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table; + +@Entity +@Table(name = "products") +public class ProductsEntity extends BaseEntity { + @ManyToOne + @JoinColumn(name = "typeId", nullable = false) + private TypesEntity type; + @Column(nullable = false) + private String name; + @Column(nullable = false) + private Double price; + + public ProductsEntity() { + } + + public ProductsEntity(TypesEntity type, String name, Double price) { + this.type = type; + this.name = name; + this.price = price; + } + + public TypesEntity getType() { + return type; + } + + public void setType(TypesEntity type) { + this.type = type; + } + + public Double getPrice() { + return price; + } + + public void setPrice(Double price) { + this.price = price; + } + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + @Override + public int hashCode() { + return Objects.hash(id, type, name, price); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null || getClass() != obj.getClass()) + return false; + final ProductsEntity other = (ProductsEntity) obj; + return Objects.equals(other.getId(), id) + && Objects.equals(other.getType(), type) + && Objects.equals(other.getName(), name) + && Objects.equals(other.getPrice(), price); + } +} diff --git a/src/main/java/com/example/demo/products/model/ProductsGrouped.java b/src/main/java/com/example/demo/products/model/ProductsGrouped.java new file mode 100644 index 0000000..1e6cb47 --- /dev/null +++ b/src/main/java/com/example/demo/products/model/ProductsGrouped.java @@ -0,0 +1,9 @@ +package com.example.demo.products.model; + +import com.example.demo.users.model.UsersEntity; + +public interface ProductsGrouped { + UsersEntity getProduct(); + + Double getPrice(); +} diff --git a/src/main/java/com/example/demo/products/repository/ProductsRepository.java b/src/main/java/com/example/demo/products/repository/ProductsRepository.java new file mode 100644 index 0000000..06556cd --- /dev/null +++ b/src/main/java/com/example/demo/products/repository/ProductsRepository.java @@ -0,0 +1,20 @@ +package com.example.demo.products.repository; + +import java.util.List; + +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.CrudRepository; + +import com.example.demo.products.model.ProductsEntity; +import com.example.demo.products.model.ProductsGrouped; + +public interface ProductsRepository extends CrudRepository { + + @Query("SELECT product, price" + + "FROM ProductsEntity" + + "WHERE price > 1000 " + + "GROUP BY product " + + "ORDER BY price DESC") + List getExpensiveProducts(); + // продукты, цена которых больше 1000 +} diff --git a/src/main/java/com/example/demo/products/service/ProductsService.java b/src/main/java/com/example/demo/products/service/ProductsService.java new file mode 100644 index 0000000..d7aa16d --- /dev/null +++ b/src/main/java/com/example/demo/products/service/ProductsService.java @@ -0,0 +1,60 @@ +package com.example.demo.products.service; + +import java.util.List; +import java.util.stream.StreamSupport; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.example.demo.core.error.NotFoundException; +import com.example.demo.products.model.ProductsEntity; +import com.example.demo.products.model.ProductsGrouped; +import com.example.demo.products.repository.ProductsRepository; + +@Service +public class ProductsService { + private final ProductsRepository repository; + + public ProductsService(ProductsRepository repository) { + this.repository = repository; + } + + @Transactional(readOnly = true) + public List getAll() { + return StreamSupport.stream(repository.findAll().spliterator(), false).toList(); + } + + @Transactional(readOnly = true) + public ProductsEntity get(Long id) { + return repository.findById(id).orElseThrow(() -> new NotFoundException(ProductsEntity.class, id)); + } + + @Transactional + public ProductsEntity create(ProductsEntity entity) { + if (entity == null) { + throw new IllegalArgumentException("Entity is null"); + } + return repository.save(entity); + } + + @Transactional + public ProductsEntity update(Long id, ProductsEntity entity) { + final ProductsEntity existsEntity = get(id); + existsEntity.setType(entity.getType()); + existsEntity.setName(entity.getName()); + existsEntity.setPrice(entity.getPrice()); + return repository.save(existsEntity); + } + + @Transactional + public ProductsEntity delete(Long id) { + final ProductsEntity existsEntity = get(id); + repository.delete(existsEntity); + return existsEntity; + } + + @Transactional(readOnly = true) + public List getExpensiveProducts() { + return this.repository.getExpensiveProducts(); + } +} diff --git a/src/main/java/com/example/demo/types/api/TypesController.java b/src/main/java/com/example/demo/types/api/TypesController.java new file mode 100644 index 0000000..9980380 --- /dev/null +++ b/src/main/java/com/example/demo/types/api/TypesController.java @@ -0,0 +1,64 @@ +package com.example.demo.types.api; + +import java.util.List; + +import org.modelmapper.ModelMapper; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.example.demo.core.configuration.Constants; +import com.example.demo.types.model.TypesEntity; +import com.example.demo.types.service.TypesService; + +import jakarta.validation.Valid; + +@RestController +@RequestMapping(Constants.API_URL + "/types") +public class TypesController { + private final TypesService typesService; + private final ModelMapper modelMapper; + + public TypesController(TypesService typesService, ModelMapper modelMapper) { + this.typesService = typesService; + this.modelMapper = modelMapper; + } + + private TypesDto toDto(TypesEntity entity) { + return modelMapper.map(entity, TypesDto.class); + } + + private TypesEntity toEntity(TypesDto dto) { + return modelMapper.map(dto, TypesEntity.class); + } + + @GetMapping + public List getAll() { + return typesService.getAll().stream().map(this::toDto).toList(); + } + + @GetMapping("/{id}") + public TypesDto get(@PathVariable(name = "id") Long id) { + return toDto(typesService.get(id)); + } + + @PostMapping + public TypesDto create(@RequestBody @Valid TypesDto dto) { + return toDto(typesService.create(toEntity(dto))); + } + + @PutMapping("/{id}") + public TypesDto update(@PathVariable(name = "id") Long id, @RequestBody TypesDto dto) { + return toDto(typesService.update(id, toEntity(dto))); + } + + @DeleteMapping("/{id}") + public TypesDto delete(@PathVariable(name = "id") Long id) { + return toDto(typesService.delete(id)); + } +} diff --git a/src/main/java/com/example/demo/types/api/TypesDto.java b/src/main/java/com/example/demo/types/api/TypesDto.java new file mode 100644 index 0000000..03d2236 --- /dev/null +++ b/src/main/java/com/example/demo/types/api/TypesDto.java @@ -0,0 +1,28 @@ +package com.example.demo.types.api; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import jakarta.validation.constraints.NotBlank; + +public class TypesDto { + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + private Long id; + @NotBlank + private String name; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/src/main/java/com/example/demo/types/model/TypesEntity.java b/src/main/java/com/example/demo/types/model/TypesEntity.java new file mode 100644 index 0000000..af897b6 --- /dev/null +++ b/src/main/java/com/example/demo/types/model/TypesEntity.java @@ -0,0 +1,47 @@ +package com.example.demo.types.model; + +import java.util.Objects; +import com.example.demo.core.model.BaseEntity; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; + +@Entity +@Table(name = "types") +public class TypesEntity extends BaseEntity { + @Column(nullable = false, unique = true, length = 50) + private String name; + + public TypesEntity() { + super(); + } + + public TypesEntity(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null || getClass() != obj.getClass()) + return false; + final TypesEntity other = (TypesEntity) obj; + return Objects.equals(other.getId(), id) + && Objects.equals(other.getName(), name); + } +} diff --git a/src/main/java/com/example/demo/types/repository/TypesRepository.java b/src/main/java/com/example/demo/types/repository/TypesRepository.java new file mode 100644 index 0000000..c745171 --- /dev/null +++ b/src/main/java/com/example/demo/types/repository/TypesRepository.java @@ -0,0 +1,8 @@ +package com.example.demo.types.repository; + +import org.springframework.data.repository.CrudRepository; + +import com.example.demo.types.model.TypesEntity; + +public interface TypesRepository extends CrudRepository { +} diff --git a/src/main/java/com/example/demo/types/service/TypesService.java b/src/main/java/com/example/demo/types/service/TypesService.java new file mode 100644 index 0000000..5a68ecd --- /dev/null +++ b/src/main/java/com/example/demo/types/service/TypesService.java @@ -0,0 +1,52 @@ +package com.example.demo.types.service; + +import java.util.List; +import java.util.stream.StreamSupport; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.example.demo.core.error.NotFoundException; +import com.example.demo.types.model.TypesEntity; +import com.example.demo.types.repository.TypesRepository; + +@Service +public class TypesService { + private final TypesRepository repository; + + public TypesService(TypesRepository repository) { + this.repository = repository; + } + + @Transactional(readOnly = true) + public List getAll() { + return StreamSupport.stream(repository.findAll().spliterator(), false).toList(); + } + + @Transactional(readOnly = true) + public TypesEntity get(Long id) { + return repository.findById(id).orElseThrow(() -> new NotFoundException(TypesEntity.class, id)); + } + + @Transactional + public TypesEntity create(TypesEntity entity) { + if (entity == null) { + throw new IllegalArgumentException("Entity is null"); + } + return repository.save(entity); + } + + @Transactional + public TypesEntity update(Long id, TypesEntity entity) { + final TypesEntity existsEntity = get(id); + existsEntity.setName(entity.getName()); + return repository.save(existsEntity); + } + + @Transactional + public TypesEntity delete(Long id) { + final TypesEntity existsEntity = get(id); + repository.delete(existsEntity); + return existsEntity; + } +} diff --git a/src/main/java/com/example/demo/users/api/UsersController.java b/src/main/java/com/example/demo/users/api/UsersController.java new file mode 100644 index 0000000..106602b --- /dev/null +++ b/src/main/java/com/example/demo/users/api/UsersController.java @@ -0,0 +1,68 @@ +package com.example.demo.users.api; + +import org.modelmapper.ModelMapper; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import com.example.demo.core.api.PageDto; +import com.example.demo.core.api.PageDtoMapper; +import com.example.demo.core.configuration.Constants; +import com.example.demo.users.model.UsersEntity; +import com.example.demo.users.service.UsersService; + +import jakarta.validation.Valid; + +@RestController +@RequestMapping(Constants.API_URL + "/Users") +public class UsersController { + private final UsersService usersService; + private final ModelMapper modelMapper; + + public UsersController(UsersService usersService, ModelMapper modelMapper) { + this.usersService = usersService; + this.modelMapper = modelMapper; + } + + private UsersDto toDto(UsersEntity entity) { + return modelMapper.map(entity, UsersDto.class); + } + + private UsersEntity toEntity(UsersDto dto) { + return modelMapper.map(dto, UsersEntity.class); + } + + @GetMapping + public PageDto getAll( + @RequestParam(name = "page", defaultValue = "0") int page, + @RequestParam(name = "size", defaultValue = Constants.DEFAULT_PAGE_SIZE) int size) { + return PageDtoMapper.toDto(usersService.getAll(page, size), this::toDto); + } + + @GetMapping("/{id}") + public UsersDto get(@PathVariable(name = "id") Long id) { + return toDto(usersService.get(id)); + } + + @PostMapping + public UsersDto create(@RequestBody @Valid UsersDto dto) { + return toDto(usersService.create(toEntity(dto))); + } + + @PutMapping("/{id}") + public UsersDto update(@PathVariable(name = "id") Long id, @RequestBody UsersDto dto) { + return toDto(usersService.update(id, toEntity(dto))); + } + + @DeleteMapping("/{id}") + public UsersDto delete(@PathVariable(name = "id") Long id) { + return toDto(usersService.delete(id)); + } + +} diff --git a/src/main/java/com/example/demo/users/api/UsersDto.java b/src/main/java/com/example/demo/users/api/UsersDto.java new file mode 100644 index 0000000..2862b84 --- /dev/null +++ b/src/main/java/com/example/demo/users/api/UsersDto.java @@ -0,0 +1,37 @@ +package com.example.demo.users.api; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import jakarta.validation.constraints.NotBlank; + +public class UsersDto { + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + private Long id; + @NotBlank + private String login; + private String password; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getLogin() { + return login; + } + + public void setLogin(String login) { + this.login = login; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } +} diff --git a/src/main/java/com/example/demo/users/model/UsersEntity.java b/src/main/java/com/example/demo/users/model/UsersEntity.java new file mode 100644 index 0000000..095bc71 --- /dev/null +++ b/src/main/java/com/example/demo/users/model/UsersEntity.java @@ -0,0 +1,80 @@ +package com.example.demo.users.model; + +import java.util.Objects; +import java.util.Set; +import java.util.HashSet; +import com.example.demo.core.model.BaseEntity; +import com.example.demo.orders.model.OrdersEntity; + +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.OneToMany; +import jakarta.persistence.OrderBy; +import jakarta.persistence.Table; + +@Entity +@Table(name = "users") +public class UsersEntity extends BaseEntity { + @Column(nullable = false, unique = true, length = 20) + private String login; + + @Column(nullable = false, length = 20) + private String password; + + @OneToMany(mappedBy = "user", cascade = CascadeType.ALL) + @OrderBy("id ASC") + private Set orders = new HashSet<>(); + + public UsersEntity() { + } + + public UsersEntity(String login, String password) { + this.login = login; + this.password = password; + } + + public Set getOrders() { + return orders; + } + + public void setOrder(OrdersEntity order) { + if (order.getUser() != this) { + order.setUser(this); + } + orders.add(order); + } + + public String getLogin() { + return login; + } + + public void setLogin(String login) { + this.login = login; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + @Override + public int hashCode() { + return Objects.hash(id, login, password); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null || getClass() != obj.getClass()) + return false; + final UsersEntity other = (UsersEntity) obj; + return Objects.equals(other.getId(), id) + && Objects.equals(other.getLogin(), login) + && Objects.equals(other.getPassword(), password); + } +} diff --git a/src/main/java/com/example/demo/users/repository/UsersRepository.java b/src/main/java/com/example/demo/users/repository/UsersRepository.java new file mode 100644 index 0000000..c54a7f4 --- /dev/null +++ b/src/main/java/com/example/demo/users/repository/UsersRepository.java @@ -0,0 +1,11 @@ +package com.example.demo.users.repository; + +import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.PagingAndSortingRepository; + +import com.example.demo.users.model.UsersEntity; + +public interface UsersRepository + extends CrudRepository, PagingAndSortingRepository { + +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/users/service/UsersService.java b/src/main/java/com/example/demo/users/service/UsersService.java new file mode 100644 index 0000000..e77f285 --- /dev/null +++ b/src/main/java/com/example/demo/users/service/UsersService.java @@ -0,0 +1,61 @@ +package com.example.demo.users.service; + +import java.util.List; +import java.util.stream.StreamSupport; + +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.example.demo.core.error.NotFoundException; +import com.example.demo.users.model.UsersEntity; +import com.example.demo.users.repository.UsersRepository; + +@Service +public class UsersService { + private final UsersRepository repository; + + public UsersService(UsersRepository repository) { + this.repository = repository; + } + + @Transactional(readOnly = true) + public List getAll() { + return StreamSupport.stream(repository.findAll().spliterator(), false).toList(); + } + + @Transactional(readOnly = true) + public Page getAll(int page, int size) { + return repository.findAll(PageRequest.of(page, size)); + } + + @Transactional(readOnly = true) + public UsersEntity get(Long id) { + return repository.findById(id).orElseThrow(() -> new NotFoundException(UsersEntity.class, id)); + } + + @Transactional + public UsersEntity create(UsersEntity entity) { + if (entity == null) { + throw new IllegalArgumentException("Entity is null"); + } + return repository.save(entity); + } + + @Transactional + public UsersEntity update(Long id, UsersEntity entity) { + final UsersEntity existsEntity = get(id); + existsEntity.setLogin(entity.getLogin()); + existsEntity.setPassword(entity.getPassword()); + repository.save(existsEntity); + return existsEntity; + } + + @Transactional + public UsersEntity delete(Long id) { + final UsersEntity existsEntity = get(id); + repository.delete(existsEntity); + return existsEntity; + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..62ab433 --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1,20 @@ +# Server +spring.main.banner-mode=off +server.port=8080 + +# Logger settings +# Available levels are: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF +logging.level.com.example.demo=DEBUG + +# JPA Settings +spring.datasource.url=jdbc:h2:file:./data +spring.datasource.username=sa +spring.datasource.password=password +spring.datasource.driver-class-name=org.h2.Driver +spring.jpa.hibernate.ddl-auto=create +spring.jpa.open-in-view=false +# spring.jpa.show-sql=true +# spring.jpa.properties.hibernate.format_sql=true + +# H2 console +spring.h2.console.enabled=true \ No newline at end of file diff --git a/src/test/java/com/example/demo/ProductsServiceTests.java b/src/test/java/com/example/demo/ProductsServiceTests.java new file mode 100644 index 0000000..97b0271 --- /dev/null +++ b/src/test/java/com/example/demo/ProductsServiceTests.java @@ -0,0 +1,86 @@ +package com.example.demo; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.MethodOrderer.OrderAnnotation; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestMethodOrder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.example.demo.core.error.NotFoundException; +import com.example.demo.products.model.ProductsEntity; +import com.example.demo.products.service.ProductsService; +import com.example.demo.types.model.TypesEntity; +import com.example.demo.types.service.TypesService; + +@SpringBootTest +@TestMethodOrder(OrderAnnotation.class) +class ProductsServiceTests { + @Autowired + private ProductsService productsService; + @Autowired + private TypesService typesService; + + private ProductsEntity product; + + private TypesEntity type1; + private TypesEntity type2; + + @BeforeEach + void createData() { + removeData(); + type1 = typesService.create(new TypesEntity("Телефон")); + type2 = typesService.create(new TypesEntity("Наушники")); + product = productsService.create(new ProductsEntity(type1, "Iphone", 155232.00)); + productsService.create(new ProductsEntity(type1, "Samsung", 200300.00)); + productsService.create(new ProductsEntity(type2, "JBL", 300.00)); + } + + @AfterEach + void removeData() { + productsService.getAll().forEach(item -> productsService.delete(item.getId())); + typesService.getAll().forEach(item -> typesService.delete(item.getId())); + } + + @Test + void getTest() { + Assertions.assertThrows(NotFoundException.class, () -> productsService.get(0L)); + } + + @Test + void createTest() { + Assertions.assertEquals(3, productsService.getAll().size()); + Assertions.assertEquals(product, productsService.get(product.getId())); + } + + @Test + void updateTest() { + final Double newPrice = 20000.00; + final ProductsEntity entity = productsService.get(product.getId()); + final Double oldPrice = entity.getPrice(); + final ProductsEntity newEntity = productsService.update(product.getId(), + new ProductsEntity(type1, "Iphone 11", newPrice)); + Assertions.assertEquals(3, productsService.getAll().size()); + Assertions.assertEquals(newEntity, productsService.get(newEntity.getId())); + Assertions.assertEquals(newPrice, newEntity.getPrice()); + Assertions.assertNotEquals(oldPrice, newEntity.getPrice()); + } + + @Test + void deleteTest() { + productsService.delete(product.getId()); + Assertions.assertEquals(2, productsService.getAll().size()); + + final ProductsEntity newEntity = productsService + .create(new ProductsEntity(type1, "Iphone 11", 15232.00)); + Assertions.assertEquals(3, productsService.getAll().size()); + Assertions.assertNotEquals(product.getId(), newEntity.getId()); + } + + @Test + void getExpensiveProducts() { + Assertions.assertEquals(2, productsService.getExpensiveProducts().size()); + } +} diff --git a/src/test/java/com/example/demo/TypesServiceTests.java b/src/test/java/com/example/demo/TypesServiceTests.java new file mode 100644 index 0000000..5143237 --- /dev/null +++ b/src/test/java/com/example/demo/TypesServiceTests.java @@ -0,0 +1,63 @@ +package com.example.demo; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.MethodOrderer.OrderAnnotation; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestMethodOrder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.example.demo.types.model.TypesEntity; +import com.example.demo.types.service.TypesService; + +@SpringBootTest +@TestMethodOrder(OrderAnnotation.class) +class TypesServiceTests { + @Autowired + private TypesService typesService; + + private TypesEntity type; + + @BeforeEach + void createData() { + removeData(); + type = typesService.create(new TypesEntity("Компьютер")); + typesService.create(new TypesEntity("Телефон")); + typesService.create(new TypesEntity("Приставка")); + } + + @AfterEach + void removeData() { + typesService.getAll().forEach(item -> typesService.delete(item.getId())); + } + + @Test + void createTest() { + Assertions.assertEquals(3, typesService.getAll().size()); + Assertions.assertEquals(type, typesService.get(type.getId())); + } + + @Test + void updateTest() { + final String test = "TEST"; + final TypesEntity entity = typesService.get(type.getId()); + final String oldName = entity.getName(); + final TypesEntity newEntity = typesService.update(type.getId(), new TypesEntity(test)); + Assertions.assertEquals(3, typesService.getAll().size()); + Assertions.assertEquals(newEntity, typesService.get(newEntity.getId())); + Assertions.assertEquals(test, newEntity.getName()); + Assertions.assertNotEquals(oldName, newEntity.getName()); + } + + @Test + void deleteTest() { + typesService.delete(type.getId()); + Assertions.assertEquals(2, typesService.getAll().size()); + + final TypesEntity newEntity = typesService.create(new TypesEntity("Компьютер")); + Assertions.assertEquals(3, typesService.getAll().size()); + Assertions.assertNotEquals(type.getId(), newEntity.getId()); + } +} diff --git a/src/test/java/com/example/demo/UsersOrdersServiceTests.java b/src/test/java/com/example/demo/UsersOrdersServiceTests.java new file mode 100644 index 0000000..0284c38 --- /dev/null +++ b/src/test/java/com/example/demo/UsersOrdersServiceTests.java @@ -0,0 +1,141 @@ +package com.example.demo; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.MethodOrderer.OrderAnnotation; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestMethodOrder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import com.example.demo.orders.model.OrdersEntity; +import com.example.demo.orders.service.OrdersService; +import com.example.demo.products.model.ProductsEntity; +import com.example.demo.products.service.ProductsService; +import com.example.demo.types.model.TypesEntity; +import com.example.demo.types.service.TypesService; +import com.example.demo.users.model.UsersEntity; +import com.example.demo.users.service.UsersService; + +@SpringBootTest +@TestMethodOrder(OrderAnnotation.class) +class UsersOrdersServiceTests { + @Autowired + private UsersService usersService; + @Autowired + private OrdersService ordersService; + @Autowired + private ProductsService productsService; + @Autowired + private TypesService typesService; + + private UsersEntity user1; + private UsersEntity user2; + + private ProductsEntity product; + private TypesEntity type; + private OrdersEntity order; + private SimpleDateFormat formater = new SimpleDateFormat("dd.MM.yyyy"); + + public String DateConvertString(Date date) { + return formater.format(date); + } + + @BeforeEach + void createData() { + removeData(); + + type = typesService.create(new TypesEntity("Телефон")); + + product = productsService.create(new ProductsEntity(type, "Nokia 2000", 1000.00)); + + user1 = usersService.create(new UsersEntity("Anton", "1234")); + user2 = usersService.create(new UsersEntity("Daria", "4567")); + + final var orders = List.of( + new OrdersEntity(product, 3, new Date()), + new OrdersEntity(product, 2, new Date()), + new OrdersEntity(product, 1, new Date()), + new OrdersEntity(product, 4, new Date())); + orders.forEach(order -> ordersService.create(user1.getId(), order)); + final var orders2 = List.of( + new OrdersEntity(product, 1, new Date()), + new OrdersEntity(product, 1, new Date()), + new OrdersEntity(product, 1, new Date()), + new OrdersEntity(product, 1, new Date()), + new OrdersEntity(product, 1, new Date())); + orders2.forEach(order -> ordersService.create(user2.getId(), order)); + // order = ordersService.get(user1.getId(), 1); + order = orders.get(0); + } + + @AfterEach + void removeData() { + usersService.getAll().forEach(item -> usersService.delete(item.getId())); + productsService.getAll().forEach(item -> productsService.delete(item.getId())); + typesService.getAll().forEach(item -> typesService.delete(item.getId())); + } + + @Test + void getOrderTest() { + Assertions.assertEquals(4, ordersService.getAll(user1.getId()).size()); + Assertions.assertEquals(5, ordersService.getAll(user2.getId()).size()); + } + + @Test + void getUserTest() { + Assertions.assertEquals(2, usersService.getAll().size()); + } + + @Test + void updateOrderTest() { + final Integer newCount = 5; + final OrdersEntity entity = ordersService.get(user1.getId(), order.getId()); + final Integer oldCount = entity.getCount(); + final OrdersEntity newEntity = ordersService.update(user1.getId(), order.getId(), + new OrdersEntity(product, newCount, new Date())); + Assertions.assertEquals(4, ordersService.getAll(user1.getId()).size()); + Assertions.assertEquals(newCount, newEntity.getCount()); + Assertions.assertNotEquals(oldCount, newEntity.getCount()); + } + + @Test + void updateUserTest() { + final String newPassword = "0000"; + final UsersEntity entity = usersService.get(user1.getId()); + final String login = entity.getLogin(); + final String oldPassword = entity.getPassword(); + final UsersEntity newEntity = usersService.update(user1.getId(), new UsersEntity(login, newPassword)); + Assertions.assertEquals(2, usersService.getAll().size()); + Assertions.assertEquals(newEntity, usersService.get(newEntity.getId())); + Assertions.assertEquals(newPassword, newEntity.getPassword()); + Assertions.assertNotEquals(oldPassword, newEntity.getPassword()); + } + + @Test + void deleteOrderTest() { + ordersService.delete(user1.getId(), order.getId()); + Assertions.assertEquals(3, ordersService.getAll(user1.getId()).size()); + + final OrdersEntity newEntity = ordersService.create(user1.getId(), new OrdersEntity(product, 3, new Date())); + Assertions.assertEquals(4, ordersService.getAll(user1.getId()).size()); + Assertions.assertNotEquals(order.getId(), newEntity.getId()); + } + + @Test + void deleteUserTest() { + usersService.delete(user1.getId()); + Assertions.assertEquals(1, usersService.getAll().size()); + + final UsersEntity newEntity = usersService.create(new UsersEntity("Anton", + "1234")); + Assertions.assertEquals(2, usersService.getAll().size()); + Assertions.assertNotEquals(user1.getId(), newEntity.getId()); + } + +} diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties new file mode 100644 index 0000000..d5f355c --- /dev/null +++ b/src/test/resources/application.properties @@ -0,0 +1,14 @@ +# Server +spring.main.banner-mode=off + +# Logger settings +# Available levels are: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF +logging.level.com.example.demo=DEBUG + +# JPA Settings +spring.datasource.url=jdbc:h2:mem:testdb +spring.datasource.username=sa +spring.datasource.password=password +spring.datasource.driver-class-name=org.h2.Driver +spring.jpa.hibernate.ddl-auto=create +spring.jpa.open-in-view=false \ No newline at end of file