Browse Source

pagination in action

master
esoe 1 month ago
parent
commit
50d53c7864
  1. 2
      base/docker-compose.yaml
  2. 3
      base/init.ps1
  3. 117
      face/logs/teh.log
  4. BIN
      face/logs/teh.log.2024-10-15.0.gz
  5. 147
      face/src/main/java/gsp/technologies/face/controllers/face/v1/mainframe/MainframeController.java
  6. 22
      face/src/main/java/gsp/technologies/face/models/FileMetadata.java
  7. 2
      face/src/main/java/gsp/technologies/face/models/Post.java
  8. 8
      face/src/main/java/gsp/technologies/face/teh/fs/Filer.java
  9. 19
      face/src/main/resources/templates/fragments/storage.html
  10. 9
      face/src/main/resources/templates/mainframe.html
  11. 135
      logger/logs/teh.log
  12. 1
      source/.env
  13. 2
      source/docker-compose.yaml
  14. 15
      source/pom.xml
  15. 23
      source/run.ps1
  16. 69
      source/src/main/java/gsp/technologies/source/controllers/api/v1/StorageController.java
  17. 36
      source/src/main/java/gsp/technologies/source/models/Building.java
  18. 47
      source/src/main/java/gsp/technologies/source/models/Course.java
  19. 36
      source/src/main/java/gsp/technologies/source/models/EducationEntry.java
  20. 29
      source/src/main/java/gsp/technologies/source/models/FileMetadata.java
  21. 44
      source/src/main/java/gsp/technologies/source/models/Organization.java
  22. 17
      source/src/main/java/gsp/technologies/source/models/Post.java
  23. 32
      source/src/main/java/gsp/technologies/source/models/Program.java
  24. 42
      source/src/main/java/gsp/technologies/source/models/ProgramCretarea.java
  25. 44
      source/src/main/java/gsp/technologies/source/models/Student.java
  26. 72
      source/src/main/java/gsp/technologies/source/models/Teacher.java
  27. 5
      source/src/main/java/gsp/technologies/source/repositories/FileMetadataRepository.java
  28. 51
      source/src/main/java/gsp/technologies/source/teh/strings/Arrayer.java
  29. 16
      source/src/main/java/gsp/technologies/source/teh/strings/Dater.java
  30. 237
      source/src/main/java/gsp/technologies/source/teh/strings/Naimer.java
  31. 54
      source/src/main/java/gsp/technologies/source/teh/strings/Stringer.java
  32. 11
      source/src/main/resources/application.yaml
  33. 40
      storage/logs/teh.log
  34. BIN
      storage/logs/teh.log.2024-10-04.0.gz
  35. BIN
      storage/logs/teh.log.2024-10-07.0.gz
  36. BIN
      storage/logs/teh.log.2024-10-08.0.gz
  37. BIN
      storage/logs/teh.log.2024-10-11.0.gz
  38. 28
      storage/src/main/java/gsp/technologies/storage/models/FileMetadata.java
  39. 4
      storage/src/main/java/gsp/technologies/storage/models/xlsx/Xlsx.java
  40. 5
      storage/src/main/java/gsp/technologies/storage/services/FileService.java
  41. 27
      storage/src/main/java/gsp/technologies/storage/services/FileServiceImpl.java

2
base/docker-compose.yaml

@ -1,4 +1,4 @@
version: "3.7" # version: "3.7"
services: services:
teh-base: teh-base:
build: build:

3
base/init.ps1

@ -2,4 +2,5 @@
docker volume create teh-prebase docker volume create teh-prebase
docker volume create teh-base docker volume create teh-base
docker network create teh-net docker network create teh-net
docker-compose up # docker-compose up
.\run.ps1

117
face/logs/teh.log

@ -1,72 +1,45 @@
{"@timestamp":"2024-10-15T06:58:25.401365200Z","log.level":"INFO","process.pid":18360,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 18360 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:19:50.298664400Z","log.level":"INFO","process.pid":22936,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 22936 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T06:58:25.420342800Z","log.level":"INFO","process.pid":18360,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:19:50.312664900Z","log.level":"INFO","process.pid":22936,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T06:58:27.149308400Z","log.level":"INFO","process.pid":18360,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.195 seconds (process running for 3.296)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:19:51.978499800Z","log.level":"INFO","process.pid":22936,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.113 seconds (process running for 3.187)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T06:59:59.876416300Z","log.level":"INFO","process.pid":21256,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 21256 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:36:08.490006Z","log.level":"INFO","process.pid":21192,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 21192 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T06:59:59.884775400Z","log.level":"INFO","process.pid":21256,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:36:08.495127200Z","log.level":"INFO","process.pid":21192,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:00:01.898558600Z","log.level":"INFO","process.pid":21256,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.456 seconds (process running for 3.62)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:36:10.152771300Z","log.level":"INFO","process.pid":21192,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.142 seconds (process running for 3.162)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:01:15.761298200Z","log.level":"INFO","process.pid":25484,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 25484 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:51:34.169354200Z","log.level":"INFO","process.pid":21680,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 21680 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:01:15.768132300Z","log.level":"INFO","process.pid":25484,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:51:34.176895Z","log.level":"INFO","process.pid":21680,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:01:17.384655100Z","log.level":"INFO","process.pid":25484,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.041 seconds (process running for 3.126)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:51:35.803573100Z","log.level":"INFO","process.pid":21680,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.098 seconds (process running for 3.121)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:01:34.475610100Z","log.level":"INFO","process.pid":13404,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 13404 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T09:00:34.009199400Z","log.level":"INFO","process.pid":19236,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 19236 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:01:34.486051900Z","log.level":"INFO","process.pid":13404,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T09:00:34.018196900Z","log.level":"INFO","process.pid":19236,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:01:36.009313200Z","log.level":"INFO","process.pid":13404,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 1.981 seconds (process running for 3.109)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T09:00:35.757171600Z","log.level":"INFO","process.pid":19236,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.222 seconds (process running for 3.305)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:03:51.509645700Z","log.level":"INFO","process.pid":3924,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 3924 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T09:12:59.217794600Z","log.level":"INFO","process.pid":19048,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 19048 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:03:51.515645500Z","log.level":"INFO","process.pid":3924,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T09:12:59.226801600Z","log.level":"INFO","process.pid":19048,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:03:53.098716800Z","log.level":"INFO","process.pid":3924,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.027 seconds (process running for 3.091)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T09:13:00.848360500Z","log.level":"INFO","process.pid":19048,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.141 seconds (process running for 3.288)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:04:44.875344100Z","log.level":"INFO","process.pid":11632,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 11632 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T09:28:29.545567700Z","log.level":"INFO","process.pid":6392,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 6392 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:04:44.885344900Z","log.level":"INFO","process.pid":11632,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T09:28:29.551565700Z","log.level":"INFO","process.pid":6392,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:04:46.599374900Z","log.level":"INFO","process.pid":11632,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.208 seconds (process running for 3.45)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T09:28:31.212379500Z","log.level":"INFO","process.pid":6392,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.11 seconds (process running for 3.286)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:17:20.407868200Z","log.level":"INFO","process.pid":20068,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 20068 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T09:35:44.627998200Z","log.level":"INFO","process.pid":22096,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 22096 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:17:20.414844100Z","log.level":"INFO","process.pid":20068,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T09:35:44.633768700Z","log.level":"INFO","process.pid":22096,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:17:22.041664800Z","log.level":"INFO","process.pid":20068,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.199 seconds (process running for 3.335)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T09:35:46.519486Z","log.level":"INFO","process.pid":22096,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.323 seconds (process running for 3.517)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:20:25.233141700Z","log.level":"INFO","process.pid":18632,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 18632 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T09:47:44.789767100Z","log.level":"INFO","process.pid":18288,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 18288 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:20:25.239706500Z","log.level":"INFO","process.pid":18632,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T09:47:44.800769500Z","log.level":"INFO","process.pid":18288,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:20:26.883033200Z","log.level":"INFO","process.pid":18632,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.12 seconds (process running for 3.2)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T09:47:46.571588500Z","log.level":"INFO","process.pid":18288,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.253 seconds (process running for 3.297)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:20:41.404344Z","log.level":"INFO","process.pid":10532,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 10532 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T10:40:27.202561600Z","log.level":"INFO","process.pid":19860,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 19860 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:20:41.410344700Z","log.level":"INFO","process.pid":10532,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T10:40:27.211564500Z","log.level":"INFO","process.pid":19860,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:20:43.516986100Z","log.level":"INFO","process.pid":10532,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.638 seconds (process running for 3.995)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T10:40:29.057472100Z","log.level":"INFO","process.pid":19860,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.362 seconds (process running for 3.454)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:27:16.970919600Z","log.level":"INFO","process.pid":18168,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 18168 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T11:26:03.516908900Z","log.level":"INFO","process.pid":10500,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 10500 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:27:16.980920100Z","log.level":"INFO","process.pid":18168,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T11:26:03.522740200Z","log.level":"INFO","process.pid":10500,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:27:18.804281800Z","log.level":"INFO","process.pid":18168,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.313 seconds (process running for 3.511)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T11:26:05.232217400Z","log.level":"INFO","process.pid":10500,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.164 seconds (process running for 3.238)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:29:00.247600900Z","log.level":"INFO","process.pid":13576,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 13576 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T11:51:51.806918300Z","log.level":"INFO","process.pid":22676,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 22676 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:29:00.258902300Z","log.level":"INFO","process.pid":13576,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T11:51:51.812494100Z","log.level":"INFO","process.pid":22676,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T07:29:02.130547300Z","log.level":"INFO","process.pid":13576,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.438 seconds (process running for 3.687)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T11:51:53.664451Z","log.level":"INFO","process.pid":22676,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.322 seconds (process running for 3.401)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T08:15:33.927111800Z","log.level":"INFO","process.pid":19756,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 19756 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T12:00:46.366691600Z","log.level":"INFO","process.pid":19280,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 19280 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T08:15:33.934116500Z","log.level":"INFO","process.pid":19756,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T12:00:46.375652400Z","log.level":"INFO","process.pid":19280,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T08:15:35.917222400Z","log.level":"INFO","process.pid":19756,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.559 seconds (process running for 3.912)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T12:00:48.312538100Z","log.level":"INFO","process.pid":19280,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.434 seconds (process running for 3.71)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T08:17:20.248731200Z","log.level":"INFO","process.pid":18980,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 18980 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T12:26:42.224225600Z","log.level":"INFO","process.pid":22704,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 22704 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T08:17:20.256729800Z","log.level":"INFO","process.pid":18980,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T12:26:42.232225100Z","log.level":"INFO","process.pid":22704,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T08:17:22.171203900Z","log.level":"INFO","process.pid":18980,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.491 seconds (process running for 3.731)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T12:26:44.059990300Z","log.level":"INFO","process.pid":22704,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.344 seconds (process running for 3.455)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T08:36:01.602371300Z","log.level":"INFO","process.pid":15980,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 15980 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T12:47:39.395017900Z","log.level":"INFO","process.pid":20920,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 20920 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T08:36:01.608341Z","log.level":"INFO","process.pid":15980,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T12:47:39.405018700Z","log.level":"INFO","process.pid":20920,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T08:36:03.146454900Z","log.level":"INFO","process.pid":15980,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.055 seconds (process running for 3.15)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T12:47:41.156694200Z","log.level":"INFO","process.pid":20920,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.235 seconds (process running for 3.366)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T08:41:59.441333900Z","log.level":"INFO","process.pid":14156,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 14156 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T13:51:56.918722400Z","log.level":"INFO","process.pid":21056,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 21056 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T08:41:59.447360Z","log.level":"INFO","process.pid":14156,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T13:51:56.928945Z","log.level":"INFO","process.pid":21056,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T08:42:00.967345600Z","log.level":"INFO","process.pid":14156,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 1.995 seconds (process running for 3.092)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T13:51:58.766500Z","log.level":"INFO","process.pid":21056,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.295 seconds (process running for 3.414)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:04:42.999341700Z","log.level":"INFO","process.pid":18848,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 18848 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:04:43.008365200Z","log.level":"INFO","process.pid":18848,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:04:45.431310200Z","log.level":"INFO","process.pid":18848,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 3.125 seconds (process running for 4.801)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:38:53.193947900Z","log.level":"INFO","process.pid":10880,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 10880 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:38:53.200484Z","log.level":"INFO","process.pid":10880,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:38:55.226375300Z","log.level":"INFO","process.pid":10880,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.507 seconds (process running for 3.716)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:44:15.428223500Z","log.level":"INFO","process.pid":21836,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 21836 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:44:15.438215900Z","log.level":"INFO","process.pid":21836,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:44:16.927268900Z","log.level":"INFO","process.pid":21836,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 1.968 seconds (process running for 3.16)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:47:54.022919800Z","log.level":"INFO","process.pid":24984,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 24984 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:47:54.030918800Z","log.level":"INFO","process.pid":24984,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:47:55.955495200Z","log.level":"INFO","process.pid":24984,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.448 seconds (process running for 3.591)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:49:45.291168600Z","log.level":"INFO","process.pid":20836,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 20836 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:49:45.297167300Z","log.level":"INFO","process.pid":20836,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:49:46.828682100Z","log.level":"INFO","process.pid":20836,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 1.994 seconds (process running for 3.093)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:53:07.279315Z","log.level":"INFO","process.pid":25072,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 25072 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:53:07.286315500Z","log.level":"INFO","process.pid":25072,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T09:53:08.864121700Z","log.level":"INFO","process.pid":25072,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.028 seconds (process running for 3.193)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T12:10:18.164651800Z","log.level":"INFO","process.pid":28300,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 28300 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T12:10:18.172651500Z","log.level":"INFO","process.pid":28300,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T12:10:19.745267700Z","log.level":"INFO","process.pid":28300,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 2.047 seconds (process running for 3.157)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T12:14:59.582298700Z","log.level":"INFO","process.pid":27480,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 27480 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T12:14:59.589299300Z","log.level":"INFO","process.pid":27480,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T12:15:01.111189500Z","log.level":"INFO","process.pid":27480,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 1.986 seconds (process running for 3.104)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T12:17:12.827823700Z","log.level":"INFO","process.pid":25856,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Starting FaceApplicationTests using Java 17.0.7 with PID 25856 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\face)","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T12:17:12.833491600Z","log.level":"INFO","process.pid":25856,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-15T12:17:14.373969600Z","log.level":"INFO","process.pid":25856,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.face.FaceApplicationTests","message":"Started FaceApplicationTests in 1.987 seconds (process running for 3.053)","ecs.version":"8.11"}

BIN
face/logs/teh.log.2024-10-15.0.gz

Binary file not shown.

147
face/src/main/java/gsp/technologies/face/controllers/face/v1/mainframe/MainframeController.java

@ -1,7 +1,7 @@
package gsp.technologies.face.controllers.face.v1.mainframe; package gsp.technologies.face.controllers.face.v1.mainframe;
import java.net.URI;
import java.time.Duration; import java.time.Duration;
import java.util.Optional;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -19,9 +19,12 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.reactive.function.BodyInserters; import org.springframework.web.reactive.function.BodyInserters;
import org.springframework.web.reactive.function.client.WebClient; import org.springframework.web.reactive.function.client.WebClient;
import org.springframework.web.util.UriComponents;
import org.springframework.web.util.UriComponentsBuilder;
import gsp.technologies.face.models.FileMetadata; import gsp.technologies.face.models.FileMetadata;
import gsp.technologies.face.models.Post; import gsp.technologies.face.models.Post;
import gsp.technologies.face.teh.fs.Filer;
import gsp.technologies.face.teh.fs.MpFile; import gsp.technologies.face.teh.fs.MpFile;
import reactor.core.publisher.Mono; import reactor.core.publisher.Mono;
@ -40,9 +43,24 @@ public class MainframeController {
public String mainframe(Model model) { public String mainframe(Model model) {
log.info("GET /face/v1/mainframe"); log.info("GET /face/v1/mainframe");
//добавляем объект Post для отправки сведений о новом документе в базу //передаем страницу с перечнем постов в модель
Post post = new Post(); model.addAttribute("postsPage", client.get()
model.addAttribute("newPost", post); .uri("http://source:8181/api/v1/storage/post/page?number=0&size=10&sortBy=id")
.retrieve()
.bodyToMono(Post.class)
.block());
//передаем перечень постов в модель
model.addAttribute("posts", client.get()
.uri("http://source:8181/api/v1/storage/post/list")
.retrieve()
.bodyToFlux(Post.class)
.collectList()
.block());
//добавляем объект Post хранения сведений о новом документе в представлении и последующей отправки на сервер
model.addAttribute("newPost", new Post());
return "mainframe"; return "mainframe";
} }
@ -64,72 +82,89 @@ public class MainframeController {
//подготавливаем объект метаданных //подготавливаем объект метаданных
FileMetadata metadata = new FileMetadata(); FileMetadata metadata = new FileMetadata();
metadata.setName(file.getOriginalFilename()); metadata.setName(file.getOriginalFilename());
metadata.setExtension(Filer.extension(file.getOriginalFilename()));
metadata.setSize(file.getSize()); metadata.setSize(file.getSize());
// получаем объект метаданных с id // получаем объект метаданных с id
try {
metadata = client.post() metadata = client.post()
.uri("http://source:8181/api/v1/metadata/create") .uri("http://source:8181/api/v1/storage/metadata/create")
.body(Mono.just(metadata), FileMetadata.class) .body(Mono.just(metadata), FileMetadata.class)
.retrieve() .retrieve()
.bodyToMono(new ParameterizedTypeReference <FileMetadata>(){}) .bodyToMono(new ParameterizedTypeReference <FileMetadata>(){})
.timeout(Duration.ofSeconds(1)) .timeout(Duration.ofSeconds(1))
.block(); .block();
} catch (Exception e) {
log.error("При создании метаданных произошла ошибка: {}", e.getMessage());
}
// Добавление файла в файловое хранилище long id = metadata.getId();
log.info("Получен id новой записи, metadata.id: {}", id);
// отправляем файл в хранилище с новым именем {id}.{ext}
MultipartBodyBuilder builder = new MultipartBodyBuilder(); MultipartBodyBuilder builder = new MultipartBodyBuilder();
Boolean ok;
MultipartFile out = new MpFile(file, metadata.getId() + "." + metadata.getExtension()); MultipartFile out = new MpFile(file, metadata.getId() + "." + metadata.getExtension());
builder.part("file", out.getResource()); builder.part("file", out.getResource());
try {
log.info("Отправляем файл в хранилище с новым именем {}.{}", metadata.getId(), metadata.getExtension());
metadata = client.method(HttpMethod.POST)
.uri("http://storage:8282/api/v1/files/store")
.body(BodyInserters
.fromMultipartData(builder.build()))
.retrieve()
.bodyToMono(new ParameterizedTypeReference <FileMetadata>(){})
.block();
metadata.setId(id);
} catch (Exception e) {
log.error("При отправке файла произошла ошибка: {}", e.getMessage());
}
log.info("Получены обновленные данные о новом файле: {}", metadata);
// обновляем запись о новом файле в базе
try {
log.info("Обновляем запись о новом файле в базе");
// Document doc = new Document(); UriComponents uriComponents = UriComponentsBuilder
// doc.setName(file.getOriginalFilename()); .fromUriString("http://source:8181/api/v1/storage/metadata/update")
// doc.setSize(file.getSize()); .queryParam("id", metadata.getId())
.encode()
// Optional<String> ext = Optional.ofNullable(file.getOriginalFilename()) .build();
// .filter(f -> f.contains(".")) URI uri = uriComponents.toUri();
// .map(f -> f.substring(file.getOriginalFilename().lastIndexOf(".") + 1));
// doc.setExtension(ext.get()); metadata = client.put()
// doc.setExtension( ext.get()); .uri(uri)
.body(Mono.just(metadata), FileMetadata.class)
// Добавление записи о файле в базу данных .retrieve()
// doc = client.post() .bodyToMono(new ParameterizedTypeReference <FileMetadata>(){})
// .uri("http://resource-service-api:8181/storage-entry/create") .timeout(Duration.ofSeconds(1))
// .body(Mono.just(doc), Document.class) .block();
// .retrieve() } catch (Exception e) {
// .bodyToMono(new ParameterizedTypeReference <Document>(){}) log.error("При обновлении записи в базе метаданных произошла ошибка: {}", e.getMessage());
// .timeout(Duration.ofSeconds(1)) }
// .block(); log.info("Обновленные данные о файле: {}", metadata);
// post.setDocument(doc); //создание нового поста в базе
// post = client.post() try {
// .uri("http://resource-service-api:8181/post/create") log.info("Создаем новый пост в базе");
// .body(Mono.just(post), Post.class)
// .retrieve() UriComponents uriComponents = UriComponentsBuilder
// .bodyToMono(new ParameterizedTypeReference <Post>(){}) .fromUriString("http://source:8181/api/v1/storage/post/create")
// .timeout(Duration.ofSeconds(1)) .encode()
// .block(); .build();
URI uri = uriComponents.toUri();
// System.out.println("Пакет передан в ресурсный сервис ...");
// System.out.println("Пакет: " + post.toString()); post.setMetadata(metadata);
post = client.post()
// Добавление файла в файловое хранилище .uri(uri)
// MultipartBodyBuilder builder = new MultipartBodyBuilder(); .body(Mono.just(post), Post.class)
// Boolean ok; .retrieve()
// MultipartFile out = new MpFile(file, doc.getId() + "." + doc.getExtension()); .bodyToMono(new ParameterizedTypeReference <Post>(){})
// builder.part("file", out.getResource()); .timeout(Duration.ofSeconds(1))
.block();
// ok = client.method(HttpMethod.POST) } catch (Exception e) {
// .uri("http://storage:8282/api/document/store") log.error("При создании поста в базе произошла ошибка: {}", e.getMessage());
// .body(BodyInserters }
// .fromMultipartData(builder.build())) log.info("Пост создан: {}", post);
// .retrieve()
// .bodyToMono(new ParameterizedTypeReference <Boolean>(){})
// .block();
// System.out.println("Файл добавлен в хранилище: " + ok);
// System.out.println("ID: " + doc.getId());
// System.out.println(doc.toString());
//переход на страницу импорта данных из документа //переход на страницу импорта данных из документа
return "redirect:/face/v1/mainframe"; return "redirect:/face/v1/mainframe";

22
face/src/main/java/gsp/technologies/face/models/FileMetadata.java

@ -1,14 +1,14 @@
package gsp.technologies.face.models; package gsp.technologies.face.models;
import java.nio.file.Path; import java.io.Serializable;
import java.time.LocalDateTime; import java.util.Date;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
public class FileMetadata { public class FileMetadata implements Serializable {
//идентификатор записи о фале //идентификатор записи о фале
private Long id; private Long id;
@ -19,22 +19,22 @@ public class FileMetadata {
private String extension; private String extension;
//путь к корневому каталогу на сервере, где размещено хранилище данныхприложения //путь к корневому каталогу на сервере, где размещено хранилище данныхприложения
private Path rootPath; private String rootPath;
//путь относительно корневого каталога //путь относительно корневого каталога
private Path relativePath; private String relativePath;
//абсолютный путь к файлу или директории на сервере //абсолютный путь к файлу или директории на сервере
private Path absolutePath; private String absolutePath;
//размер файла в байтах //размер файла в байтах
private Long size; private Long size;
//дата создания файла или директории //дата создания файла или директории
private LocalDateTime createdDate; private Date createdDate;
//дата последнего изенения файла или директории //дата последнего изенения файла или директории
private LocalDateTime lastModifiedDate; private Date lastModifiedDate;
//пользователь - владелец файла или директории //пользователь - владелец файла или директории
private String owner; private String owner;
@ -50,7 +50,7 @@ public class FileMetadata {
* *
* @return Возвращает true, если текущий объект является директорией * @return Возвращает true, если текущий объект является директорией
*/ */
public boolean isDirectory() { // public boolean isDirectory() {
return type.equals("directory"); // return type.equals("directory");
} // }
} }

2
face/src/main/java/gsp/technologies/face/models/Post.java

@ -10,7 +10,7 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
public class Post implements Serializable { public class Post implements Serializable {
private long id; private Long id;
private String type;//тип документа (реестр/ списочный состав/ прочее) private String type;//тип документа (реестр/ списочный состав/ прочее)
private FileMetadata metadata; private FileMetadata metadata;

8
face/src/main/java/gsp/technologies/face/teh/fs/Filer.java

@ -0,0 +1,8 @@
package gsp.technologies.face.teh.fs;
public class Filer {
public static String extension(String filename) {
return filename.substring(filename.lastIndexOf(".") + 1);
}
}

19
face/src/main/resources/templates/fragments/storage.html

@ -23,5 +23,24 @@
<button type="submit">Загрузить пакет</button> <button type="submit">Загрузить пакет</button>
</form> </form>
</div> </div>
<!--
Отображение перечня документов (постов) размещенных на сервере
по данным из базы
-->
<div th:fragment="posts (posts)">
<hr>
<h2>Перечень документов: <span th:text="${#lists.size(posts)}"></span></h2>
<div th:each="post : ${posts}">
<p th:text="${post}"></p>
</div>
</div>
<div th:fragment="posts (postsPage)">
<hr>
<h2>Перечень документов: <span th:text="${#lists.size(postsPage.content)}"></span></h2>
<div th:each="post : ${postsPage.content}">
<p th:text="${post}"></p>
</div>
</div>
</body> </body>
</html> </html>

9
face/src/main/resources/templates/mainframe.html

@ -92,8 +92,13 @@ xmlns:th="http://www.thymeleaf.org">
<div th:insert="~{fragments/storage :: upload(post=${newPost})}"></div> <div th:insert="~{fragments/storage :: upload(post=${newPost})}"></div>
<!-- Вывести по три документа каждого типа --> <!-- Вывести по три документа каждого типа -->
<div th:insert="~{fragments/storage :: posts(posts=${posts})}"></div>
<!-- Вывести постранично -->
<div th:insert="~{fragments/storage :: posts(postsPage=${postsPage})}"></div>
<h2>Последние загруженные документы: COUNT</h2> <h2>Последние загруженные документы: COUNT</h2>
<table rules="all"> <!-- <table rules="all">
<thead> <thead>
<tr> <tr>
<th>Вид документа</th> <th>Вид документа</th>
@ -134,7 +139,7 @@ xmlns:th="http://www.thymeleaf.org">
<td>обработан/не обработан</td> <td>обработан/не обработан</td>
</tr> </tr>
</tbody> </tbody>
</table> </table> -->
</main> </main>
<!-- подвал --> <!-- подвал -->
<footer> <footer>

135
logger/logs/teh.log

@ -1,131 +1,4 @@
{"@timestamp":"2024-09-27T09:43:09.850108700Z","log.level":"INFO","process.pid":4248,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 4248 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:24:27.827057800Z","log.level":"WARN","process.pid":22816,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T09:43:09.856112600Z","log.level":"INFO","process.pid":4248,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:24:27.888598300Z","log.level":"INFO","process.pid":22816,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 22816 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T09:43:11.249474Z","log.level":"INFO","process.pid":4248,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.875 seconds (process running for 2.905)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:24:27.892815400Z","log.level":"INFO","process.pid":22816,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T10:41:16.357345900Z","log.level":"WARN","process.pid":18536,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:24:29.744820600Z","log.level":"INFO","process.pid":22816,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 2.538 seconds (process running for 4.072)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T10:41:16.396916300Z","log.level":"INFO","process.pid":18536,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 18536 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T10:41:16.400468400Z","log.level":"INFO","process.pid":18536,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T10:41:17.660376700Z","log.level":"INFO","process.pid":18536,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.755 seconds (process running for 2.825)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T10:43:38.410323500Z","log.level":"WARN","process.pid":21140,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T10:43:38.451322500Z","log.level":"INFO","process.pid":21140,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 21140 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T10:43:38.453330600Z","log.level":"INFO","process.pid":21140,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T10:43:39.783561500Z","log.level":"INFO","process.pid":21140,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.822 seconds (process running for 2.813)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T10:44:54.654078600Z","log.level":"WARN","process.pid":20688,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T10:44:54.694338800Z","log.level":"INFO","process.pid":20688,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 20688 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T10:44:54.699309200Z","log.level":"INFO","process.pid":20688,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T10:44:55.941096600Z","log.level":"INFO","process.pid":20688,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.773 seconds (process running for 2.731)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T10:52:20.306030800Z","log.level":"WARN","process.pid":15464,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T10:52:20.345159200Z","log.level":"INFO","process.pid":15464,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 15464 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T10:52:20.348742500Z","log.level":"INFO","process.pid":15464,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T10:52:21.629227Z","log.level":"INFO","process.pid":15464,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.736 seconds (process running for 2.718)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:08:12.777257400Z","log.level":"WARN","process.pid":11344,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:08:12.813539600Z","log.level":"INFO","process.pid":11344,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 11344 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:08:12.817538300Z","log.level":"INFO","process.pid":11344,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:08:14.150026500Z","log.level":"INFO","process.pid":11344,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.813 seconds (process running for 2.805)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:13:38.952082400Z","log.level":"WARN","process.pid":22632,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:13:38.991174600Z","log.level":"INFO","process.pid":22632,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 22632 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:13:38.994172600Z","log.level":"INFO","process.pid":22632,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:13:40.268733100Z","log.level":"INFO","process.pid":22632,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.734 seconds (process running for 2.648)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:17:03.473129100Z","log.level":"WARN","process.pid":18932,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:17:03.507826700Z","log.level":"INFO","process.pid":18932,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 18932 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:17:03.510796Z","log.level":"INFO","process.pid":18932,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:17:04.782727200Z","log.level":"INFO","process.pid":18932,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.731 seconds (process running for 2.662)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:23:05.704330200Z","log.level":"WARN","process.pid":14820,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:23:05.756546400Z","log.level":"INFO","process.pid":14820,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 14820 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:23:05.760546200Z","log.level":"INFO","process.pid":14820,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:23:07.072854100Z","log.level":"INFO","process.pid":14820,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.83 seconds (process running for 2.78)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:25:15.142931100Z","log.level":"WARN","process.pid":18024,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:25:15.173407900Z","log.level":"INFO","process.pid":18024,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 18024 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:25:15.176419900Z","log.level":"INFO","process.pid":18024,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:25:16.540821800Z","log.level":"INFO","process.pid":18024,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.821 seconds (process running for 2.836)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:49:07.891767800Z","log.level":"WARN","process.pid":22064,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:49:07.933215400Z","log.level":"INFO","process.pid":22064,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 22064 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:49:07.935218200Z","log.level":"INFO","process.pid":22064,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:49:09.305151900Z","log.level":"INFO","process.pid":22064,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.862 seconds (process running for 2.902)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:50:02.019064600Z","log.level":"WARN","process.pid":18956,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:50:02.068024800Z","log.level":"INFO","process.pid":18956,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 18956 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:50:02.071024300Z","log.level":"INFO","process.pid":18956,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:50:03.358342200Z","log.level":"INFO","process.pid":18956,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.779 seconds (process running for 2.739)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:53:14.421356900Z","log.level":"WARN","process.pid":13840,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:53:14.454624Z","log.level":"INFO","process.pid":13840,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 13840 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:53:14.458623800Z","log.level":"INFO","process.pid":13840,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:53:15.793321400Z","log.level":"INFO","process.pid":13840,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.805 seconds (process running for 2.807)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:57:57.426635800Z","log.level":"WARN","process.pid":21684,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:57:57.461635200Z","log.level":"INFO","process.pid":21684,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 21684 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:57:57.463633800Z","log.level":"INFO","process.pid":21684,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T11:57:58.791698500Z","log.level":"INFO","process.pid":21684,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.825 seconds (process running for 2.767)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:02:32.332487400Z","log.level":"WARN","process.pid":5588,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:02:32.376765700Z","log.level":"INFO","process.pid":5588,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 5588 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:02:32.381354700Z","log.level":"INFO","process.pid":5588,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:02:33.881896900Z","log.level":"INFO","process.pid":5588,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 2.111 seconds (process running for 3.343)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:05:57.424434400Z","log.level":"WARN","process.pid":2856,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:05:57.447562800Z","log.level":"INFO","process.pid":2856,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 2856 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:05:57.448529300Z","log.level":"INFO","process.pid":2856,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:05:58.731328700Z","log.level":"INFO","process.pid":2856,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.733 seconds (process running for 2.727)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:09:00.598494400Z","log.level":"WARN","process.pid":21760,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:09:00.638821800Z","log.level":"INFO","process.pid":21760,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 21760 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:09:00.641828800Z","log.level":"INFO","process.pid":21760,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:09:01.967372200Z","log.level":"INFO","process.pid":21760,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.799 seconds (process running for 2.794)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:10:16.401880600Z","log.level":"WARN","process.pid":21284,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:10:16.442199100Z","log.level":"INFO","process.pid":21284,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 21284 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:10:16.445199100Z","log.level":"INFO","process.pid":21284,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:10:17.702632900Z","log.level":"INFO","process.pid":21284,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.725 seconds (process running for 2.707)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:12:56.492099900Z","log.level":"WARN","process.pid":23148,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:12:56.539762Z","log.level":"INFO","process.pid":23148,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 23148 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:12:56.542760200Z","log.level":"INFO","process.pid":23148,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:12:57.844554600Z","log.level":"INFO","process.pid":23148,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.82 seconds (process running for 2.824)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:18:54.230126Z","log.level":"WARN","process.pid":22324,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:18:54.277045100Z","log.level":"INFO","process.pid":22324,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 22324 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:18:54.280212800Z","log.level":"INFO","process.pid":22324,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:18:55.549763500Z","log.level":"INFO","process.pid":22324,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.736 seconds (process running for 2.707)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:21:11.951690300Z","log.level":"WARN","process.pid":24328,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:21:11.985032500Z","log.level":"INFO","process.pid":24328,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 24328 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:21:11.988001Z","log.level":"INFO","process.pid":24328,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:21:13.304267200Z","log.level":"INFO","process.pid":24328,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.787 seconds (process running for 2.75)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:22:55.246894900Z","log.level":"WARN","process.pid":18172,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:22:55.282762300Z","log.level":"INFO","process.pid":18172,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 18172 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:22:55.286389100Z","log.level":"INFO","process.pid":18172,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:22:56.597654500Z","log.level":"INFO","process.pid":18172,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.834 seconds (process running for 2.753)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:31:07.217922700Z","log.level":"WARN","process.pid":16040,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:31:07.262716Z","log.level":"INFO","process.pid":16040,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 16040 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:31:07.265676Z","log.level":"INFO","process.pid":16040,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:31:08.543376100Z","log.level":"INFO","process.pid":16040,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.731 seconds (process running for 2.753)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:33:13.349572600Z","log.level":"WARN","process.pid":19560,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:33:13.380727100Z","log.level":"INFO","process.pid":19560,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 19560 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:33:13.383726600Z","log.level":"INFO","process.pid":19560,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:33:14.658781900Z","log.level":"INFO","process.pid":19560,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.764 seconds (process running for 2.743)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:40:22.040106600Z","log.level":"WARN","process.pid":21788,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:40:22.079966100Z","log.level":"INFO","process.pid":21788,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 21788 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:40:22.083026700Z","log.level":"INFO","process.pid":21788,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T12:40:23.393986900Z","log.level":"INFO","process.pid":21788,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.801 seconds (process running for 2.762)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:03:16.727690700Z","log.level":"WARN","process.pid":24044,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:03:16.776531600Z","log.level":"INFO","process.pid":24044,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 24044 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:03:16.782536500Z","log.level":"INFO","process.pid":24044,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:03:18.287381700Z","log.level":"INFO","process.pid":24044,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.974 seconds (process running for 3.086)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:04:21.534642200Z","log.level":"WARN","process.pid":7420,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:04:21.589867400Z","log.level":"INFO","process.pid":7420,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 7420 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:04:21.593095700Z","log.level":"INFO","process.pid":7420,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:04:22.843127200Z","log.level":"INFO","process.pid":7420,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.719 seconds (process running for 2.754)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:07:38.402395500Z","log.level":"WARN","process.pid":24084,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:07:38.456604600Z","log.level":"INFO","process.pid":24084,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 24084 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:07:38.461337300Z","log.level":"INFO","process.pid":24084,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:07:39.708951100Z","log.level":"INFO","process.pid":24084,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.725 seconds (process running for 2.699)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:09:23.025038700Z","log.level":"WARN","process.pid":6068,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:09:23.060570600Z","log.level":"INFO","process.pid":6068,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 6068 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:09:23.062598600Z","log.level":"INFO","process.pid":6068,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:09:24.408872Z","log.level":"INFO","process.pid":6068,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.827 seconds (process running for 3.289)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:11:35.906329500Z","log.level":"WARN","process.pid":12200,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:11:35.939049900Z","log.level":"INFO","process.pid":12200,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 12200 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:11:35.941050100Z","log.level":"INFO","process.pid":12200,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:11:37.298503Z","log.level":"INFO","process.pid":12200,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.822 seconds (process running for 2.781)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:15:51.291206300Z","log.level":"WARN","process.pid":9092,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:15:51.331494100Z","log.level":"INFO","process.pid":9092,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 9092 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:15:51.333502400Z","log.level":"INFO","process.pid":9092,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:15:52.630944700Z","log.level":"INFO","process.pid":9092,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.757 seconds (process running for 2.751)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:57:17.389583800Z","log.level":"WARN","process.pid":22996,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:57:17.421197100Z","log.level":"INFO","process.pid":22996,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 22996 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:57:17.423166200Z","log.level":"INFO","process.pid":22996,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T13:57:18.678243900Z","log.level":"INFO","process.pid":22996,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 1.748 seconds (process running for 2.709)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T14:00:20.940355100Z","log.level":"WARN","process.pid":11536,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer","message":"\r\n\r\nFound multiple occurrences of org.json.JSONObject on the class path:\r\n\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/org\/json\/json\/20240303\/json-20240303.jar!\/org\/json\/JSONObject.class\r\n\tjar:file:\/C:\/Users\/devuser\/.m2\/repository\/com\/vaadin\/external\/google\/android-json\/0.0.20131108.vaadin1\/android-json-0.0.20131108.vaadin1.jar!\/org\/json\/JSONObject.class\r\n\r\nYou may wish to exclude one of them to ensure predictable runtime behavior\r\n","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T14:00:20.983001800Z","log.level":"INFO","process.pid":11536,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Starting LoggerApplicationTests using Java 17.0.7 with PID 11536 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\logger)","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T14:00:20.988002700Z","log.level":"INFO","process.pid":11536,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-09-27T14:00:22.557061300Z","log.level":"INFO","process.pid":11536,"process.thread.name":"main","service.name":"logger","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.logger.LoggerApplicationTests","message":"Started LoggerApplicationTests in 2.121 seconds (process running for 3.224)","ecs.version":"8.11"}

1
source/.env

@ -0,0 +1 @@
LOGGER_DATA='/app/source/logs'

2
source/docker-compose.yaml

@ -1,4 +1,4 @@
version: "3.7" # version: "3.7"
services: services:
source: source:
container_name: source container_name: source

15
source/pom.xml

@ -10,9 +10,9 @@
</parent> </parent>
<groupId>gsp.technologies</groupId> <groupId>gsp.technologies</groupId>
<artifactId>source</artifactId> <artifactId>source</artifactId>
<version>0.0.1-SNAPSHOT</version> <version>0.1</version>
<name>source</name> <name>source</name>
<description>Demo project for Spring Boot</description> <description>Доступ к базе данных</description>
<url/> <url/>
<licenses> <licenses>
<license/> <license/>
@ -28,6 +28,7 @@
</scm> </scm>
<properties> <properties>
<java.version>17</java.version> <java.version>17</java.version>
<tests.skip>true</tests.skip>
</properties> </properties>
<dependencies> <dependencies>
<dependency> <dependency>
@ -65,6 +66,7 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<configuration> <configuration>
<!-- <mainClass>App</mainClass> -->
<excludes> <excludes>
<exclude> <exclude>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
@ -73,6 +75,15 @@
</excludes> </excludes>
</configuration> </configuration>
</plugin> </plugin>
<!-- Отключаем тесты базы данных, пока не развернут контейнер -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<skipTests>${tests.skip}</skipTests>
</configuration>
</plugin>
</plugins> </plugins>
</build> </build>
</project> </project>

23
source/run.ps1

@ -0,0 +1,23 @@
$container_name = "source"
$image_name = "source"
$build_name = "source"
$code_location = "C:\Users\devuser\Documents\code\teh\source"
# Остановить и удалить существующий контейнер
docker stop $container_name
docker rm $container_name
# Удалить существующий образ
docker rmi $image_name
# Перейти в каталог с проектом
Set-Location $code_location
# Собрать jar с помощью Maven
mvn clean package
# Запустить контейнер с помощью docker-compose
docker-compose up
# Пауза скрипта
Pause

69
source/src/main/java/gsp/technologies/source/controllers/api/v1/StorageController.java

@ -1,18 +1,23 @@
package gsp.technologies.source.controllers.api.v1; package gsp.technologies.source.controllers.api.v1;
import java.util.List; import java.util.List;
import java.util.Optional;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import gsp.technologies.source.models.FileMetadata; import gsp.technologies.source.models.FileMetadata;
@ -26,6 +31,8 @@ import gsp.technologies.source.repositories.PostRepository;
@RestController @RestController
@RequestMapping(path = "/api/v1/storage") @RequestMapping(path = "/api/v1/storage")
public class StorageController { public class StorageController {
private static final Logger log = LoggerFactory.getLogger(StorageController.class);
@Autowired @Autowired
private FileMetadataRepository metaRepo; private FileMetadataRepository metaRepo;
@ -37,20 +44,30 @@ public class StorageController {
return new ResponseEntity<>(metaRepo.findAll(), HttpStatus.OK); return new ResponseEntity<>(metaRepo.findAll(), HttpStatus.OK);
} }
/**
* Получение списка постов
* @return
*/
@GetMapping("/post/list") @GetMapping("/post/list")
public ResponseEntity<List<Post>> getPostList(){ public ResponseEntity<List<Post>> getPostList(){
return new ResponseEntity<>(postRepo.findAll(), HttpStatus.OK); return new ResponseEntity<>(postRepo.findAll(), HttpStatus.OK);
} }
@GetMapping("/metadata/{id}") @GetMapping("/post/page")
public ResponseEntity<?> getStorageEntryByID(@PathVariable Integer id){ public ResponseEntity<?> getPostPage(@RequestParam("number") int number, @RequestParam("size") int size, @RequestParam("sortBy") String sortBy) {
return new ResponseEntity<>(metaRepo.findById(id), HttpStatus.OK); return new ResponseEntity<>(postRepo.findAll(PageRequest.of(number, size, Sort.by(sortBy))), HttpStatus.OK);
} }
// @GetMapping("/metadata/{id}")
// public ResponseEntity<?> getStorageEntryByID(@PathVariable Integer id){
// return new ResponseEntity<>(metaRepo.findById(id), HttpStatus.OK);
// }
@PostMapping(path = "/metadata/create", @PostMapping(path = "/metadata/create",
consumes = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE,
produces = MediaType.APPLICATION_JSON_VALUE) produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> saveStorageEntry(@RequestBody FileMetadata metadata) { public ResponseEntity<?> saveStorageEntry(@RequestBody FileMetadata metadata) {
log.info("POST /metadata/create, metadata: {}", metadata);
metaRepo.save(metadata); metaRepo.save(metadata);
return new ResponseEntity<>(metadata, HttpStatus.CREATED); return new ResponseEntity<>(metadata, HttpStatus.CREATED);
} }
@ -59,6 +76,7 @@ public class StorageController {
consumes = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE,
produces = MediaType.APPLICATION_JSON_VALUE) produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> savePost(@RequestBody Post post) { public ResponseEntity<?> savePost(@RequestBody Post post) {
log.info("POST /post/create, post: {}", post);
postRepo.save(post); postRepo.save(post);
return new ResponseEntity<>(post, HttpStatus.CREATED); return new ResponseEntity<>(post, HttpStatus.CREATED);
} }
@ -66,21 +84,44 @@ public class StorageController {
@PutMapping(path = "/metadata/update/{id}", @PutMapping(path = "/metadata/update/{id}",
consumes = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE,
produces = MediaType.APPLICATION_JSON_VALUE) produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> updateStorageEntry(@PathVariable Integer id, @RequestBody FileMetadata metadata) { public ResponseEntity<?> updateStorageEntry(@PathVariable Long id, @RequestBody FileMetadata metadata) {
FileMetadata meta = metaRepo.findById(id); log.info("PUT /metadata/update/{id}, metadata: {}", metadata);
Optional<FileMetadata> ometa = metaRepo.findById(id);
FileMetadata meta = ometa.get();
// meta.setName(metadata.getName());
// meta.setRelativePath(metadata.getRelativePath());
// meta.setExtension(metadata.getExtension());
// meta.setSize(metadata.getSize());
metaRepo.save(meta);
return new ResponseEntity<>(metaRepo.findById(id), HttpStatus.CREATED);
}
@PutMapping(path = "/metadata/update",
consumes = MediaType.APPLICATION_JSON_VALUE,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> updateMetadata(@RequestParam(name="id", required = true) Long id, @RequestBody FileMetadata metadata) {
log.info("PUT /metadata/update, metadata: {}", metadata);
Optional<FileMetadata> ometa = metaRepo.findById(metadata.getId());
FileMetadata meta = ometa.get();
meta.setName(metadata.getName()); meta.setName(metadata.getName());
meta.setRelativePath(metadata.getRelativePath());
meta.setExtension(metadata.getExtension()); meta.setExtension(metadata.getExtension());
meta.setSize(metadata.getSize()); meta.setSize(metadata.getSize());
meta.setType(metadata.getType());
meta.setLastModifiedDate(metadata.getLastModifiedDate());
meta.setCreatedDate(metadata.getCreatedDate());
meta.setAbsolutePath(metadata.getAbsolutePath());
meta.setRootPath(metadata.getRootPath());
meta.setRelativePath(metadata.getRelativePath());
meta.setOwner(metadata.getOwner());
meta.setPermissions(metadata.getPermissions());
metaRepo.save(meta); metaRepo.save(meta);
return new ResponseEntity<>(metaRepo.findById(id), HttpStatus.CREATED); return new ResponseEntity<>(metaRepo.findById(metadata.getId()), HttpStatus.CREATED);
} }
@DeleteMapping("/metadata/delete/{id}") // @DeleteMapping("/metadata/delete/{id}")
public ResponseEntity<String> deleteStorageEntry(@PathVariable Integer id){ // public ResponseEntity<String> deleteStorageEntry(@PathVariable Integer id){
FileMetadata meta= metaRepo.findById(id); // FileMetadata meta= metaRepo.findById(id);
metaRepo.delete(meta); // metaRepo.delete(meta);
return new ResponseEntity<>("Запись id#" + id + " удалена ... ", HttpStatus.OK); // return new ResponseEntity<>("Запись id#" + id + " удалена ... ", HttpStatus.OK);
} // }
} }

36
source/src/main/java/gsp/technologies/source/models/Building.java

@ -1,36 +0,0 @@
package gsp.technologies.source.models;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Сущность объекта строительства
*/
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Data
public class Building {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;
@Column(length=50)
private String nameShort;//Сокращенное наименование
private String nameFull;//Полное наименование
private String codeShort;//Краткий код
private String codeFull;//Полный код
// подготовить конструкторы на все варианты внесения информации о преподавателях
public Building(String name_short, String name_full, String code_short, String code_full){
this.nameShort = name_short;
this.nameFull = name_full;
this.codeShort = code_short;
this.codeFull = code_full;
}
}

47
source/src/main/java/gsp/technologies/source/models/Course.java

@ -1,47 +0,0 @@
package gsp.technologies.source.models;
import java.util.Date;
import org.hibernate.annotations.OnDelete;
import org.hibernate.annotations.OnDeleteAction;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToOne;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Сведения о курсе (учебном потоке)
*/
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Data
public class Course {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;//уникальный идентификатор курса
private String place;//место проведения занятий
private Date startDate;//дата начала курса
private Date protocolDate;//дата протокола
private String protocolNumber;//номер протоколаssss
private String reportPeriod;//отчетный период (наименование месяца)
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@OnDelete(action = OnDeleteAction.SET_NULL)
private Teacher teacher;//сведения о преподаватле
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@OnDelete(action = OnDeleteAction.SET_NULL)
private Program program;//сведения о программе обучения
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@OnDelete(action = OnDeleteAction.SET_NULL)
private Building building;//сведения об объекте строительства
}

36
source/src/main/java/gsp/technologies/source/models/EducationEntry.java

@ -1,36 +0,0 @@
package gsp.technologies.source.models;
import org.hibernate.annotations.OnDelete;
import org.hibernate.annotations.OnDeleteAction;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToOne;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Data
public class EducationEntry {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;
private String sertificateNumber;//Номер удостоверения
private String frdoNumber;//ФРДО номер по реестру
private String eisotNumber;//ЕИСОТ номер по реестру
private String ones;//Единички (вспомогатльный столбец)
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@OnDelete(action = OnDeleteAction.SET_NULL)
private Course course;//Сведения о курсе
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@OnDelete(action = OnDeleteAction.SET_NULL)
private Student student;//Сведения о студенте
}

29
source/src/main/java/gsp/technologies/source/models/FileMetadata.java

@ -1,15 +1,22 @@
package gsp.technologies.source.models; package gsp.technologies.source.models;
import java.nio.file.Path; import java.io.Serializable;
import java.time.LocalDateTime; import java.util.Date;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@NoArgsConstructor @NoArgsConstructor
@Entity
@Data @Data
public class FileMetadata { public class FileMetadata implements Serializable {
//идентификатор по базе //идентификатор по базе
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id; private Long id;
//имя файла //имя файла
@ -19,22 +26,22 @@ public class FileMetadata {
private String extension; private String extension;
//путь к корневому каталогу на сервере, где размещено хранилище данныхприложения //путь к корневому каталогу на сервере, где размещено хранилище данныхприложения
private Path rootPath; private String rootPath;
//путь относительно корневого каталога //путь относительно корневого каталога
private Path relativePath; private String relativePath;
//абсолютный путь к файлу или директории на сервере //абсолютный путь к файлу или директории на сервере
private Path absolutePath; private String absolutePath;
//размер файла в байтах //размер файла в байтах
private Long size; private Long size;
//дата создания файла или директории //дата создания файла или директории
private LocalDateTime createdDate; private Date createdDate;
//дата последнего изенения файла или директории //дата последнего изенения файла или директории
private LocalDateTime lastModifiedDate; private Date lastModifiedDate;
//пользователь - владелец файла или директории //пользователь - владелец файла или директории
private String owner; private String owner;
@ -50,7 +57,7 @@ public class FileMetadata {
* *
* @return Возвращает true, если текущий объект является директорией * @return Возвращает true, если текущий объект является директорией
*/ */
public boolean isDirectory() { // public boolean isDirectory() {
return type.equals("directory"); // return type.equals("directory");
} // }
} }

44
source/src/main/java/gsp/technologies/source/models/Organization.java

@ -1,44 +0,0 @@
package gsp.technologies.source.models;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Сущность для хранения сведений об организации - контрагенте
* - ПСК
*/
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Data
public class Organization {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;
private String ownership;//Форма собственности ПСК
private String nameShort;//Сокращенное наименование
private String nameFull;//Полное наименование
private String type;//вид ПСК - производственная/сервисная
private String inn;//ИНН организации
/**
* подготовить конструкторы на все варианты внесения информации о преподавателях
* @param ownership
* @param name_short
* @param name_full
* @param type
* @param inn
*/
public Organization(String ownership, String name_short, String name_full, String type, String inn) {
this.ownership = ownership;
this.nameShort = name_short;
this.nameFull = name_full;
this.type = type;
this.inn = inn;
}
}

17
source/src/main/java/gsp/technologies/source/models/Post.java

@ -2,16 +2,33 @@ package gsp.technologies.source.models;
import java.io.Serializable; import java.io.Serializable;
import org.hibernate.annotations.OnDelete;
import org.hibernate.annotations.OnDeleteAction;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.OneToOne;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@Entity
@Data @Data
public class Post implements Serializable { public class Post implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id; private Long id;
private String type;//тип документа (реестр/ списочный состав/ прочее) private String type;//тип документа (реестр/ списочный состав/ прочее)
@OneToOne(fetch = FetchType.EAGER, optional = false)
@JoinColumn(name = "metadata", referencedColumnName = "id")
@OnDelete(action = OnDeleteAction.CASCADE)
private FileMetadata metadata; private FileMetadata metadata;
public Post(String type, FileMetadata metadata) { public Post(String type, FileMetadata metadata) {

32
source/src/main/java/gsp/technologies/source/models/Program.java

@ -1,32 +0,0 @@
package gsp.technologies.source.models;
import org.hibernate.annotations.OnDelete;
import org.hibernate.annotations.OnDeleteAction;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToOne;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Data
public class Program {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;
private String name;//Наименование
private Integer lenght;//длительность программы
private String studyDirection;//направление обучения: обязательное-производственное (учесть в ограничениях)
private Integer price;
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@OnDelete(action = OnDeleteAction.SET_NULL)
private ProgramCretarea cretarea;
}

42
source/src/main/java/gsp/technologies/source/models/ProgramCretarea.java

@ -1,42 +0,0 @@
package gsp.technologies.source.models;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Сущность критериев программы обучения:
* - от
* - в
* - стр
* - птм
* - итд ...
*
* Одному критерию может соответствовать группа программ обучения.
*/
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Data
public class ProgramCretarea {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;
private String name;//Наименование
private String nameShort;//Наименование : сокращенно
/**
* подготовить конструкторы на все варианты внесения информации о преподавателях
*
* @param name
* @param name_short
*/
public ProgramCretarea(String name, String nameShort) {
this.name = name;
this.nameShort = nameShort;
}
}

44
source/src/main/java/gsp/technologies/source/models/Student.java

@ -1,44 +0,0 @@
package gsp.technologies.source.models;
import java.util.Date;
import org.hibernate.annotations.OnDelete;
import org.hibernate.annotations.OnDeleteAction;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToOne;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Сведения об обученных
*/
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Data
public class Student {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;
private String firstName;//Имя
private String secondName;//Отчество
private String lastName;//Фамилия
private String profession;//Профессия
private String category;//Категория (ИТР или рабочий)
private String direction;//Структурное подразделение
private String snils;//СНИЛС
private Date berth;//Дата рождения
private String sitizenship;//Гражданство
private String sex;//Пол (м/ж)
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@OnDelete(action = OnDeleteAction.SET_NULL)
private Organization organization;//Организация - работодатель
}

72
source/src/main/java/gsp/technologies/source/models/Teacher.java

@ -1,72 +0,0 @@
package gsp.technologies.source.models;
import gsp.technologies.source.teh.strings.Naimer;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Сущьность преподавателя
* добавить данные:
* - телефоны (список)
* - эл почты (список)
* - программы которые преподает
* - график работы
* - основное место работы (офис, наимеование ОП)
*/
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Data
public class Teacher{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;
private String secondName;//Фамилия
private String firstName;//Имя
private String lastName;//Отчество
private String employeeId;
private String snils;
// подготовить конструкторы на все варианты внесения информации о преподавателях
public Teacher(String second_name, String first_name, String last_name){
setSecondName(second_name);
setFirstName(first_name);
setLastName(last_name);
}
public Teacher(String fio){
setSecondName(Naimer.getSecondNameOf(fio));
setFirstName(Naimer.getFirstNameOf(fio));
setLastName(Naimer.getLastNameOf(fio));
}
public String fio(){
return Naimer.getFioOf(this);
}
/**
* проверка совпадения ФИО
* @param teacher
* @return
*/
public boolean like(Teacher teacher) {
return this.fio().equals(teacher.fio());
}
/**
* проверка совпадения всех полей кроме id
* @param teacher
* @return
*/
public boolean isSimilar(Teacher teacher) {
return this.fio().equals(teacher.fio())&&
this.getEmployeeId().equals(teacher.getEmployeeId())&&
this.getSnils().equals(teacher.getSnils());
}
}

5
source/src/main/java/gsp/technologies/source/repositories/FileMetadataRepository.java

@ -1,7 +1,5 @@
package gsp.technologies.source.repositories; package gsp.technologies.source.repositories;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
@ -9,6 +7,5 @@ import gsp.technologies.source.models.FileMetadata;
@Repository @Repository
public interface FileMetadataRepository extends JpaRepository<FileMetadata, Long> { public interface FileMetadataRepository extends JpaRepository<FileMetadata, Long> {
FileMetadata findById(long id);
Page<FileMetadata> findById(PageRequest of, Long id);
} }

51
source/src/main/java/gsp/technologies/source/teh/strings/Arrayer.java

@ -1,51 +0,0 @@
package gsp.technologies.source.teh.strings;
import java.util.List;
public class Arrayer {
/**
* Удаляет все пустые строки из массива строк и возвращает новый массив с оставшимися строками.
*
* @param strings Массив строк из которогу удаляются пустые строки.
* @return Новый массив с оставшимися строками.
*/
public static String[] removeEmptyStrings(String[] strings) {
// Подсчет количества непустых строк в входном массиве
int count = 0;
for (String string : strings) {
if (!string.equals("")) {
count++;
}
}
// Новый массив для хранения непустых строк
String[] result = new String[count];
// Копирование непустых строк из входного массива в новый массив
int index = 0;
for (String string : strings) {
if (!string.equals("")) {
result[index] = string;
index++;
}
}
// Возвращение нового массива с непустыми строками
return result;
}
/**
* Удаление повторяющихся элементов списка строк
* Получение списка уникальных строк
*
*/
public static List<String> uniqueList(List<String> list) {
// Удаление повторяющихся элементов списка
List<String> result = list.stream().distinct().toList();
return result;
}
}

16
source/src/main/java/gsp/technologies/source/teh/strings/Dater.java

@ -1,16 +0,0 @@
package gsp.technologies.source.teh.strings;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
/**
* Обработка строк с датами
*/
public class Dater {
private Long longDate;
private String stringDate;
private Date date;
private LocalDate localDate;
private LocalDateTime localDateTime;
}

237
source/src/main/java/gsp/technologies/source/teh/strings/Naimer.java

@ -1,237 +0,0 @@
package gsp.technologies.source.teh.strings;
import gsp.technologies.source.models.Teacher;
/**
* Обработка строк, содержащих сведения о ФИО
* - Teacher
* - Student
* - Person
*/
public class Naimer {
private static String not = "Нет";
/**
* Объединяет фамилию, имя и отчество в одну строку.
* Возможые ситуации:
* - фамилия, имя или отчество могут содержать нулевые значения
* - отчество может содержать приписки
*
* @param second_name - фамилия
* @param first_name - имя
* @param last_name - отчество
* @return объединенную строку или пустую строку,
* если все входящие параметры являются нулевыми значениями
*/
public static String getFioOf(String second_name, String first_name, String last_name) {
// Инициализируем StringBuilder для хранения результата.
StringBuilder result = new StringBuilder();
// Проверяем, является ли фамилия нулевым значением.
if (!Stringer.checkForEmpty(second_name)) {
// Если фамилия не является нулевым значением, то добавляем ее в строку.
result.append(second_name);
} else {
// Если фамилия является нулевым значением, то добавляем "Нет" в строку.
result.append(not);
}
// Проверяем, является ли имя нулевым значением.
if (!Stringer.checkForEmpty(first_name)) {
// Если имя не является нулевым значением, то добавляем пробел и имя в строку.
result.append(" " + first_name);
} else {
// Если имя является нулевым значением, то добавляем "Нет" в строку.
result.append(" " + not);
}
// Проверяем, является ли отчество нулевым значением.
if (!Stringer.checkForEmpty(last_name)) {
// Если отчество не является нулевым значением, то добавляем пробел и отчество в строку.
result.append(" " + last_name);
} else {
// Если отчество является нулевым значением, то добавляем "Нет" в строку.
result.append(" " + not);
}
// Возвращаем объединенную строку или строку "Нет Нет Нет",
//если все входящие параметры являются нулевыми значениями.
return result.toString().trim();
}
/**
* Объединяет фамилию, имя и отчество из объекта преподавателя в одну строку.
* Возможные ситуации:
* - фамилия, имя или отчество могут содержать нулевые значения
* - отчество может содержать приписки
*
* @param teacher - объект преподавателя
* @return объединенная строка или строка "Нет Нет Нет",
* если все входящие параметры являются нулевыми значениями
*/
public static String getFioOf(Teacher teacher) {
// Инициализируем StringBuilder для хранения результата.
StringBuilder result = new StringBuilder();
// Проверяем, является ли фамилия нулевым значением.
if (!Stringer.checkForEmpty(teacher.getSecondName())) {
// Если фамилия не является нулевым значением, то добавляем ее в строку.
result.append(teacher.getSecondName());
} else {
// Если фамилия является нулевым значением, то добавляем "Нет" в строку.
result.append(not);
}
// Проверяем, является ли имя нулевым значением.
if (!Stringer.checkForEmpty(teacher.getFirstName())) {
// Если имя не является нулевым значением, то добавляем пробел и имя в строку.
result.append(" " + teacher.getFirstName());
} else {
// Если имя является нулевым значением, то добавляем "Нет" в строку.
result.append(" " + not);
}
// Проверяем, является ли отчество нулевым значением.
if (!Stringer.checkForEmpty(teacher.getLastName())) {
// Если отчество не является нулевым значением, то добавляем пробел и отчество в строку.
result.append(" " + teacher.getLastName());
} else {
// Если отчество является нулевым значением, то добавляем "Нет" в строку.
result.append(" " + not);
}
// Возвращаем объединенную строку или строку "Нет Нет Нет", если все входящие параметры
// являются нулевыми значениями.
return result.toString().trim();
}
/**
* Извлекает фамилию из строки, содержащей полное имя (ФИО).
* Строка ФИО может содержать:
* - пустую строку (null, empty, "")
* - одно слово (фамилия, "Нет", односложный комментарий)
* - два слова (фамилия, имя, "Нет")
* - три слова (фамилия, имя, отчество, "Нет")
* - четыре слова (фамилия, имя, отчество, постфикс отчества, комментарии)
* - и более.
*
* Все слова начиная с пятого однозначно являются бесполезным наполнением, однако
* такие слова должны включены в строку отчества, если они есть.
*
* Строка может быть извлечена из xlsx файла
* или сгенерирована из данныых содержащихся в базе данных
*
* @param fio строка, содержащая ФИО
* @return строка, содержащая первое слово из fio которое является фамилией или содержит слово "Нет"
*/
public static String getSecondNameOf(String fio) {
// Инициализируем StringBuilder для хранения результата.
StringBuilder result = new StringBuilder();
// Проверяем, является ли строка null, пустой строкой или состоит только из пробелов.
if (Stringer.checkForEmpty(fio)) {
// Если строка является нулевым значением, то добавляем "Нет" в строку.
result.append(not);
} else {
//убираем пробелы в начале и в конце строки
fio = fio.trim();
// Разделяем строку на пробелы и возвращаем первую часть, которая как ожидается является фамилией
result.append(fio.split(" ")[0]);
}
// Возвращаем первое слово в строке или строку "Нет"
return result.toString().trim();
}
/**
* Извлекает имя (фамилия, имя или отчество) из строки, предположительно содержащей только одно слово.
* - проверяет не пустая ли строка, если нет, то добавляет "Нет"
* - очищает строку от лишних пробельных символов
* - возвращает имя или "Нет"
*
* @param name
* @return name
*/
public static String getNameOf(String name) {
// Проверяем, является ли строка null, пустой строкой или состоит только из пробелов.
if (Stringer.checkForEmpty(name)) {
// Если строка является нулевым значением, то добавляем "Нет" в строку.
return not;
} else {
//очищаем строку
name = Stringer.clear(name);
// возвращаем имя
return name;
}
}
/**
* Извлекает имя из строки, содержащей полное имя (ФИО).
*
* @param fio строка, содержащая ФИО
* @return строка, содержащая второе слово из fio которое является именем или содержит слово "Нет"
*/
public static String getFirstNameOf(String fio) {
// Создаем StringBuilder для хранения результата
StringBuilder result = new StringBuilder();
// Проверяем, является ли строка null, пустой строкой или состоит только из пробелов.
if (Stringer.checkForEmpty(fio)) {
// Если строка является нулевым значением, то добавляем "Нет" в строку.
result.append(not);
} else {
//убираем излишние пробельные символы
fio = Stringer.clear(fio);
// Разбиваем строку по пробелам и пишем слова в массив
String[] strings = fio.split(" ");
// Если массив содержит два или более слов, то второе слово является именем.
if (strings.length > 1) {
// Пишем второе слово в результат
result.append(strings[1].trim());
}else {
// Если массив содержит только одно слово, то добавляем "Нет" в строку.
result.append(not);
}
}
// Возвращаем второе слово в строке или строку "Нет"
return result.toString().trim();
}
/**
* Извлекает отчество из строки, содержащей полное имя (ФИО).
* @param fio строка, содержащая ФИО
* @return строка, содержащая третье слово из fio которое является отчеством\
* или содержит слово "Нет"
* или содержит все слова, содержащиеся в ФИО, за исключением первых двух
*/
public static String getLastNameOf(String fio) {
// Создаем StringBuilder для хранения результата
StringBuilder result = new StringBuilder();
// Проверяем, является ли строка null, пустой строкой или состоит только из пробелов.
if (Stringer.checkForEmpty(fio)) {
// Если строка является нулевым значением, то добавляем "Нет" в строку.
result.append(not);
} else {
//убираем пробелы в начале и в конце строки
fio = fio.trim();
fio = Stringer.clear(fio);
String[] strings = fio.split(" ");
if (strings.length > 2) {
// Пишем третье и последующие слова в результат
for (int i = 2; i < strings.length; i++) {
result.append(strings[i]).append(" ");
}
} else {
// Если массив содержит только два или менее слов, то добавляем "Нет" в строку.
result.append(not);
}
}
// Возвращаем строку ФИО без первых двух слов с удаленными лишними пробелами
return result.toString().trim();
}
}

54
source/src/main/java/gsp/technologies/source/teh/strings/Stringer.java

@ -1,54 +0,0 @@
package gsp.technologies.source.teh.strings;
/**
* Класс для работы со строками
*/
public class Stringer {
/**
* Проверяет, является ли переданная строка null, пустой строкой или состоит только из пробелов.
*
* @param str Строка для проверки
* @return True если строка является null, пустой строкой или состоит только из пробелов
* False в противном случае
*/
public static Boolean checkForEmpty(String str) {
// Check if the string is null
if (str == null) {
return true;
}
// Check if the string is empty or consists only of whitespace characters
if (str.isEmpty() || str.trim().isEmpty()) {
return true;
}
// The string is not null, not empty and does not consist only of whitespace characters
return false;
}
/**
* Удаляет регулярным выражением лишние пробельные символы из строки.
*
* Заменяет знаки переноса строки на пробелы с помощью использования регулярного выражения
* \s+ - пробелы (и все ниже приведенные пробельные символы)
* \t - табуляция
* \v - вертикальная табуляция
* \r - перенос в начало строки
* \n - перенос строки
* \f - форматированный перенос строки
*
* Осавляет по одному пробелу между словами, если слов больше одного
* Возвращает пустую строку, если получена строка null
*
* @param string строка для обработки
* @return строку без лишних пробелов или пустую строку
*/
public static String clear(String string) {
// Проверяем, не является ли строка null. Если строка null, возвращаем пустую строку.
if (string == null) {
return "";
}
// Удаляем лишние пробелы из строки.
return string.replaceAll("\\s+", " ").trim();
}
}

11
source/src/main/resources/application.yaml

@ -3,11 +3,18 @@ server:
spring: spring:
application: application:
name: source name: source
jpa:
hibernate:
ddl-auto: update
# database-platform: org.hibernate.dialect.PostgreSQLDialect
datasource:
url: "jdbc:postgresql://teh-base:5432/teh"
username: teh
password: teh
thymeleaf: thymeleaf:
enabled: true enabled: true
encoding: UTF-8 encoding: UTF-8
mode: LEGACYHTML5 mode: LEGACYHTML5
# Разрешение на формирование скрытых запросов (DELETE)
mvc: mvc:
hiddenmethod: hiddenmethod:
filter: filter:
@ -16,3 +23,5 @@ spring:
date: yyyy-MM-dd date: yyyy-MM-dd
date-time: yyyy-MM-dd HH:mm:ss date-time: yyyy-MM-dd HH:mm:ss
time: HH:mm:ss time: HH:mm:ss

40
storage/logs/teh.log

@ -1,12 +1,28 @@
{"@timestamp":"2024-10-11T06:10:07.994244Z","log.level":"INFO","process.pid":13084,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Starting StorageApplicationTests using Java 17.0.7 with PID 13084 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\storage)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:21:13.742106500Z","log.level":"INFO","process.pid":21856,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Starting StorageApplicationTests using Java 17.0.7 with PID 21856 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\storage)","ecs.version":"8.11"}
{"@timestamp":"2024-10-11T06:10:08.012254100Z","log.level":"INFO","process.pid":13084,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:21:13.758258200Z","log.level":"INFO","process.pid":21856,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-11T06:10:08.913700800Z","log.level":"INFO","process.pid":13084,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.services.FileServiceImpl","message":"Создание директории root(), для хранения файлов: C:\\Users\\devuser\\Documents\\code\\teh\\storage\\uploads","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:21:14.725419100Z","log.level":"INFO","process.pid":21856,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.services.FileServiceImpl","message":"Создание директории root(), для хранения файлов: C:\\Users\\devuser\\Documents\\code\\teh\\storage\\uploads","ecs.version":"8.11"}
{"@timestamp":"2024-10-11T06:10:09.780682400Z","log.level":"INFO","process.pid":13084,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Started StorageApplicationTests in 2.237 seconds (process running for 3.3)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:21:15.571617100Z","log.level":"INFO","process.pid":21856,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Started StorageApplicationTests in 2.287 seconds (process running for 3.355)","ecs.version":"8.11"}
{"@timestamp":"2024-10-11T06:35:21.950719700Z","log.level":"INFO","process.pid":8196,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Starting StorageApplicationTests using Java 17.0.7 with PID 8196 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\storage)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:23:14.946336Z","log.level":"INFO","process.pid":21912,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Starting StorageApplicationTests using Java 17.0.7 with PID 21912 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\storage)","ecs.version":"8.11"}
{"@timestamp":"2024-10-11T06:35:21.956727800Z","log.level":"INFO","process.pid":8196,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:23:14.951982200Z","log.level":"INFO","process.pid":21912,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-11T06:35:22.854946600Z","log.level":"INFO","process.pid":8196,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.services.FileServiceImpl","message":"Создание директории root(), для хранения файлов: C:\\Users\\devuser\\Documents\\code\\teh\\storage\\uploads","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:23:15.867421800Z","log.level":"INFO","process.pid":21912,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.services.FileServiceImpl","message":"Создание директории root(), для хранения файлов: C:\\Users\\devuser\\Documents\\code\\teh\\storage\\uploads","ecs.version":"8.11"}
{"@timestamp":"2024-10-11T06:35:23.702006500Z","log.level":"INFO","process.pid":8196,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Started StorageApplicationTests in 2.194 seconds (process running for 3.32)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T08:23:16.800341300Z","log.level":"INFO","process.pid":21912,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Started StorageApplicationTests in 2.321 seconds (process running for 3.429)","ecs.version":"8.11"}
{"@timestamp":"2024-10-11T07:10:32.899864600Z","log.level":"INFO","process.pid":6096,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Starting StorageApplicationTests using Java 17.0.7 with PID 6096 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\storage)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T11:23:37.404441200Z","log.level":"INFO","process.pid":18104,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Starting StorageApplicationTests using Java 17.0.7 with PID 18104 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\storage)","ecs.version":"8.11"}
{"@timestamp":"2024-10-11T07:10:32.906864100Z","log.level":"INFO","process.pid":6096,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"} {"@timestamp":"2024-10-16T11:23:37.409409500Z","log.level":"INFO","process.pid":18104,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-11T07:10:33.959310800Z","log.level":"INFO","process.pid":6096,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.services.FileServiceImpl","message":"Создание директории root(), для хранения файлов: C:\\Users\\devuser\\Documents\\code\\teh\\storage\\uploads","ecs.version":"8.11"} {"@timestamp":"2024-10-16T11:23:38.350424Z","log.level":"INFO","process.pid":18104,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.services.FileServiceImpl","message":"Создание директории root(), для хранения файлов: C:\\Users\\devuser\\Documents\\code\\teh\\storage\\uploads","ecs.version":"8.11"}
{"@timestamp":"2024-10-11T07:10:34.884139900Z","log.level":"INFO","process.pid":6096,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Started StorageApplicationTests in 2.442 seconds (process running for 3.562)","ecs.version":"8.11"} {"@timestamp":"2024-10-16T11:23:39.216589900Z","log.level":"INFO","process.pid":18104,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Started StorageApplicationTests in 2.247 seconds (process running for 3.373)","ecs.version":"8.11"}
{"@timestamp":"2024-10-16T11:28:35.119081100Z","log.level":"INFO","process.pid":18248,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Starting StorageApplicationTests using Java 17.0.7 with PID 18248 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\storage)","ecs.version":"8.11"}
{"@timestamp":"2024-10-16T11:28:35.128050900Z","log.level":"INFO","process.pid":18248,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-16T11:28:36.181410500Z","log.level":"INFO","process.pid":18248,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.services.FileServiceImpl","message":"Создание директории root(), для хранения файлов: C:\\Users\\devuser\\Documents\\code\\teh\\storage\\uploads","ecs.version":"8.11"}
{"@timestamp":"2024-10-16T11:28:37.101191800Z","log.level":"INFO","process.pid":18248,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Started StorageApplicationTests in 2.512 seconds (process running for 3.595)","ecs.version":"8.11"}
{"@timestamp":"2024-10-16T11:32:24.309421200Z","log.level":"INFO","process.pid":19076,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Starting StorageApplicationTests using Java 17.0.7 with PID 19076 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\storage)","ecs.version":"8.11"}
{"@timestamp":"2024-10-16T11:32:24.318421400Z","log.level":"INFO","process.pid":19076,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-16T11:32:25.250442400Z","log.level":"INFO","process.pid":19076,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.services.FileServiceImpl","message":"Создание директории root(), для хранения файлов: C:\\Users\\devuser\\Documents\\code\\teh\\storage\\uploads","ecs.version":"8.11"}
{"@timestamp":"2024-10-16T11:32:26.081411600Z","log.level":"INFO","process.pid":19076,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Started StorageApplicationTests in 2.202 seconds (process running for 3.248)","ecs.version":"8.11"}
{"@timestamp":"2024-10-16T11:34:18.194683100Z","log.level":"INFO","process.pid":23484,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Starting StorageApplicationTests using Java 17.0.7 with PID 23484 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\storage)","ecs.version":"8.11"}
{"@timestamp":"2024-10-16T11:34:18.202687300Z","log.level":"INFO","process.pid":23484,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-16T11:34:19.175960300Z","log.level":"INFO","process.pid":23484,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.services.FileServiceImpl","message":"Создание директории root(), для хранения файлов: C:\\Users\\devuser\\Documents\\code\\teh\\storage\\uploads","ecs.version":"8.11"}
{"@timestamp":"2024-10-16T11:34:19.983861300Z","log.level":"INFO","process.pid":23484,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Started StorageApplicationTests in 2.235 seconds (process running for 3.356)","ecs.version":"8.11"}
{"@timestamp":"2024-10-16T11:59:36.870769800Z","log.level":"INFO","process.pid":23472,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Starting StorageApplicationTests using Java 17.0.7 with PID 23472 (started by devuser in C:\\Users\\devuser\\Documents\\code\\teh\\storage)","ecs.version":"8.11"}
{"@timestamp":"2024-10-16T11:59:36.877780500Z","log.level":"INFO","process.pid":23472,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"No active profile set, falling back to 1 default profile: \"default\"","ecs.version":"8.11"}
{"@timestamp":"2024-10-16T11:59:37.800457400Z","log.level":"INFO","process.pid":23472,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.services.FileServiceImpl","message":"Создание директории root(), для хранения файлов: C:\\Users\\devuser\\Documents\\code\\teh\\storage\\uploads","ecs.version":"8.11"}
{"@timestamp":"2024-10-16T11:59:38.727703800Z","log.level":"INFO","process.pid":23472,"process.thread.name":"main","service.name":"face","service.version":"1","service.environment":"Production","service.node.name":"Primary","log.logger":"gsp.technologies.storage.StorageApplicationTests","message":"Started StorageApplicationTests in 2.319 seconds (process running for 3.408)","ecs.version":"8.11"}

BIN
storage/logs/teh.log.2024-10-04.0.gz

Binary file not shown.

BIN
storage/logs/teh.log.2024-10-07.0.gz

Binary file not shown.

BIN
storage/logs/teh.log.2024-10-08.0.gz

Binary file not shown.

BIN
storage/logs/teh.log.2024-10-11.0.gz

Binary file not shown.

28
storage/src/main/java/gsp/technologies/storage/models/FileMetadata.java

@ -1,11 +1,8 @@
package gsp.technologies.storage.models; package gsp.technologies.storage.models;
import java.nio.file.Files; import java.io.Serializable;
import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.Paths; import java.util.Date;
import java.time.LocalDateTime;
import java.util.Collections;
import java.util.List;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -33,7 +30,10 @@ import lombok.NoArgsConstructor;
*/ */
@NoArgsConstructor @NoArgsConstructor
@Data @Data
public class FileMetadata { public class FileMetadata implements Serializable {
//идентификатор объекта
private Long id;
//имя файла //имя файла
private String name; private String name;
@ -41,22 +41,22 @@ public class FileMetadata {
private String extension; private String extension;
//путь к корневому каталогу на сервере, где размещено хранилище данныхприложения //путь к корневому каталогу на сервере, где размещено хранилище данныхприложения
private Path rootPath; private String rootPath;
//путь относительно корневого каталога //путь относительно корневого каталога
private Path relativePath; private String relativePath;
//абсолютный путь к файлу или директории на сервере //абсолютный путь к файлу или директории на сервере
private Path absolutePath; private String absolutePath;
//размер файла в байтах //размер файла в байтах
private Long size; private Long size;
//дата создания файла или директории //дата создания файла или директории
private LocalDateTime createdDate; private Date createdDate;
//дата последнего изенения файла или директории //дата последнего изенения файла или директории
private LocalDateTime lastModifiedDate; private Date lastModifiedDate;
//пользователь - владелец файла или директории //пользователь - владелец файла или директории
private String owner; private String owner;
@ -72,7 +72,7 @@ public class FileMetadata {
* *
* @return Возвращает true, если текущий объект является директорией * @return Возвращает true, если текущий объект является директорией
*/ */
public boolean isDirectory() { // public boolean isDirectory() {
return type.equals("directory"); // return type.equals("directory");
} // }
} }

4
storage/src/main/java/gsp/technologies/storage/models/xlsx/Xlsx.java

@ -112,7 +112,7 @@ public class Xlsx {
return map; return map;
} }
File file = metadata.getAbsolutePath().toFile(); File file = new File(metadata.getAbsolutePath());
LOG.info("размер файла: " + metadata.getSize()); LOG.info("размер файла: " + metadata.getSize());
LOG.info("Страница: " + pageNumber); LOG.info("Страница: " + pageNumber);
try (FileInputStream is = new FileInputStream(file)) { try (FileInputStream is = new FileInputStream(file)) {
@ -148,7 +148,7 @@ public class Xlsx {
*/ */
public Integer totalLines() { public Integer totalLines() {
int count = 0; int count = 0;
try (FileInputStream is = new FileInputStream(metadata.getAbsolutePath().toFile())) { try (FileInputStream is = new FileInputStream(new File(metadata.getAbsolutePath()))) {
XSSFWorkbook wb = new XSSFWorkbook(is); XSSFWorkbook wb = new XSSFWorkbook(is);
XSSFSheet sheet = wb.getSheetAt(0); XSSFSheet sheet = wb.getSheetAt(0);
// count = sheet.getLastRowNum(); // count = sheet.getLastRowNum();

5
storage/src/main/java/gsp/technologies/storage/services/FileService.java

@ -2,6 +2,7 @@ package gsp.technologies.storage.services;
import java.nio.file.Path; import java.nio.file.Path;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date;
import java.util.List; import java.util.List;
import org.springframework.core.io.Resource; import org.springframework.core.io.Resource;
@ -32,8 +33,8 @@ public interface FileService {
Long size(Path path); Long size(Path path);
// Path path(String name); // Path path(String name);
Path absolute(Path relative); Path absolute(Path relative);
LocalDateTime created(Path path); Date created(Path path);
LocalDateTime modified(Path path); Date modified(Path path);
String owner(Path path); String owner(Path path);
String type(Path path); String type(Path path);
String permissions(Path path); String permissions(Path path);

27
storage/src/main/java/gsp/technologies/storage/services/FileServiceImpl.java

@ -9,11 +9,11 @@ import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.nio.file.StandardCopyOption; import java.nio.file.StandardCopyOption;
import java.nio.file.attribute.BasicFileAttributes; import java.nio.file.attribute.BasicFileAttributes;
import java.time.Instant;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneId; import java.time.ZoneId;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Comparator; import java.util.Comparator;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -321,15 +321,18 @@ public class FileServiceImpl implements FileService {
* @return LocalDateTime время создания, если получилось извлечь из метаданных, * @return LocalDateTime время создания, если получилось извлечь из метаданных,
* иначе LocalDateTime.now() * иначе LocalDateTime.now()
*/ */
public LocalDateTime created(Path path) { public Date created(Path path) {
BasicFileAttributes attributes; BasicFileAttributes attributes;
try { try {
attributes = Files.readAttributes(path, BasicFileAttributes.class); attributes = Files.readAttributes(path, BasicFileAttributes.class);
return Instant.ofEpochMilli(attributes.creationTime().toMillis()).atZone(ZoneId.systemDefault()).toLocalDateTime(); // return Instant.ofEpochMilli(attributes.creationTime().toMillis()).atZone(ZoneId.systemDefault()).toLocalDate();
return new Date(attributes.creationTime().toMillis());
} catch (IOException e) { } catch (IOException e) {
log.error("Не удалось получить метаданные для файла {}", filename(path)); log.error("Не удалось получить метаданные для файла {}", filename(path));
return LocalDateTime.now(); return Date.from(LocalDateTime.now()
.atZone(ZoneId.systemDefault())
.toInstant());
} }
} }
@ -339,14 +342,18 @@ public class FileServiceImpl implements FileService {
* @return LocalDateTime время изменения, если получилось извлечь из метаданных, * @return LocalDateTime время изменения, если получилось извлечь из метаданных,
* иначе LocalDateTime.now() * иначе LocalDateTime.now()
*/ */
public LocalDateTime modified(Path path){ public Date modified(Path path){
BasicFileAttributes attributes; BasicFileAttributes attributes;
try { try {
attributes = Files.readAttributes(path, BasicFileAttributes.class); attributes = Files.readAttributes(path, BasicFileAttributes.class);
return Instant.ofEpochMilli(attributes.lastModifiedTime().toMillis()).atZone(ZoneId.systemDefault()).toLocalDateTime(); return new Date(attributes.lastModifiedTime().toMillis());
} catch (IOException e) { } catch (IOException e) {
log.error("Не удалось получить метаданные для файла {}", filename(path)); log.error("Не удалось получить метаданные для файла {}", filename(path));
return LocalDateTime.now(); // return LocalDateTime.now();
return Date.from(LocalDateTime.now()
.atZone(ZoneId.systemDefault())
.toInstant());
} }
} }
public String owner(Path path){ public String owner(Path path){
@ -401,9 +408,9 @@ public class FileServiceImpl implements FileService {
meta.setName(filename(relative)); meta.setName(filename(relative));
meta.setExtension(extansion(relative)); meta.setExtension(extansion(relative));
meta.setRootPath(root()); meta.setRootPath(root().toString());
meta.setRelativePath(relative); meta.setRelativePath(relative.toString());
meta.setAbsolutePath(absolute); meta.setAbsolutePath(absolute.toString());
meta.setSize(size(absolute)); meta.setSize(size(absolute));
meta.setCreatedDate(created(absolute)); meta.setCreatedDate(created(absolute));
meta.setLastModifiedDate(modified(absolute)); meta.setLastModifiedDate(modified(absolute));

Loading…
Cancel
Save